Este es un ejemplo de una buena aplicación Lora. La estación meteorológica contiene un sensor de temperatura, sensor de presión de aire y sensor de humedad. Los datos se leen y se envían a Cayenne Mydevices y Weather Underground usando Lora y la red Things.
El cableado se basa en el esquema de esta historia: https://www.thethingsnetwork.org/labs/story/build-the-heapest-possible-node-youself
Siga los instrucitones de construir el nodo más barato posible usted mismo para agregar el RFM95W al Arduino Pro Mini. Si tiene éxito, agregue los sensores como se muestra en el esquema anterior.
Finalmente, suelte un cable de 86 milímetros al pasador de antena RFM95W para aumentar el rango.
Para colocar la estación meteorológica en algún lugar, dibujé una caja y la imprimí con la impresora 3D.
Los modelos se pueden encontrar en Thingiverse. Por supuesto que puedes hacer tu propia variante.
https://www.ththingiverse.com/thing:2594618
El código que he usado se puede encontrar en GitHub: https://github.com/henri98/lorawanweatherstation
Utilicé Atom con Platformio para realizar este proyecto, por lo que este es un proyecto de Platformio.
Usé las Librarys Folowing:
Para enviar datos al clima subterráneo, cree una integración HTTP en la consola de la red Things. Los datos se enviarán a la URL con una publicación o un Get. El siguiente script captura los datos y los envía al clima subterráneo. Registre su propia estación meteorológica personal en https://www.wunderground.com/personal-weather-station/signup
<? 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);
// take the data out of the json
$temperature_1 = $data->payload_fields->temperature_1;
$barometric_pressure_2 = $data->payload_fields->barometric_pressure_2;
$relative_humidity_3 = $data->payload_fields->relative_humidity_3;
// tempc to tempf
$tempf = ($temperature_1 * 9/5) + 32;
// pressure
$pressure = $barometric_pressure_2/33.863886666667;<br>
if( isset($pressure) && !empty($pressure) && isset($tempf) && !empty($tempf) && isset($relative_humidity_3) && !empty($relative_humidity_3)){ <br> file_get_contents("<a href="https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?ID=XXXXXXX&PASSWORD=XXXXXXXX&dateutc=now&tempf=" rel="nofollow" target="_blank">https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?ID=XXXXXXX&PASSWORD=XXXXXXXX&dateutc=now&tempf=</a>" . $tempf . "&humidity=" . $relative_humidity_3 . "&baromin=" . $pressure);
}