Introduction: Internet of Things: LoRa Weather Station

Picture of Internet of Things: LoRa Weather Station

This is an example of a nice LoRa project. The weather station contains a temperature sensor, air pressure sensor and humidity sensor. The data is read out and sent to Cayenne Mydevices and Weather Underground using LoRa and The Things Network.

Check if there is LoRa Gateway of the The Things Network in your area!

Step 1: The Hardware

Picture of The Hardware

Step 2: The Wiring

Picture of The Wiring

It is wise to first test the sensors on a breadboard. So you can be sure that the sensors works. You can also measure the power consumption with a multimeter. (Use the Low-Power lib to measure the minimum)

First solder wires to the RFM95W module and then solder them to the Arduino Pro Mini. Then add the sensors. View the images and the diagram!

Step 3: The Casing

Picture of The Casing

To place the weather station somewhere, I drew a case and printed it with the 3d printer.

The models can be found on Thingiverse. Of course you can of course make your own variant. https://www.thingiverse.com/thing:2594618

Step 4: The Software

Picture of The Software

The code I have used can be found on GitHub: https://github.com/henri98/LoRaWanWeatherStation

I used Atom with PlatformIO to realize this project, so this is a PlatformIO project. I used the folowing libarys:

Step 5: Cayenne MyDevices

Picture of Cayenne MyDevices

You can integrate your application in The Things Network with Cayenne myDevices

To add the integration:

  • Go to the application console on The Things Network website;
  • Select integrations from the top-right menu;
  • Select Cayenne;
  • Follow the instructions

Step 6: Weather Underground

Picture of Weather Underground

To send data to Weather underground, create an HTTP integration. The data will be sent to the URL with a POST or a GET. The following script captures the data and sends it to Weather Underground. Register your own Personal Weather Station on 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;

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 . "&humidity;=" . $relative_humidity_3 . "&baromin;=" . $pressure); }

?>

?>

Step 7: Enjoy Your Weather Station

Picture of Enjoy Your Weather Station

Enjoy Your Weather Station

In Cayenne myDevices you can share a project Dashboard. Share yours in the comments!

This is mine: https://cayenne.mydevices.com/shared/59e9c7612d218c587ba531c4

Comments

eduhcarvalho (author)2017-11-15

Hello,

Page not found on the link:
(https://github.com/adafruit/DHT-sensor-librar)

Thank you

muitg (author)eduhcarvalho2017-11-15

Thnx! just put an "y" after the link.

mutton74 (author)2017-10-23

Just one (hopefully easy) question.

I have multiple nodes sending data to thingspeak and cayenne, but would like Weather Underground as an option.

Where do you use the script you have posted in the HTTP integration of TTN?

cheers

mutton

muitg (author)mutton742017-10-24

Hi mutton,

I put the PHP script on a private webserver, in TTN I added the http integration, so all the data is posted to the script on my private webserver.

Regards,

Henri

Michal Choma (author)2017-10-22

very nice wifi module. I looking for low power wifi sending, I check that maximum current can be 20 mA. Using esp and regulator it takes a little bit more time to connect everything correct. I looking for something like this: arduino pro mini + low power wifi module + sensors, 1. arduino sleep for 15 minutes 2. measure some values and send to thingspeak 3. sleep again. This module help me, thanks

DIY Hacks and How Tos (author)2017-10-21

Nice diy weather station. Any plans to add more weather sensors like wind speed.

Thank you very much! Maybe in the future. I added a script to read the battery voltage today.

About This Instructable

4,250views

66favorites

License:

Bio: Hi!
More by muitg:Fancy Your UbuntuInternet of Things: LoRa Weather Station
Add instructable to: