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:
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.
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 <SPI.h> #include <Ethernet.h> #include <PubSubClient.h> // 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.