Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger Written by Mada Jimmy Thursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55
Kita dapat menghubungkan sebuah mikrokontroler ke jaringan internet dengan bantuan WiFi-Serial module. Melalui modul ini, sebuah mikrokontroler dapat melakukan transfer data dengan perantara jaringan WiFi. Kali ini kita akan coba menghubungkan Arduino Mega2560 dengan sebuah modul ESP8266. Ada beberapa skenario yang dapat diterapkan oleh modul WiFi-Serial ini, yaitu sebagai client ataupun server.
Berikut ini adalah contoh aplikasi Arduino dan ESP8266 sebagai data logger, misalnya untuk mengirim data temperatur ke server melalui jaringan internet. Selanutnya data ini bisa diakses melalui browser baik PC, laptop maupun smartphone. Anda bisa menggunakan aplikasi yang disediakan oleh website ThingSpeak (www.thingspeak.com) sebagai server yang biasa digunakan dalam bidang Internet of Things (IoT). Dalam hal ini sebaiknya silakan mendaftar dulu jika belum memiliki akun. Selanjutnya akan disediakan channel baru sebagai saluran data Anda yang bisa langsung menyimpan nilai dari sensor yang Anda inginkan sekaligus menyimpan waktu saat data tersebut masuk. Cara memasukkan data adalah dengan sebuah URL yang berisi API key unik (yang hanya Anda sendiri yang sebaiknya tahu) serta sebuah atau beberapa data field.
Lebih jelasnya bisa dilihat formatnya sebagai berikut:
https://api.thingspeak.com/update?key=KEY&field1=VALUE
isilah KEY sesuai dengan API key yang disediakan untuk Anda dan isilah VALUE sesuai dengan data sensor (misalnya dari input analog di Arduino).
1/5
Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger Written by Mada Jimmy Thursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55
Sebelum Arduino. Hubungkan silakan dan sekali-kali lihat Perlu membuat Vcc gambar akan diperhatikan modul program, berkedip di atas. WiFi ke bahwa Jika perhatikan warna pinsudah 3.3V modul biru.pada koneksi mendapat ESP8266 Arduino. kabel tegangan, bekerja antara (Jangan dengan modul modul yangWiFi-serial WiFi tegangan ke 5V). akan Lebih maksimal menyala dengan jelasnya merah, 3,6V. 2/5
Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger Written by Mada Jimmy Thursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55
3/5
Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger Written by Mada Jimmy Thursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55
4/5
Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger Written by Mada Jimmy Thursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55
Sekarang ESP8266. Arduino dan kita Modul ESP8266. lihat ini bagian menggunakan pemrograman Arduino perintah terutama AT (AT Command) masalah antarmuka serial dengan port antara WiFiSSID "XXXXX" //// nama SSID WiFi router Anda ygmelalui terkoneksi internet WiFiPassword "YYYYY" password router DestinationIP "184.106.153.149" // website thingspeak.com #define TS_Key "ZZZZZ" //Demo"); keyformat yang dihasilkan dari website thingspeak.com int SENSOR_VALUE=0; boolean connected=false; setup() {void Inisialisasi komunikasi serial ada yaitu 1. Serial1 untuk modul WiFi-Serial 2. Serial untuk debugging (Arduino USB-Serial) Serial1.begin(9600); Serial1.setTimeout(5000); Serial.begin(9600); Serial.println("ESP8266 Client // periksa apakah modul ESP8266 aktif Serial1.println("AT+RST"); delay(1000); if(Serial1.find("ready")) {Serial.println("Modul siap"); else Serial.println("Tidak ada respon daridua modul"); while(1); } delay(1000); //setelah modul siap, kita coba koneksi sebanyak 5 kali for(int i=0;i<5;i++) { connect_to_WiFi(); (connected) break; if (!connected){ while(1); } delay(5000); // set the single connection mode Serial1.println("AT+CIPMUX=0"); delay(1000); }vcmd oid loop() S tring cmd = /update?key="; DestinationIP cmd += "",80"; Serial1.println(cmd); Serial.println(cmd); if(Serial1.find("Error")) {Serial.println("Koneksi error."); return; }S ENSOR_VALUE=random(1,10); // Anda bisa menggantinya dengan CR+LF nilai analog. // dalam contoh kita;timeout"); menggunakan nilai random 1...10 = "GET TS_Key; +="&field1="; SENSOR_VALUE; += "AT+CIPSTART="TCP",""; ini, // jangan lupa, setiap perintah selalu diakhiri dengan Serial1.print("AT+CIPSEND="); Serial1.println(cmd.length()); if(Serial1.find(">")) erial.print(">"); }e lse {S erial1.println("AT+CIPCLOSE"); Serial.println("koneksi delay(1000); return; erial1.print(cmd); while {cdelay(2000); har c(Serial1.available()) ="rn"; Serial1.read(); Serial.write(c); if(c=='r') Serial.print('n'); erial.println("------end"); delay(10000); }vS connect_to_WiFi() {}eoid erial1.println("AT+CWMODE=1"); String cmd="AT+CWJAP=""; cmd+=WiFiSSID; cmd+="",""; cmd+=WiFiPassword; cmd+="""; Serial.println(cmd); Serial1.println(cmd); delay(2000); if(Serial1.find("OK")) {S erial.println("Sukses, terkoneksi ke WiFi."); connected= true; lse erial.println("Tidak false; dapat terkoneksi ke WiFi. ");
5/5