Monitoring Suhu dan Kelembaban Menggunakan Sensor DHT11

Pada project ini Anda akan diarahkan untuk monitoring suhu dan kelembaban menggunakan sensor DHT11 yang dihubungkan ke Raspberry Pi. Selanjutnya, data suhu dan kelembaban yang terbaca oleh sensor DHT11 akan dikirimkan ke Antares IoT Platform.

Prasyarat

Material yang dibutuhkan mengikuti Prasyarat Umum pada laman sebelumnya. Jika Anda belum menyiapkan kebutuhan pada laman tersebut, maka Anda dapat mengunjungi laman berikut.

pagePrasyarat Umum Raspberry GUI

Langkah Kerja

1. Menyiapkan Peralatan

Berikut adalah beberapa peralatan yang Anda perlukan untuk monitoring suhu dan kelembaban menggunakan Sensor DHT11:

  • Raspberry Pi

  • Sensor DHT11

  • Resistor 10kΩ

  • Breadboard

  • Kabel jumper (3 jumper male to female dan 3 jumper male to male)

Resistor 10kΩ diperlukan sebagai pull-up resistor yang digunakan untuk menstabilkan komunikasi antara sensor DHT11 dengan Raspberry Pi. Resistor ini diperlukan ketika Anda bekerja dengan sensor DHT11 yang memiliki 4 pin.

2. Merangkai Hardware

Untuk monitoring suhu dan kelembaban, Anda perlu menghubungkan sensor DHT11 dengan Raspberry Pi. Anda perlu membuat rangkaian seperti pada gambar berikut.

Hubungkan pin VCC DHT11 ke pin 3.3 V Raspberry Pi, pin GND DHT11 ke pin GND Raspberry Pi, dan pin data DHT11 ke GPIO 4 Raspberry Pi. Terakhir, hubungkan ujung resistor 10kΩ pada pin VCC DHT11 dan ujung lainnya pada pin data DHT11.

Berikut adalah pinout diagram Raspberry Pi dan sensor DHT11 yang dapat memudahkan Anda dalam membuat rangkaian.

3. Menyalakan Raspberry Pi

Untuk menyalakan Raspberry Pi, masukkan SD card yang sudah ter-install OS pada slot yang tersedia di board Raspberry Pi. Kemudian hubungkan Raspberry Pi ke monitor menggunakan kabel Micro HDMI to HDMI. Hubungkan juga keyboard dan mouse ke slot USB pada Raspberry Pi sesuai pada gambar di bawah. Terakhir, hubungkan board Raspberry Pi dengan power source menggunakan USB-C.

Raspberry Pi yang sudah menyala akan ditandai dengan indikator LED yang menyala di dekat port USB-C.

4. Menyalakan Monitor dan Membuka Terminal

Setelah Raspberry Pi terhubung dengan power source, selanjutnya Anda dapat menyalakan monitor. Raspberry Pi yang sudah melakukan booting dan masuk ke dalam OS ditunjukkan seperti pada gambar di bawah.

Jika setelah menyalakan monitor tidak muncul apapun pada layar, hal ini berarti Raspberry Pi sedang melakukan booting OS. Anda dapat menunggu beberapa saat hingga muncul GUI-nya.

Selanjutnya Anda dapat membuka terminal pada bagian kiri atas seperti pada icon gambar berikut.

Terminal yang sudah terbuka akan tampak seperti pada gambar berikut.

5. Install Library Adafruit DHT11

Setelah merangkai hardware dan menghidupkan Raspberry Pi via monitor, Anda dapat membuka terminal dan melakukan instalasi library DHT11 dari Adafruit dengan cara proses cloning dari Github. Berikut syntax yang harus diketikkan pada terminal.

git clone https://github.com/adafruit/Adafruit_Python_DHT.git

Setelah proses cloning selesai, akan muncul folder Adafruit_Python_DHT yang dapat diperiksa dengan mengetikkan "ls" pada terminal.

Untuk melakukan instalasi library DHT11, masuk ke dalam folder Adafruit_Python_DHT dengan mengetikkan syntax berikut.

cd Adafruit_Python_DHT

Setelah masuk ke dalam folder tersebut, Anda dapat memeriksa file yang ada di dalamnya dengan mengetikkan "ls" pada terminal.

Pada output terminal di atas terdapat file setup.py. File ini berfungsi untuk instalasi library DHT11.

Ketikkan syntax di bawah untuk melakukan instalasi.

sudo python setup.py install

Setelah menginputkan syntax di atas, maka output terminal akan menjadi seperti pada gambar di bawah. Pada kondisi ini, library DHT11 sudah berhasil Anda install.

6. Membuat File Python

Setelah berhasil melakukan instalasi library yang diperlukan, Anda perlu membuat file Python untuk menginputkan kode program yang diperlukan. Anda perlu masuk ke direktori examples dengan mengetikkan syntax berikut.

cd examples

Kemudian Anda perlu membuat file Python baru dengan mengetikkan syntax di bawah.

sudo nano your-file-name.py

Anda perlu mengubah your-file-name dengan nama file sesuai preferensi kalian.

Setelah itu, tampilan pada terminal akan berubah menjadi seperti gambar di bawah.

Tampilan di atas menunjukkan file Python kosong yang siap untuk diinputkan dengan kode program.

7. Menginputkan Kode Program

Berikut adalah kode program yang perlu Anda inputkan ke file Python yang sudah Anda buat sebelumnya.

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)

Jangan lupa untuk memasukkan URL device pada bagian antares_url dan access-key pada bagian x-m2m-origin sesuai yang terdapat pada Antares IoT Platform. Pastikan tidak ada kesalahan penulisan program dan perhatikan indentasinya.

Setelah berhasil menginputkan kode program, maka tampilan akan menjadi seperti pada gambar berikut.

Setelah Anda berhasil menginputkan kode program, selanjutnya Anda perlu menyimpan file Python tersebut dengan menekan Ctrl + X > Y > Enter.

8. Mengeksekusi File Python

Setelah file Node.js Request berhasil disimpan. Selanjutnya Anda dapat mengeksekusi file tersebut dengan mengetikkan syntax berikut pada terminal.

python your-file-name.py

Jangan lupa ubah your-file-name sesuai dengan nama yang dibuat sebelumnya.

Setelah file Python dieksekusi, maka tampilan pada terminal akan menjadi seperti pada gambar berikut.

Gambar di atas menunjukkan bahwa sensor DHT11 telah mampu membaca data suhu (temperature) dan kelembaban (humidity). Data tersebut juga telah berhasil dikirimkan ke Antares IoT Platform dengan pesan "Data sent successfully".

9. Periksa Data pada Antares IoT Platform

Untuk memastikan bahwa data suhu dan kelembaban telah terkirim ke Antares IoT Platform, Anda dapat membuka URL device Anda. Gambar berikut menunjukkan tampilan pada Antares IoT Platform yang sudah menerima data dari Raspberry Pi.