WWW.USBINOV.COMPiranti USB untuk PC, Laptop dan Raspberry Pi.

Monitoring Suhu Via Web/Internet (Raspi + USB-TC101 + Mongoose)

raspi_web_monitor_suhu

Pada tulisan sebelumnya telah dibahas mengenai instalasi web server ringan Mongoose pada sistem Raspberry Pi. Diberikan pula contoh skrip HTML sederhana dan program CGI sederhana sekedar untuk menguji apakah web server berfungsi dengan baik ataukah tidak. Nah, sekarang mari kita membuat aplikasi web sederhana dengan tampilan seperti pada screenshot di samping ini.

Aplikasi web ini melibatkan modul USB-TC101, yakni modul sensor suhu LM35 dengan antarmuka USB yang dilengkapi dengan sebuah output driver pemanas berupa TRIAC ditambah dengan sebuah mini buzzer untuk alarm. Beberapa tulisan mengenai aplikasi modul USB-TC101 pada Raspberry Pi dapat Anda baca pada halaman Membuat Data Logger Suhu, Membuat Alarm Suhu Ruang Server dan Membuat Kontroler Suhu Dilengkapi Overheated Alarm dan Data Logger.

Modul USB-TC101 memiliki sebuah command-line tool usbtc101c yang dapat digunakan untuk membaca suhu dan mengontrol output melalui command prompt (shell). Perintah $sudo ./usbtc101c SUHU akan mengembalikan string dengan data nilai suhu yang diukur oleh LM35 pada modul USB-TC101. Dengan menggunakan perintah yang sama kita bisa membaca suhu dan menampilkannya secara online melalui web/internet dengan bantuan web server.

Nah, berikut adalah listing skrip BASH termometer.cgi yang akan menampilkan data suhu dengan interval refresh 3 detik.

termometer.cgi

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash

echo $'Content-type: text/html\r\n\r\n'
echo "<!doctype html>"
echo "<html>"
echo "<head>"
echo "<title>USB-TC101 WEB TEMPERATURE MONITORING</title>"
echo $'<meta http-equiv="refresh" content="3">'
echo "<h1>Temperature Monitoring</h1>"
echo "<h2>Raspberry Pi + USB-TC101 + Mongoose Web Server</h2>"
echo "<hr>"
echo "</head>"
echo "<body>"
datasuhu=$(sudo ./usbtc101c SUHU)
IFS=' '
set $datasuhu
echo "<br><br>"
echo "<h1>Temperature = $3 C</h1>"
echo "<br><br><br><hr>"
echo "<strong>This page is automatically refreshed within 3 seconds.</strong>"
echo "<br>http://raspi.teknikelektrolinks.com - raspi@teknikelektrolinks.com"
echo "</body>"
echo "</html>"

Baris ke-8 pada skrip di atas menyatakan bahwa halaman akan di refresh secara otomatis setiap 3 detik.

Baris 14-16 digunakan untuk mengambil data suhu. Pada suhu 27.0, variabel datasuhu akan berisi data string “SUHU = 27.0”. Untuk mendapatkan nilai suhunya saja, maka terlebih dahulu string ini dipisahkan menjadi 3 bagian dengan melakukan parsing dengan delimiter spasi. Baris perintah 15 dan 16 akan menghasilkan 3 variabel yakni $1=”SUHU”, $2=”=” dan $3=”27.0”. Data pada variabel $3 ditampilkan di halaman web oleh perintah pada baris 18.

Nah, sangat mudah bukan? Pada kesempatan lain inysa Allah akan kami sampaikan hasil eksperimen aplikasi web yang lebih menarik seperti pengontrolan peralatan listrik via web dan kontroler suhu via web.

 

Download

Anda bisa mendapatkan skrip termometer.cgi lengkap dengan file aplikasi web server mongoose versi Raspi secara gratis melalui link berikut ini:

download_button

Selamat belajar dan selamat berkarya!

66 Comments

Add a Comment

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