Ceci est un exemple d'une belle application Lora. La station météorologique contient un capteur de température, un capteur de pression d'air et un capteur d'humidité. Les données sont lues et envoyées à Cayenne Mydevices et à la météo sous terre à l'aide de Lora et du réseau de choses.
Le câblage est basé sur le schéma de cette histoire: https://www.thethingsnetwork.org/labs/story/build-the-cheapest-posible--dode-yourself
Suivez les instrucons de construire vous-même le nœud le moins cher possible pour ajouter le RFM95W à l'Arduino Pro Mini. En cas de succès, ajoutez les capteurs comme indiqué dans le schéma ci-dessus.
Enfin, soudez un fil de 86 millimètres à la broche d'antenne RFM95W pour augmenter la plage.
Pour placer la station météorologique quelque part, j'ai dessiné un boîtier et je l'ai imprimé avec l'imprimante 3D.
Les modèles peuvent être trouvés sur Thingiverse. Bien sûr, vous pouvez bien sûr faire votre propre variante.
https://www.thingiverse.com/thing:2594618
Le code que j'ai utilisé peut être trouvé sur github: https://github.com/henri98/lorawanweatherstation
J'ai utilisé Atom avec Platformo pour réaliser ce projet, il s'agit donc d'un projet Platformo.
J'ai utilisé les Libarys foliaires:
Pour envoyer des données à Weather Underground, créez une intégration HTTP dans la console du réseau de choses. Les données seront envoyées à l'URL avec un message ou un GET. Le script suivant capture les données et les envoie à Weather Underground. Enregistrez votre propre station météorologique personnelle sur https://www.wunderground.com/personal-cheather-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);
}