Sensor Grove Temp&Humi (SHT40)
Nesta seção, detalharemos como os sensores funcionam, como obter dados do sensor usando o Wio Terminal e como enviar esses dados usando o Wio Terminal & Grove - Wio-E5.
Atualizável para sensores industriais
Com o controlador SenseCAP S2110 controller e o S2100 data logger, você pode facilmente transformar o Grove em um sensor LoRaWAN®. A Seeed não só ajuda você na prototipagem, como também oferece a possibilidade de expandir seu projeto com a série SenseCAP de robustos sensores industriais.
A carcaça IP66, configuração via Bluetooth, compatibilidade com a rede global LoRaWAN®, bateria interna de 19 Ah e o poderoso suporte do APP tornam o SenseCAP S210x a melhor escolha para aplicações industriais. A série inclui sensores para umidade do solo, temperatura e umidade do ar, intensidade luminosa, CO2, EC e uma estação meteorológica 8 em 1. Experimente o mais recente SenseCAP S210x em seu próximo projeto industrial de sucesso.
Princípio de funcionamento dos sensores
A temperatura SHT40 é medida usando um método de termopar. Um termopar consiste em dois tipos de fios metálicos de materiais diferentes. Uma extremidade dos dois fios é soldada para formar a extremidade de trabalho, que é colocada na temperatura a ser medida. A outra extremidade é chamada de extremidade livre e é conectada ao controle principal para formar um circuito fechado. Quando a temperatura da extremidade de trabalho e da extremidade livre é diferente, um potencial termoelétrico aparecerá no circuito, e a variação dessa tensão será enviada ao SCM por meio da conversão do circuito e transformada em um sinal que pode ser reconhecido pela máquina.
A umidade SHT40 é medida usando um filme de polímero de poliamina ou acetato (um composto altamente fracionado) depositado em dois eletrodos condutivos. Quando o filme absorve ou perde água, ele altera a constante dielétrica entre os dois eletrodos, o que, por sua vez, causa uma mudança na capacidade do capacitor. A variação da capacitância pode ser capturada e convertida usando circuitos de medição externos e, por fim, exibida como um sinal de fácil identificação na saída.

Para mais informações sobre o uso do Grove Temp&Humi Sensor consulte a referência aqui.
Materiais necessários
![]() | ![]() | ![]() |
| Wio Terminal | Grove - Wio-E5 | Sensor Grove Temp&Humi (SHT40) |
Preparação preliminar
Conexão
Nesta rotina, precisamos nos conectar a um gateway LoRa® próximo com a ajuda do Grove - Wio-E5. Precisamos configurar a porta Grove no lado direito do Wio Terminal como uma porta serial por software para receber comandos AT. O Grove Temp&Humi Sensor (no lado esquerdo) deve ser conectado de acordo com o diagrama abaixo.

Preparação de software
Passo 1. Você precisa instalar o software Arduino.
Passo 2. Inicie o aplicativo Arduino.

Passo 3. Adicione o Wio Terminal à IDE Arduino.
Abra sua IDE Arduino, clique em File > Preferences e copie a URL abaixo em Additional Boards Manager URLs:
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

Clique em Tools > Board > Board Manager e pesquise Wio Terminal no Boards Manager.

Passo 4. Selecione sua placa e porta
Você precisará selecionar a entrada no menu Tools > Board que corresponde ao seu Arduino. Selecione o Wio Terminal.

Selecione o dispositivo serial da placa Wio Terminal no menu Tools -> Port. Provavelmente será COM3 ou superior (COM1 e COM2 geralmente são reservadas para portas seriais de hardware). Para descobrir, você pode desconectar sua placa Wio Terminal e reabrir o menu; a entrada que desaparecer deverá ser a placa Arduino. Reconecte a placa e selecione essa porta serial.
Para usuário Mac, será algo como /dev/cu.usbmodem141401.
Se você não conseguir enviar o sketch, geralmente é porque o Arduino IDE não conseguiu colocar o Wio Terminal em modo bootloader. (Porque o MCU foi interrompido ou o seu programa está manipulando o USB.) A solução alternativa é colocar o seu Wio Terminal em modo bootloader manualmente.

Passo 5. Baixar a biblioteca Grove - Wio-E5
Visite o repositório Disk91_LoRaE5 e baixe todo o repositório para o seu disco local.
Passo 6. Adicionando bibliotecas ao Arduino IDE
Agora, a biblioteca do Acelerômetro Digital de 3 Eixos pode ser instalada no Arduino IDE. Abra o Arduino IDE e clique em sketch -> Include Library -> Add .ZIP Library, e escolha o arquivo Disk91_LoRaE5 que você acabou de baixar.

Obter o valor do Grove Temp&Humi Sensor (SHT40)
Passo 1. Baixar a biblioteca de código do Grove Temp&Humi Sensor
Visite o repositório arduino-i2c-sht4x e baixe todo o repositório para o seu disco local.
Visite o repositório Sensirion Arduino Core Library e baixe todo o repositório para o seu disco local.
Passo 2. Adicionando bibliotecas ao Arduino IDE
Agora, a biblioteca do Grove Temp&Humi Sensor pode ser instalada no Arduino IDE. Abra o Arduino IDE e clique em sketch -> Include Library -> Add .ZIP Library, e escolha o arquivo arduino-i2c-sht4x que você acabou de baixar.

