Real Project Example

Last updated: January 30 th, 2017

Geeknesia Microcontroller & IOT Starter Kit

Geeknesia Kit

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.

Read More or Buy Now !

The Door Alarm System

Reading Requirement:

Pada project ini akan dibahas tentang Home Scurity Sytem pada bagian pintu rumah, yang dimana sensor akan memberikan sinyal ketika pintu dalam kondisi terbuka atau tertutup.

 

Contoh gambar aplikasi.

Gambar di atas adalah contoh pemasangan sensor pada pintu, dimana  Sensor Magnet  terbagi menjadi 2 bagian , bagian fix terpasang di atas pintu dan bagian yang dapat dipindah atau dalam kata lain berpindah ketika buka tutup pintu atau Move, jadi ketika pintu dibuka, sensor akan terbagi 2 menandakan bahwa pintu sedang terbuka, dan sebaliknya ketika pintu tertutup sensor akan saling menempel menandakan pintu sedang tertutup, dan mengirimkan sinyal ke cloud Geeknesia menampilkan kondisi pintu sebenarnya.

 

Untuk membuat aplikasi ini  sangatlah mudah.

Siapkan alat dan bahan yang dibutuhkan:

 

  • Esp8266-12
  • Sensor Magnet
  • Led
  • Resistor 220 Ohm
  • Kabel Jumper
  • Proto Board

 

 

Esp8266-12

 

Sensor Magnet

 

Led

 

Resistor 220 Ohm

 

Kabel Jumper

 

Proto Board


Software dan Library yang diperlukan:

  • Arduino IDE 
  • PubsubClient-Master

Klik di sini untuk download software dan library yang diperlukan.

Adapun tahap pembuatan aplikasi sebagai berikut:

 

Tahap 1

Pastikan anda sudah membuat Project,Gateway dan Device pada akun Geeknesia anda.

 

Tahap 2

Rangkaikan FTDI ke ESP8266-12 untuk mengupload program dan supply power ke ESP8266, lihat tabel wiring di bawah ini:

FTDIESP8266-12
Vcc 3.3Vcc 3.3
Vcc 3.3CH_PD
GndGnd
Gnd GPIO 0 (Jika mode program)
GndGPIO 15
RxTx
TxRx

Atau ikuti link wiring FTDI to ESP untuk melihat pin ESP8266-12.

 

Tahap 3

Buatlah code pada Arduino IDE yang telah didownload sebelumnya, untuk setting dan konfigurasi software klik di sini.

 

Sample Code 

#include 
#include 

const char *ssid = "SSID"; // Your SSID

const char *pass = "PASSWORD"; // Your Password

int buttonState=0;

String flag;



// device details

char *deviceId = "device-9d5e9f151bb2ba337e666415cd3xxxxx";

char *deviceUsername = "190765ba3a8ff26876357819a67xxxxx";

char *devicePassword = "f72d8717b811c3b5aa40b6512e0xxxxx";

String deviceCredential = String(deviceUsername) + ":" + String(devicePassword);



IPAddress server(207, 46, 228, 57); // ip geeknesia

WiFiClient wclient;

PubSubClient client(wclient, server);



void senddata(char* topic,String credential, char *var1, String 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",pubString);   

}



void setup() {

  Serial.begin(115200);

  pinMode(2, OUTPUT); // Initialize the BUILTIN_LED pin as an output

  pinMode(12, INPUT_PULLUP);

}



// the loop function runs over and over again forever

void loop() {

    if (WiFi.status() != WL_CONNECTED) {

    WiFi.begin(ssid, pass);



    if (WiFi.waitForConnectResult() != WL_CONNECTED)

      return;

    Serial.println("WiFi connected");

  }



  if (WiFi.status() == WL_CONNECTED) {

    if (!client.connected()) {

      if (client.connect(deviceId, "iot/will",0,0,deviceId)) {

      }

    }



    if (client.connected())

      client.loop();

  }



  buttonState = digitalRead(12);

  if (buttonState == 1) {

    digitalWrite(2, LOW);

    flag="The Door is Open";

  }

  else {

    // turn LED off:

    digitalWrite(2,HIGH);

    flag="The Door is Close";

  }

  senddata(deviceId,deviceCredential,"Door", flag);

  delay(5000);

}

 

Jika code atau program sudah dibuat, kemudian upload program ke ESP8266, (Wiring Mode Program).

 

Tahap 4

Untuk memastikan code atau program berjalan dengan normal, rangkailah Sensor Magnet dan Led yang telah disiapkan seperti gambar di bawah ini:

 

 

Tahap 5

Kemudian buka kembali project Geeknesia anda, tes dengan menempelkan Sensor Magnet Fix dan Move seperti gambar di bawah ini.

 

Lihat status sensor pada IoT Management jika berhasil maka tampilan akan seperti gambar di bawah ini, "The Door is Close" menandakan bahwa pintu sedang tertutup.

 

 

Kemudian pindahkan Sensor Magnet Move , seperti gambar di bawah ini:

 

 

Terlihat pada gambar di atas led yang terpasang nyala menandakan bahwa pintu telah terbuka.Dan pada IoT Management terlihat status pintu "The Door is Open",  jika ingin mengubah kalimat status , anda bisa  merubah pada bagian program atau code yang telah dibuat pada Arduino IDE.