Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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
É 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
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 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
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
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
No Cayenne myDevices você pode compartilhar um painel do projeto. Compartilhe o seu nos comentários!
Este é o meu: