Introduction: Weather Station Using Wemos D1 Mini, BME280 and Sensate.
In previous posts I have shared different methods to build a weather station. If you haven't check it here is a link.
In this instructable I will be demonstrating how to build a simple Weather station using Wemos and an IoT platform called Sensate. So let's get started.
Step 1: What Is Sensate?
In their own words: "Use the Sensate Sense App to access your sensors anytime, anywhere. Build your ultimate data logger by using existing hardware components with the free Sensate Firmware. Or find the optimal chip for your application and build your individual solution."
In short it is an app that along with the firmware, gives you a simple code free way to build simple projects.
All you have to do is flash their firmware, install their app, go through the configuration settings and you are ready to collect data from your sensors.
Step 2: Flashing Sensate Firmware.
Now we want our ESP board (in this case WeMos D1 Mini) to be able to connect to the Sensate cloud. For this we need to flash Sensate's Firmware on our board. The process is pretty straight forward.
First make sure you download the following:
- Download and install CP210x or CH34x driver (depending on the USB to TTL chip used on your board). In my case I installed CH340.
- Download the NodeMCU flasher tool from here.
- Next download the latest Sensate firmware from here.
After everything is downloaded and the drivers are installed. We need to check the port of our WeMos board. To find the port:
- Goto "Device Manager" >> "Ports".
- Connect the board to PC via USB. You will notice a new port appear in the list. Note it down.
Now we can flash the board with new firmware. Make sure you have downloaded the right firmware from the link. (In this project we are using WeMos D1 mini so we will use that firmware)
- Open the flasher and goto "Advanced" tab. Make sure you have the similar settings as in the image above.
- Next goto "Config" tab, click on the first row and navigate to the folder where you have downloaded the firmware. Select the proper file.
- Now goto "Operation" tab, here in the COM port box select the port you noted before.
- Click on "Flash" and wait until the flashing is done.
Now we have a WeMos D1 mini board with Sensate's firmware. Just click the reset button to finish the booting process.
Step 3: Configuring WiFi Network.
Now that we have successfully flashed and booted the firmware, we need to setup the WiFi credentials onto the board. To do this, first power the board and turn on WiFi of your smartphone.
Follow the steps given below:
- Tap on "Sensate-Setup" and enter the default password "Setup-Sensate".
- After the device is connected, open your default browser and enter in URL "192.168.4.1" and hit enter.
- You will be redirected to a setup page. Here select the "SSID" (WiFi name) you want to connect to and then enter it's password.
- In the Service Configuration give your device a name (in this case "Weather Station"). Tap on save and restart.
With that been done, now the WeMos board is ready to connect to your WiFi network. Now we can move move forward and start the setup on Sensate app.
Step 4: Setting Up Sensate Mobile App.
First of all make sure you have install the Sensate Sense App in your Smartphone.
Next open the app and follow the steps given below:
- On the first page tap on "Hardware Setup". Then it will ask if we want to configure the bridge, as we have already configured it in previous step we will tap on the second option "No, It's already configured"
- The next page will show all the available bridges. Select the one we just made.
- On next page we will get all the details about sensors and 3 options. Here select "Configuration Wizard". On the next page you can read more information about the configuration. When you have read it, tap on "Start".
- Now we get get list of all the supported boards. Here we will select "WeMos D1 Mini" and tap on "Continue".
- Next it asks us to select a mode of operation. There are 2 modes, one is the normal mode which will take and update readings as often as it can. The other mode "Sleeping Mode", in this mode we can get periodical updates and the board will be in power saving mode. For this project I have selected the first Mode as I want real time updates of the temperature and humidity.
- Next we need to select the display. As we are using 1.3" 128x64 display, we will select that. Then tap on "Continue".
- On next page just select "No extension".
- On next page we have to select the sensor. We are using "BME280" so select that. Make sure you don't select BMP280 which is similar but lacks Pressure sensor.
- When we select the sensor the app gives us choice on which data we wish to collect. Here toggle all three options. No need to play with any other settings.
- At last click on finish.
Now all we need to do is build the circuit.
Step 5: Building the Circuit.
As we are using I2C communications here, the connections are very simple. Refer the images above.
There 4 pins into play here: VCC, GND (power pins) & SDA, SCL (I2C pins).
Connect the wires as:
VCC = 3.3V
GND = GND
SCL = SCL (D1)
SDA = SDA (D2)
And that's all. Now just power up the circuit and wait for it to connect to the network.
Now we will get the data on OLED and on the app.
Step 6: Final Note.
So now we have a DIY weather station without having to actually writing a code. Isn't it cool?
Now you can build a case for it like the one I previously make here. Hope the tutorial was easy to follow and you learnt something now.
If you have any questions feel free to leave a comment below.