Real Project Example

Last updated: January 26 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 !

Arduino COAP Protocol

MQTT dan COAP keduanya digunakan sebagai protokol IoT, namun terdapat perbedaan mendasar.

 

MQTT => Bisa digunakan untuk banyak komunikasi protokol dalam pengiriman informasi antara beberapa client, melalui central broker,MQTT memiliki dukungan,seperti memiliki komunikasi bus yang baik untuk live data.

 

COAP => Menggunakan komunikasi antar protokol untuk mengirim informasi antara client dan server, COAP lebih cocok untuk model pengalihan informasi,tidak mengambil live data atau real time data.

 

Berikut contoh aplikasi yang menghubungkan arduino dengan broker COAP.

 

Alat dan bahan yang diperlukan

1. Arduino Mega

2. Ethernet Shield

3. Kabel LAN

4. Kabel Data (untuk upload program)

 

Download File Microcoap

Download file coap library pada link di bawah ini

https://github.com/1248/microcoap

 

 

Buka file code arduino

 

Script Arduino 

/*
* WARNING - UDP_TX_PACKET_MAX_SIZE is hardcoded by Arduino to 24 bytes
* This limits the size of possible outbound UDP packets
*/

#include 
#include 
#include 
#include 
#include "coap.h"

#define PORT 5683
static uint8_t mac[] = {0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02};

EthernetClient client;
EthernetUDP udp;
uint8_t packetbuf[256];
static uint8_t scratch_raw[32];
static coap_rw_buffer_t scratch_buf = {scratch_raw, sizeof(scratch_raw)};

void setup()
{
    int i;
    Serial.begin(9600);
    while (!Serial) 
    {
        ; // wait for serial port to connect. Needed for Leonardo only
    }

    // start the Ethernet connection:
    if (Ethernet.begin(mac) == 0)
    {
        Serial.println("Failed to configure Ethernet using DHCP");
        while(1);
    }
    Serial.print("My IP address: ");
    for (i=0;i<4;i++)
    {
        Serial.print(Ethernet.localIP()[i], DEC);
        Serial.print("."); 
    }
    Serial.println();
    udp.begin(PORT);

    coap_setup();
    endpoint_setup();
}

void udp_send(const uint8_t *buf, int buflen)
{
    udp.beginPacket(udp.remoteIP(), udp.remotePort());
    while(buflen--)
        udp.write(*buf++);
    udp.endPacket();
}

void loop()
{
    int sz;
    int rc;
    coap_packet_t pkt;
    int i;
    
    if ((sz = udp.parsePacket()) > 0)
    {
        udp.read(packetbuf, sizeof(packetbuf));

        for (i=0;i

 

 

Kemudian pilih file library yang telah di download sebelumnya.

 

Jika langsung compile default script pasti akan terjadi error, masuk ke C:\Users\Documents\Arduino\libraries\microcoap-master, kemudian hapus filemain-posix.c, karena file tersebut digunakan untuk OS X/Linux.

 

Wiring Arduino

Pasang ethernet shield pada Arduino Mega, masukan kabel data dan kabel LAN yang telah disiapkan, kemudian Upload script.

 

 

Install Copper (Firefox Plugin)

Sebelum melanjutkan pengetesan kita harus menentukan broker yang akan dipakai, pada tutorial ini menggunakan Copper (Firefox Plugin).

Buka Firefox kemudian tambahkan Copper(Firefox Plugin) seperti gambar di bawah.

 

 

Jika sudah terinstall cara membuka Copper klik toollbar pada pojok kanan atas layar PC, kemudian akan muncul seperti gambar di bawah, 

1. Copy link yang muncul pada Copper

2. Kemudian paste

 

 

Kemudian akan muncul halaman seperti pada gambar.

 

Kemudian kembali ke program Arduino , Pilih Serial Monitor untuk melihat IP Address Arduino yang anda gunakan.

 

 

Catatan Penting: 

"IP Address yang tertampil di serial monitor Arduino bukan IP address static melainkan dinamic (DHCP), jadi address 192.168.2.109 adalah IP yang didapat dari hasil percobaan ,jika anda mencoba pasti IP nya akan berbeda."

 

Kemudian buka Copper (Fiirefox Plugin), masukan IP Address Arduino 192.168.2.109 atau IP Address yang anda dapatkan, ikuti gambar di bawah ini.

coap://vs0.inf.ethz.ch/ ganti dengan coap://192.168.2.109:5683/


Klik Ping jika sudah terhubung dengan IP Address Arduino maka akan muncul "Pong : Remote responds to CoAP".

 

Ketika di klik Ping maka akan terlihat pada Serial Monitor Arduino nilai yang tertampil akan bertambah ketika di klik Ping.