Passo 3. Obter dados de temperatura e umidade do SHT40
Este repositório mostra os dados de temperatura e umidade obtidos. No código, usamos a função measureHighPrecision() para obter as informações de temperatura e umidade, que são positivas e em ponto flutuante.
#include <Arduino.h>
#include <SensirionI2CSht4x.h>
#include <Wire.h>
SensirionI2CSht4x sht4x;
void setup() {
Serial.begin(115200);
while (!Serial) {
delay(100);
}
Wire.begin();
uint16_t error;
char errorMessage[256];
sht4x.begin(Wire);
uint32_t serialNumber;
error = sht4x.serialNumber(serialNumber);
if (error) {
Serial.print("Error trying to execute serialNumber(): ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
} else {
Serial.print("Serial Number: ");
Serial.println(serialNumber);
}
}
void loop() {
uint16_t error;
char errorMessage[256];
delay(1000);
float temperature;
float humidity;
error = sht4x.measureHighPrecision(temperature, humidity);
if (error) {
Serial.print("Error trying to execute measureHighPrecision(): ");
errorToString(error, errorMessage, 256);
Serial.println(errorMessage);
} else {
Serial.print("Temperature:");
Serial.print(temperature);
Serial.print("\t");
Serial.print("Humidity:");
Serial.println(humidity);
}
}
Abra o monitor serial do Arduino IDE, selecione a taxa de transmissão como 115200 e observe o resultado.

Enviar dados via Grove - Wio-E5
Combinamos o código anterior do Grove - Wio-E5 para conectar à rede LoRa®. Usando o comando AT é possível enviar o valor do Grove Temp&Humi Sensor para a rede LoRa®.
No código da seção anterior, sabemos que os valores de temperatura e umidade são geralmente uma combinação de dois inteiros e dois decimais, e todos são positivos, em ponto flutuante.
Devido às limitações de envio de dados, precisamos resolver o problema de converter números em ponto flutuante para inteiros no lado do envio para garantir que os dados enviados sejam inteiros, então multiplicamos todos os valores de temperatura e umidade por 100.
Dessa forma, determinamos o conteúdo, tamanho e formato dos dados a serem enviados via comando AT. Podemos muito bem definir um array grande o suficiente, armazenar as strings que precisamos enviar nesse array e, finalmente, usar a função send_sync() para enviar o array.
O pseudocódigo para a ideia acima é aproximadamente o seguinte.
......
error = sht4x.measureHighPrecision(temperature, humidity);
int_temp = temperature*100;
int_humi = humidity*100;
static uint8_t data[4] = { 0x00 }; //Use the data[] to store the values of the sensors
data_decord(int_temp, int_humi, data);
if ( lorae5.send_sync( //Sending the sensor values out
8, // LoRaWan Port
data, // data array
sizeof(data), // size of the data
false, // we are not expecting a ack
7, // Spread Factor
14 // Tx Power in dBm
)
)
......
O restante do que precisamos fazer é usar a função begin() para inicializar o Grove - Wio-E5 e a função setup() para configurar as informações do triplete do Grove - Wio-E5. Quando enviamos uma mensagem de dados usando a função send_sync(), tentaremos ingressar no LoRaWAN® ao mesmo tempo e, assim que for bem-sucedido, os dados serão enviados e informações como intensidade do sinal e endereço serão retornadas.
O exemplo completo de código pode ser encontrado aqui.
Não recomendamos que você envie o código agora para ver os resultados, porque neste momento você ainda não configurou o Helium/TTN e obterá um resultado de "Join failed". Recomendamos que você envie este código depois de ter concluído o capítulo Connecting to Helium ou Connecting to TTN para completar o processo completo de envio de dados.
Depois de ter experimentado e entendido como o Grove Temp&Humi Sensor funciona e o formato dos dados, continue com o próximo passo do tutorial para ingressar no LoRaWAN®.
| Seção Helium | |
| Introdução ao Helium Neste capítulo, apresentaremos os controles do console Helium que usamos para obter uma primeira impressão do console Helium. Ir para o capítulo > |
| Conectando ao Helium Esta seção descreve como configurar o Helium para que os dados do sensor possam ser carregados e exibidos com sucesso no Helium. Ir para o capítulo > |
| Seção TTN | |
| Introdução ao TTN Neste capítulo, apresentaremos os controles do console TTN que usamos para obter uma primeira impressão do console TTN. Ir para o capítulo > |
| Conectando ao TTN Esta seção descreve como configurar o TTN para que os dados do sensor possam ser enviados com sucesso e exibidos no TTN. Ir para o capítulo > |
Suporte Técnico & Discussão de Produtos
Agradecemos por escolher nossos produtos! Estamos aqui para lhe fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.
Declaração
- A marca LoRa® é uma marca registrada da Semtech Corporation ou de suas subsidiárias.
- LoRaWAN® é uma marca usada sob licença da LoRa Alliance®.















