Senin, 14 Januari 2019

Monitoring server dg raspberry

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 SuhuMembuat 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!

Tidak ada komentar:

Posting Komentar