IOT Basic Tutorial
Last updated: January 26 th, 2017
Geeknesia Microcontroller & IOT Starter 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.
Menghubungkan Intel Galileo ke Geeknesia
Pada tutorial kali ini akan dijelaskan cara menghubungkan intel galileo dengan Geeknesia.
Siapkan Alat dan bahan yang diperlukan.
- Intel Galileo.
- Arduino IDE.
- Kabel Usb (Uploader).
- Kabel Jumper.
Gambar di bawah ini adalah 2 type Intel Galileo:
Intel Galileo Intel Galileo Gen 2
Tahap 1
Sebelum masuk ke tahap pembuatan aplikasi pastikan anda telah mempunyai akun geeknesia.com, Jika telah memiliki akun, LOG IN kemudian Create Project, Create Gateway, dan Create Device.
Tahap 2
Install Arduino IDE versi 1.6.5, Klik disini untuk download Arduino IDE versi 1.6.5.
Jika sudah terinstall buka Arduino IDE pilih Tool=>Board=>Board Manager
Jika sudah ter-install , untuk settingan board pilih lah Intel Galileo atau Intel Galileo Gen 2 sesuai hardware yang anda gunakan.
Tahap 3
Masukan code di bawah ini:
#include#include #include // Update these with values suitable for your network. byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED }; byte ip[] = { 192, 168, 0, 88 }; const int buttonPin = 4; int buttonState=1; int flag=0; int counter=0; int prev =0; int sendMQTT = 0; bool conn_ok; char message_buff[200]; EthernetClient ethClient; PubSubClient client("geeknesia.com", 1883, callback, ethClient); //Address geeknesia void callback(char* topic, byte* payload, unsigned int length) { } void setup() { system("ifup eth0"); delay(10000); //wait for accessing sensor Serial.begin(9600); pinMode(4, INPUT); if (Ethernet.begin(mac) != 1) { Ethernet.begin(mac,ip); } delay(1000); Serial.println("connecting..."); while (client.connect("device-6d9284456b3925220fe630fc2a4xxxxx","iot/will",0,0,"device-6d9284456b3925220fe630fc2a4xxxxx") != 1) { Serial.println("Error connecting to MQTT1"); delay(2000); } //Serial.println("Setup complete"); counter=counter-1; } void senddata(char* topic,char* credential, char *var1, 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); Serial.println(message_buff); client.publish("iot/data",message_buff); } void loop() { if (!client.connected()){ client.connect("device-4bc078183078e67b2d7e8d77452xxxxx",NULL,NULL,"iot/will",2,64,"device-4bc078183078e67b2d7e8d77452xxxxx"); } buttonState = digitalRead(buttonPin); if (buttonState!=prev){ prev = buttonState; if (buttonState==0){ if (flag == 0){ counter=counter+1; Serial.println(counter); senddata("device-4bc078183078e67b2d7e8d77452xxxxx","603161d27af11206824adb7a6xxxxx:0166f36a8e804849d3024d8e4xxxxxxx","Count",counter); flag=1; if(sendMQTT == 1){ conn_ok = client.connected(); } if (conn_ok == 0){ //no connection, reconnect client.disconnect(); } } else{ flag=0; } } } }
Tahap 4
Rangkailah Intel Galileo seperti gambar di bawah ini:
- Masukan SD Card jika ada.
- Masukan kabel power.
- Kemudian kabel USB.
Kemudian upload yang telah dibuat, dan jika sukses buatlah rangkaian seperti gambar di bawah ini, pada intel galileo yang telah di isi program.
Tahap 5
Buka kembali geeknesia.com, dan LOG IN akun anda kemudian buka Project yang telah dibuatkan Gateway dan Device yang dibuat sebelumnya.
Tes aplikasi,Klik button yang telah dihubungkan ke Digital Input Intel Galileo, jika berhasil nilai yang terdisplay pada Geeknesia halaman IoT Management akan bertambah setiap klik button.