Monitor my home environmental parameters remotely is one of the most desirable things I have ever wanted to make. It’s not about purchasing such a system that can get the job done for me. But, passion to create it myself. So, today, I am going to connect the popular DHT sensor to an online MQTT broker “server”. The sensor will publish its temperature and humidity readings to the broker. Then, from even outside the home, I can get these readings on my smartphone.
As another tutorial of this continuous IoT Blog Series, I will use this sensor with Arduino and IoT Shield from 1Sheeld to get its readings over the internet. I will make an Arduino Temperature Humidity System that I can monitor anywhere, anytime on my smartphone using IoT.
In this Arduino Temperature Humidity System tutorial, I am going to connect 2 devices to an online MQTT server “broker”, the sensor, which is just an Arduino with a DHT11 sensor and the smartphone. The sensor will publish its humidity and temperature readings to certain topics. And the phone will subscribe to the same topics. Hence, it gets all the sensor readings as messages and visualizes them on the screen.
Since the broker is online, then you need to connect the Arduino to the Internet, then connect it to the broker.
But Arduino alone can’t do that, so I will use the IoT Shield from 1Sheeld+ board that will be plugged into the Arduino and connect it to the online MQTT broker.
Also, you will need an iPhone “since IoT Shield works with iOS only” to be connected to the 1Sheeld via Bluetooth. And another one “iPhone or Android” that will act as the controller device where you will use it to publish “close” and “open” message through an IoT app.
You will find all the software and Apps required for this tutorial linked in the software components section.
If this is your first time to deal with 1Sheeld or you want to learn more about it, then I recommend checking this quick and easy getting started tutorial.
Furthermore, if this your first time reading about MQTT broker, then I recommend you go through this MQTT before going into this tutorial.
I will use the DHT11 sensor, so you can go through this tutorial to get familiar with it. Also, you will find the sensor library. You should download it and copy it to the same folder of your Arduino sketch of this project.
Now, after you’ve become a little bit familiar with 1Sheeld and MQTT broker, let’s start!
Step 1: Hardware components:
Arduino USB cable.
Male-to-female jumper wires.
iOS phone with 1Sheeld App installed on it.
Android/iOS phone with the IoT MQTT Panel Pro installed on it.
Connect the DHT sensor with the Arduino as illustrated below:
Switch the 1Sheeld power to operate on 5v (Not the 3.3v):
1Sheeld have 2 modes: Uploading mode and Operating mode. You can switch between them using the switch close to the Digital pins and is called “UART SWITCH” on 1Sheeld and “SERIAL SWITCH” on 1Sheeld+.
Firstly, you slide the switch towards the “SWITCH” notation which turns the 1Sheeld board into the Uploading mode to let you upload the Arduino code.
Then, after you finish uploading the code, slide the switch towards the “UART” notation (or “SERIAL” at 1Sheeld+ board) which turns the 1Sheeld board into the Operating mode to communicate with your smartphone 1Sheeld App.
Finally, connect the Arduino via your PC using Arduino USB cable.
Step 4: Code:
I would recommend checking the Arduino IoT Shield documentation to know more about the Arduino IoT Shield functionalities and how to use them.
Arduino makers …. you can connect your Arduino to MQTT brokers(servers) and launch your IoT with Arduino IoT Shield! It’s the 1Sheeld IoT shield that will do the job for you. It’s one of the most important but recent Arduino shields in 1Sheeld. Simply, it turns your Arduino into MQTT client where you can publish and …
“Oh God! … It seems like I have forgotten the door lock open, again” … the normal saying whenever I am in hurry to go out! Have you encountered this problem before? It always confuses me since I may even think that I have left the door lock opened, and once I go back, …
Here I am with another IoT-based home automation project; Arduino IoT Fan Control. Every day, I get back from work tired and feeling hot. No air conditioner here and the fan takes much time to start cooling the room, sadly! So, I was thinking why not controlling the fan from outside my home with my …
Have you ever forgotten to turn your home lights off when you got outside? Sadly, it happens to me all the time. And this causes confusion once I get my bills! Furthermore, here is one secret about me; I am a lazy man. I always want to control my room lamp from my sweet bed. …
MQTT is one of the most commonly used protocols in IoT projects. It stands for Message Queuing Telemetry Transport. In addition, it is designed as a lightweight messaging protocol that uses publish/subscribe operations to exchange data between clients and the server. Furthermore, its small size, low power usage, minimized data packets and ease of implementation …
Actually, that’s not a phrase from the Terminator movies, it’s just the reality of nowadays! Statistics show that the number of connected devices in 2018 are 23+ billion. This is almost 3 times the population density of the Earth, which is 7.6 billion at the time of writing this blog. Furthermore, this number is increasing …