Real Project Example
Last updated: January 30 th, 2017
Geeknesia Microcontroller & IOT Starter Kit
![Geeknesia Kit](/tutorial/uploads/geeknesia kit sm.jpg)
Sebuah Starter Kit Lengkap dari Geeknesia untuk mempelajari IOT dan Micro Controller dengan mudah melalui praktek secara langsung.
Starter Kit ini menyediakan development board ESP 8266 tipe WeMos D1 yang compatible dengan board arduino sehingga mudah dipahami, muda diperlajari, dan mudah dimengerti. Dalam kit ini tersedia komponen elektronik lengkap untuk berbagai keperluan tutorial dan project real.
Alat Pendeteksi Kebocoran Gas
Reading Requirement:
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
#include
#include
// 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).
Lihat pada Geeknesia apakah nilainya berubah atau tidak? jika berubah maka kualitas sensor masih bagus dan script berjalan dengan baik, jika setelah di coba ternyata tidak ada perubahan cek sensor dan kabel pada sensor.
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 .