Temperature and Humidity Monitoring Using DHT11 Sensor
In this project, you will be directed to monitor temperature and humidity using a DHT11 sensor connected to a Raspberry Pi. Furthermore, the temperature and humidity data read by the DHT11 sensor will be sent to the Antares IoT Platform.
Prerequisites
The materials required follow the General Prerequisites on the previous page. If you have not prepared the requirements on that page, then you can visit the following page.
Common Raspberry SSH PrerequisitesFollow These Steps
1.Setting up equipment
Here are some of the equipment you will need for temperature and humidity monitoring using the DHT11 Sensor:
Raspberry Pi
Sensor DHT11
Resistor 10kΩ
Breadboard
Kabel jumper (3 jumper jantan ke betina dan 3 jumper jantan ke jantan)

2. Assembling Hardware
For temperature and humidity monitoring, you need to connect the DHT11 sensor with the Raspberry Pi. You need to create a circuit as in the following image.

Here is a pinout diagram of the Raspberry Pi and DHT11 sensor that can make it easier for you to build a circuit.


3. Switching on the Raspberry Pi
You can switch on the Raspberry Pi by connecting it to a power source using USB-C.
4.Open PuTTY App
The PuTTY application is used to access the Raspberry Pi via SSH. The image below shows the initial appearance of the application when opened.

5. Check Raspberry Pi Connection with WiFi Network
To connect the Raspberry Pi via SSH using the PuTTY application, you need to input the Host Name or IP Address of the Raspberry Pi. To check whether the Raspberry Pi is connected to a WiFi network, you can do the "ping" command to the Raspberry Pi hostname. Open a command prompt and enter the following syntax.
ping raspberrypiIf the Raspberry Pi is connected to a WiFi network, the device will send a reply message to the computer as shown below.


6. Access Raspberry Pi by SSH
After ensuring that the Raspberry Pi can connect to our computer, then we can input the Raspberry Pi hostname in the PuTTY application as shown below, then press Open.

Select Accept in the display that appears, then enter the username and password in the terminal that opens. Input the username and password according to what was created during OS installation. After successfully logging in, the display on the terminal will be as follows.

7. Install Adafruit DHT11 Library
After you have successfully accessed the Raspberry Pi terminal, you need to install the DHT11 library from Adafruit by cloning from Github. The following syntax must be typed in the terminal.
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
After you have successfully accessed the Raspberry Pi terminal, you need to install the DHT11 library from Adafruit by cloning from Github. The following syntax must be typed in the terminal.

To install the DHT11 library, enter the Adafruit_Python_DHT folder by typing the following syntax.
cd Adafruit_Python_DHT
Once inside the folder, you can check the files inside by typing "ls" in the terminal.

Type the syntax below to perform the installation.
sudo python setup.py install
8. Creating a Python File
After successfully installing the required libraries, you need to create a Python file to input the required programme code. You need to enter the examples directory by typing the following syntax.
cd examples

Then you need to create a new Python file by typing the syntax below.
sudo nano your-file-name.py
After that, the display on the terminal will change to the one shown below. In this view, you can start inputting the programme code required for temperature and humidity monitoring.

9. Inputting Programme Code
Here is the programme code that you need to input to the Python file that you created earlier.
import Adafruit_DHT
import time
import datetime
import requests
# Set DHT11 sensor type
sensor = Adafruit_DHT.DHT11
# Set GPIO pin where DHT11 sensor is connected
pin = 4
# Set Antares URL and headers
antares_url = 'masukkan URL'
headers = {
'cache-control': 'no-cache',
'content-type': 'application/json;ty=4',
'x-m2m-origin': 'masukkan access-key'
}
while True:
# Read data from DHT11 sensor
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
if humidity is not None and temperature is not None:
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %d C" % temperature)
print("Humidity: %d %%" % humidity)
# Create the data payload
data = {
"m2m:cin": {
"con": "{\"Temperature\":%d,\"Humidity\":%d}" % (temperature, humidity)
}
}
# Send the data to Antares
try:
response = requests.post(antares_url, headers=headers, json=data)
response.raise_for_status() # Check if the request was successful
print('Data sent successfully.')
except requests.exceptions.RequestException as e:
print('Failed to send data:', e)
else:
print('Failed to get reading. Try again!')
# Wait for 2 seconds before the next reading
time.sleep(2)

10. Executing Python Files
After the Node.js Request file has been successfully saved. Next you can execute the file by typing the following syntax in the terminal.
python your-file-name.py
After the Python file is executed, the display on the terminal will be as shown below.

11. Check Data on Antares IoT Platform
To ensure that the temperature and humidity data has been sent to the Antares IoT Platform, you can open your device URL. The following image shows the display on the Antares IoT Platform that has received data from the Raspberry Pi.

Last updated