ESP8266 Menggunakan Arduino IDE Ver 2
ESP8266 Menggunakan Arduino IDE Ver 2
ESP8266-12
FTDI
Kabel
Perlengkapan Solder
Resistor 220
Push Button
LED
Bread Board
Pastikan sudah memiliki akun Geeknesia, Jika belum, ikuti cara registrasi seperti dibawah ini:
Step 1
Buka Link www.Geeknesia.com kemudian buatlah akun baru, isilah kolom Your First Name,
Your Last Name dan Your Email, kemudian klik Sign Up for Geeknesia, tunggu sampai
mendapatkan konfirmasi registrasi ke email anda.
Masukan email dan password yang telah anda terima di email kemudian klik LOGIN , jika
berhasil login berarti akun anda sudah bisa dipakai.
Tahap berikutnya, lakukan proses Create Device , untuk menginput data device ke program
yang akan dibuat seperti username,password dan lain-lain, dengan mengikuti step di bawah
ini:
Step 1
Untuk membuat device baru, klik +Add New Device
Informasi yang tertampil merupakan kredensial dari device anda yang terdiri dari : Device
ID, Username, Password, APIKey, dan Published Topic, yang nantinya akan dibutuhkan saat
membuat program .
Catatan!! Rahasiakan ID Device anda untuk mencegah terjadinya pemakaian id device
oleh developer lain yang bisa menyebabkan error-nya data pada device anda.
Pada daftar device anda akan muncul device baru yang telah dibuat dan siap digunakan, klik
Details untuk melihat kembali Id Device anda , klik Edit untuk edit device dan Delete untuk
menghapus device anda.
Kemudian tambahkan link dibawah ini pada kolom Additional Board Manager URLs :
http://arduino.esp8266.com/staging/package_esp8266com_index.json
Setelah selesai melakukan proses Installl ESP tool dan sebelum meneruskan ke tahap
programming, kita membutuhkan library pendukung, yakni pubsubclient-master.zip yang
sudah kita download terlebih dahulu
Buka Sketch => Include Library => Add ZIP Library
Kemudian pilih library berbentuk format Zip yang sudah anda download di C:/GE
Upload source code di bawah ini ke ESP8266 yang telah di wiring. Atau bukalah file
Button_Publish.ino yang telah didownload sebelumnya terletak di folder C:/GE
pinMode(12, INPUT_PULLUP);
}
// Fungsi mengirim data terdapat pada bagian ini (Publish)
void senddata(char topic[],String credential, String 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);
}
// Pada bagian ini dibuat agar code terus berjalan(running/looping)
void loop() {
// Jika Wifi disconnect maka akan ter-print (.) pada serial print Arduino IDE
if (WiFi.status() != WL_CONNECTED) {
Serial.print("Connecting to ");
Serial.print(ssid);
Serial.println("...");
WiFi.begin(ssid, pass);
// Dan jika wifi disconnect maka code akan looping di bagian cek wifi ini,
// dan sebaliknya jika connect maka code akan melanjutkan
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();
}
// Program Button
buttonState = digitalRead(12);
if (buttonState == 1) {
digitalWrite(2, LOW);
flag="OFF";
}
else {
// turn LED off:
digitalWrite(2,HIGH);
flag="ON";
}
senddata(deviceId,deviceCredential,"Lamp", flag);
delay(5000);
}
Isilah SSID dan Key sesuai dengan Wifi Network anda :
const char *ssid = "SSID"; //SSID Wifi
const char *pass = "KEY"; //Pass Wifi
Lalu isilah deviceId, deviceUsername, devicePassword sesuai dengan kredential device
yang anda dapatkan ketika melakukan Add Device di Geeknesia :
char *deviceId = "device-8d7dc14bf6cf010d1d06a98f6712xxxx";
char *deviceUsername = "cc9b84861eff1bed4a599a4e94a7xxxx";
char *devicePassword = "e72dc6860e6a6de16ceaac0fbc92xxxx";
Setelah itu, lakukan UPLOAD Program ke module ESP ini. Apabila sukses, maka
akan Done Upload.
Setelah proses Upload tersebut berhasil, Cabutlah module FTDI dari module ESP. lalu
rangkaikanlah sesuai diagram di bawah ini. Catatan Penting!! Setelah Upload program
berhasil, lepaslah jumper hitam yang terletak di samping (di PCB tertulis PROG, yakni
GPIO 0 ke Ground).
Terlihat di gambar connected menyatakan bahwa device telah connect ke Geeknesia dan
status Lamp: ON dan Lamp: OFF menandakan bahwa status device di hardware ON atau
OFF, untuk lebih meyakinkan cobalah klik button yang tersambung dengan ESP-12 jika status
hardware dan Geeknesia sama maka percobaan berhasil.