Kita dapat menghubungkan sebuah mikrokontroler ke jaringan internet bantuan WiFi-Serial e. Melalui ini, sebuah mikrokontroler dapat melakukan transfer data perantara jaringan WiFi. Kali ini kita akan coba menghubungkan Arduino Mega2560 sebuah ESP8266. Ada beberapa skenario yang dapat diterapkan oleh 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 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 API key yang disediakan untuk Anda dan isilah VALUE sesuai data sensor (misalnya dari input analog di Arduino). 1/5
Sebelum Arduino. Hubungkan silakan dan sekali-kali lihat membuat Perlu Vcc gambar akan diperhatikan program, berkedip di atas. WiFi ke bahwa perhatikan Jika warna pinsudah 3.3V biru.pada koneksi mendapat ESP8266 Arduino. kabel tegangan, bekerja antara (Jangan yangwifi-serial WiFi tegangan ke 5V). akanlebih maksimal menyala jelasnya merah, 3,6V. 2/5
3/5
4/5
Sekarang ESP8266. Arduino dan kita Modul ESP8266. lihat ini bagian menggunakan pemrograman Arduino perintah terutama AT (AT Command) masalah antarmuka serial 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 WiFi-Serial 2. Serial untuk debugging (Arduino USB-Serial) Serial1.begin(9600); Serial1.setTimeout(5000); Serial.begin(9600); Serial.println("ESP8266 Client periksa apakah ESP8266 aktif Serial1.println("AT+RST"); if(serial1.find("ready")) {Serial.println("Modul siap"); else Serial.println("Tidak ada respon daridua "); while(1); } setelah 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"); }vcmd oid loop() S tring cmd = /update?key="; "AT+CIPSTART="TCP",""; 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 CR+LF nilai analog. dalam contoh ini, kita;timeout"); menggunakan nilai random 1...10 = "GET TS_Key; +="&field1="; SENSOR_VALUE; += jangan lupa, setiap perintah selalu diakhiri Serial1.print("AT+CIPSEND="); Serial1.println(cmd.length()); if(serial1.find(">")) erial.print(">"); }e lse {S erial1.println("at+cipclose"); Serial.println("koneksi 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