Reading Requirement:
-
Register (Geeknesia)
-
Create Project (Geeknesia)
-
Create Gateway (Geeknesia)
- Create device (Geeknesia)
Pada project kali ini kita akan membuat aplikasi untuk mendeteksi kebocoran gas di sekitar sensor menggunakan Geeknesia sebagai interface atau sistem peringatan kebocoran gas.
Alat dan bahan yang dibutuhkan adalah sebagai berikut :
- Akun + Project Geeknesia
- Arduino Board + Ethernet Shield
- Sensor Gas
- Kabel Jumper
- Kabel LAN
- Protoboard
- Internet
Sensor Gas |
Arduiono UNO |
Ethernet Shield
|
Kabel LAN |
Tahap 1
Pastikan anda sudah memiliki akun Geeknesia.com kemudian buatlah Project,Gateway dan Device untuk project Gas Detector.
Tahap 2
Rangkailah alat dan bahan yang sudah dipersiapkan seperti tabel di bawah :
Tabel Wiring MQ-5 (Sensor Gas) ke Arduino
MQ-5 (Sensor Gas) | Arduino UNO |
Vcc | Vcc 5v |
Gnd | Gnd |
Out | A0 |
Tahap 3
Buatlah script pada software Arduino, ikuti script di bawah:
Script
#include <SPI.h> #include <Ethernet.h> #include <PubSubClient.h> // Update these with values suitable for your network. byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xDE }; byte ip[] = { 192, 168, 2, 27 }; //Your IP byte dns2[] = { 8,8,8,8}; byte gateway[] = { 192, 168, 2, 1 }; //Your IP Gateway char pubschar1 [20]; const int gasPin=A0; //Pin Sensor int flag; char message_buff[200]; EthernetClient ethClient; PubSubClient client("geeknesia.com", 1883, callback, ethClient); void callback(char* topic, byte* payload, unsigned int length) { } // device details char *deviceId = "device-4407e1d312d262e32f03e1e6691xxxxx"; //Device ID from Geeknesia char *deviceUsername = "e37fe287911430fe7312be64e12xxxxx"; //Username from Geeknesia char *devicePassword = "b75572b99c386b9a937bd737863xxxxx"; //Password from Geeknesia String deviceCredential = String(deviceUsername) + ":" + String(devicePassword); //Send Data Function void senddata(char* topic,String credential, char *var1, const int nilai1 ){ String pubString = "{\"code\":\""; pubString += credential; pubString +="\","; pubString +="\"attributes\":{\""; pubString +=String(var1)+"\":\""+nilai1+"\""; pubString +="}}"; char message_buff[pubString.length()+1]; pubString.toCharArray(message_buff, pubString.length()+1); client.publish("iot/data",message_buff); } void setup() { Ethernet.begin(mac, ip,dns2,gateway); //Setup Connection Serial.begin(9600); } void loop() { client.publish("iot/live",deviceId); if (!client.connected()){ client.connect(deviceId,NULL,NULL,"iot/will",2,64,deviceId); } flag=analogRead(gasPin); Serial.println(analogRead(flag)); senddata(deviceId,deviceCredential,"gas", flag); delay(500); }
Tahap 4
Buka project yang telah dibuat pada Geeknesia.com, kemudian lihat pada indikator GAS DETECTOR jika indikator berwarna hijau artinya device (Arduino) telah terhubung dengan cloud Geeknesia, jika indikator berwarna merah artinya device tidak terhubung, maka periksa kembali koneksi anda dan pastikan kabel LAN sudah terpasang ke Internet Gateway.
Tahap 5
Lakukan tes sensor yang telah terhubung dengan Analog Input Arduino, dengan cara :
- Siapkan korek gas.
- Kemudian tekan bagian pengeluaran gas (Jangan nyalakan api).
Gambar Percobaan.
Nilai sebelum ada gas
Nilai setelah ada gas
Catatan: Sensor gas yang dapat digunakan pada project ini diantaranya adalah MQ-2, MQ-3, MQ-4, MQ-5, MQ-6, MQ-7 .