Índice:

Internet das coisas: Estação meteorológica LoRa: 7 etapas (com fotos)
Internet das coisas: Estação meteorológica LoRa: 7 etapas (com fotos)

Vídeo: Internet das coisas: Estação meteorológica LoRa: 7 etapas (com fotos)

Vídeo: Internet das coisas: Estação meteorológica LoRa: 7 etapas (com fotos)
Vídeo: Internet das coisas móveis para monitoramento ambiental e outras oportunidades de pesquisa em IoT 2024, Novembro
Anonim
Internet das coisas: estação meteorológica LoRa
Internet das coisas: estação meteorológica LoRa
Internet das coisas: estação meteorológica LoRa
Internet das coisas: estação meteorológica LoRa
Internet das coisas: estação meteorológica LoRa
Internet das coisas: estação meteorológica LoRa

Este é um exemplo de um bom projeto LoRa. A estação meteorológica contém um sensor de temperatura, sensor de pressão do ar e sensor de umidade. Os dados são lidos e enviados para Cayenne Mydevices e Weather Underground usando LoRa e The Things Network.

Verifique se existe LoRa Gateway da The Things Network na sua área!

Etapa 1: O Hardware

O Hardware
O Hardware
O Hardware
O Hardware
O Hardware
O Hardware
O Hardware
O Hardware

Para este projeto usei o seguinte hardware:

  • Arduino Pro Mini 328 - 3,3 V / 8 MHz (https://www.sparkfun.com/products/11114)
  • RFM95W (https://www.hoperf.com/rf_transceiver/lora/RFM95W.html) (https://www.aliexpress.com/item/RFM95W-20dBm-100mW-868Mhz-915Mhz-DSSS-spread-spectrum-wireless -transceiver-module-SPI-SMD / 32799536710.html)
  • DHT22 (https://www.aliexpress.com/item/High-Precision-AM2302-DHT22-Digital-Temperature-Humidity-Sensor-Module-For-arduino-Uno-R3/32759158558.html)
  • BME280 (https://www.aliexpress.com/item/I2C-SPI-BMP280-3-3-BMP280-3-3-Digital-Barometric-Pressure-Altitude-Sensor-High-Precision-Atmospheric/32775855945.html)

O total custa menos de 10 dólares.

Etapa 2: a fiação

A fiação
A fiação
A fiação
A fiação
A fiação
A fiação

É aconselhável primeiro testar os sensores em uma placa de ensaio. Portanto, você pode ter certeza de que os sensores funcionam. Você também pode medir o consumo de energia com um multímetro. (Use a biblioteca Low-Power para medir o mínimo)

Primeiro solde os fios no módulo RFM95W e, em seguida, solde-os no Arduino Pro Mini. Em seguida, adicione os sensores. Veja as imagens e o diagrama!

Etapa 3: o revestimento

The Casing
The Casing
The Casing
The Casing
The Casing
The Casing
The Casing
The Casing

Para colocar a estação meteorológica em algum lugar, desenhei uma caixa e imprimi com a impressora 3D.

Os modelos podem ser encontrados no Thingiverse. Claro que você pode fazer sua própria variante.

Etapa 4: o software

O software
O software

O código que usei pode ser encontrado no GitHub:

Usei Atom com PlatformIO para realizar este projeto, então este é um projeto PlatformIO. Eu usei as seguintes bibliotecas:

  • LoraMAC-in-C para Arduino agradece a Thomas Telkamp e Matthijs Kooijman (https://github.com/matthijskooijman/arduino-lmic)
  • CayenneLPP da The Things Network Arduino Library (https://github.com/TheThingsNetwork/arduino-device-lib)
  • Biblioteca de sensor unificado de umidade e temperatura Adafruit DHT (https://github.com/adafruit/DHT-sensor-library)
  • Baixo consumo de energia: biblioteca leve de baixo consumo de energia para Arduino (https://github.com/adafruit/DHT-sensor-library)

Etapa 5: Cayenne MyDevices

Cayenne MyDevices
Cayenne MyDevices

Você pode integrar sua aplicação no The Things Network com Cayenne myDevices

Para adicionar a integração:

  • Vá para o console do aplicativo no site da The Things Network;
  • Selecione integrações no menu superior direito;
  • Selecione Cayenne;
  • Siga as instruções

Etapa 6: Clima subterrâneo

Clima subterrâneo
Clima subterrâneo

Para enviar dados para Weather underground, crie uma integração HTTP. Os dados serão enviados para a URL com um POST ou GET. O script a seguir captura os dados e os envia para o Weather Underground. Registre sua própria estação meteorológica pessoal em

<? php

? php echo time ();

file_put_contents ('json / post'.time ().'. json ', file_get_contents (' php: // input '));

$ json = file_get_contents ('php: // input'); $ data = json_decode ($ json);

// retirar os dados do json

$ temperature_1 = $ data-> payload_fields-> temperature_1; $ barometric_pressure_2 = $ data-> payload_fields-> barometric_pressure_2; $ umidade_relativa_3 = $ dados-> campos_de_carga-> umidade_relativa_3;

// tempc para tempf

$ tempf = ($ temperatura_1 * 9/5) + 32;

// pressão

$ pressure = $ barometric_pressure_2 / 33.863886666667;

if (isset ($ pressure) &&! empty ($ pressure) && isset ($ tempf) &&! empty ($ tempf) && isset ($ relative_humidity_3) &&! empty ($ relative_humidity_3)) {file_get_contents ("https:// rtupdate.wunderground.com / weatherstation / updateweatherstation.php? ID = XXXXXXX & PASSWORD = XXXXXXXX & dateutc = now & tempf = ". $ tempf." & umidade = ". $ relative_humidity_3." & baromin = ". $ pressure);

}

?>

?>

Etapa 7: aproveite sua estação meteorológica

Aproveite a sua estação meteorológica
Aproveite a sua estação meteorológica
Aproveite a sua estação meteorológica
Aproveite a sua estação meteorológica

Aproveite a sua estação meteorológica

No Cayenne myDevices você pode compartilhar um painel do projeto. Compartilhe o seu nos comentários!

Este é o meu:

Recomendado: