D.I.Y Project IoT Sensor Suhu Ruangan

Berhubung lagi melandanya covid-19 sehingga harus WFH alias Work from Home, muncul ide untuk melakukan monitoring suhu ruangan secara online yang terintegrasi ke monitoring tools seperti Zabbix dan PRTG.

Pada kesempatan ini kita akan membuat alat bantu monitoring suhu ruangan milik kita sendiri.

Perlengkapan yang dibutuhkan untuk membuat alat monitoring suhu berbasis IoT adalah :

  1. open-source single-board computer ( Orangi Pi Zero )
  2. 9-bit to 12-bit Celsius temperature measurements sensor ( DS18B20 )
  3. resistor 4.7KΩ (4700Ω)
  4. SD Card Memory ( Minimum 2GB )
  5. Adaptor DC 5V 1.0 ~ 2.0 A
  6. Kabel UTP 1 Meter
  7. SD Card Reader
  8. Rufus 3.10 ( flash tool )

Step 1. Mempersiapkan OS
Pertama tama kita download image Armbian dari https://www.armbian.com/download/.

Pada kesempatan ini saya menggunakan Orange Pi Zero dengan Armbian versi Bionic.

Armbian bisa di download di https://dl.armbian.com/orangepizero/Bionic_current.

Setelah kita download image armbian, langkah berikutnya adalah kita menyiapkan aplikasi flash tools, saya menggunakan rufus 3.10 yang bisa di download di https://github.com/pbatard/rufus/releases/download/v3.10/rufus-3.10p.exe


Setelah image Armbian dan rufus telah selesai kita download, langkah berikutnya kita mempersiapkan SD card untuk di flash dengan image Armbian menggunakan rufus.

Step 2. Booting
Sebelum kita booting, masukkan SD card ke slot di board dan hubungkan port ethernet Orange Pi Zero ke jaringan dengan kabel UTP agar bisa mendapatkan ip dari dhcp server baru kita power on board kita dengan menghubungkannya ke adaptor DC 5V 2.0A ( saya menggunakan charger HP original ).

Setelah berhasil booting, kita bisa masuk ke board via jaringan dengan aplikasi putty dengan cara melakukan SSH ke ip dhcp board kita yang di dapat dari DHCP server.

User id default adalah root dengan password 1234.

Step 3. Setting Jaringan
agar kita bisa melakukan binding service snmp, kita perlu melakukan setting ip board kita dengan menerapkan static ip.

untuk mempermudah config kita bisa melakukan manual static ip dengan tools nmtui dari cli. jika kita ingin menggunakan wifi, kita juga bisa masuk ke menu add interface dan memilih wifi dengan parameter wlan0 pada interface.

Step 4. Update
sebelum kita melakukan config lebh lanjut, kita perlu melakukan update packet image board kita.

Dengan perintah apt-get update && upgrade -y, OS kita akan melakukan packet update dan melakukan upgrade.

Setelah selesai upgrade, kita reboot board kita dengan command reboot.

Step 5. Enable Sensor
Setelah board kita berhasil boot up kembali, kita bisa masuk kembali ke board tersebut dengan menggunakan putty dan melakukan ssh ke ip static yang telah kita set sebelumnya.

Setelah kita berhasil login, kita akan enable config sensor DS18B20 kita dengan vi /etc/modules-load.d/modules.conf dan melakukan perubahan config menjadi


g_serial
w1-gpio
w1-therm
w1-sunxi
xradio_wlan

Langkah berikut nya kita juga perlu meng enable config di cpufreq dengan vi /etc/default/cpufrequtils

ENABLE=true
MIN_SPEED=480000
MAX_SPEED=1400000
GOVERNOR=interactive

Berikutnya kita perlu melakukan penyesuai agar board kita bs berkomunikasi dengan onewire DS18B20 kita.

Lakukan perubahan dengan vi /boot/armbianEnv.txt dan tambahkan

overlays=w1-gpio
param_w1_pin=PA10
param_w1_pin_int_pullup=1

setelah selesai kita tambahkan, langkah berikutnya adalah dengan menambahkan fisik sensor ke board. Sebelum kita menambahkan, pastikan board di shutdown dan jangan lupa melepas power supply board.

Step 6. Menghubungkan Sensor ke Board
saya menggunakan sensor suhu waterproof DS18B20 yang saya beli dari salah satu marketplace.

Sensor ini adalah sensor dengan 3 kaki output ( Merah – Kuning – Hitam ). Kita perlu menghubungkan antara kaki merah dan kuning dengan sebuah resistor bernilai 4.7K atau 4700 Ohm, agar data dari sensor bisa terbaca dengan baik dan benar oleh board.

Untuk kaki berwarna merah akan kita pasangkan ke pin hole nomer 2 atau 4 di board (+), untuk kaki berwarna hitam kita pasangkan ke pin hole nomer 6 atau 25 (-) dan untuk kaki kuning (data) akan kita pasangkan ke pin hole nomer 26 (PA10).

Jika telah selesai menghubungkan sensor ke board, kita bisa boot ulang board kita untuk melihat apakah sudah berhasil dikenali oleh system.

Step 7. Sensor Check
Setelah kita berhasil masuk kembali ke board kita, kita bisa melakukan penggecekkan apakah sensor kita berhasil di kenali.

cat /sys/devices/w1_bus_master1/w1_master_slave_count. Jika hasilnya ada angka 1 atau 2, sensor telah berhasil dikenali. Jumlah yang muncul adalah banyaknya jumlah sensor yang terhubung ke board.

Step 8. Pengukuran Suhu.
Setelah kita berhasil memastikan bahwa sensor kita berhasil dikenali, tiba saat in iuntuk melihat hasil pengukuran sensor kita.

Namun sebelumnya kita perlu mengetahui id dari sensor kita dengan command ls -l /sys/bus/w1/devices/ setelah kita berhasil mengetahui id sensor, kita bisa mengeluarkan pembacaan suhu dengan command cat /sys/bus/w1/devices/28-XXX/w1_slave dimana XXX adalah id dari sensor yang ingin kita ketahui hasil pengukuran suhunya.

nampak pada hasil, angka 28187 ( 28.187 ‘C ) merupakan suhu yang terbaca pada saat saya melakukan testing.

Sampai disini kita telah berhasil untuk membuat sensor suhu berbasis IoT. Pada artikel berikut saya akan membahas cara untuk mengintegrasikan dengan monitoring tools seperti Zabbix atau PRTG.

Leave a Reply

Your email address will not be published. Required fields are marked *