Top Banner
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
5

Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger · WiFi-Serial module. Melalui modul ini, sebuah mikrokontroler dapat melakukan transfer data dengan perantara jaringan WiFi.

Oct 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger · WiFi-Serial module. Melalui modul ini, sebuah mikrokontroler dapat melakukan transfer data dengan perantara jaringan WiFi.

Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger

Written by Mada JimmyThursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55

Kita dapat menghubungkan sebuah mikrokontroler ke jaringan internet dengan bantuanWiFi-Serial module.  Melalui modul ini, sebuah mikrokontroler dapat melakukan transfer datadengan perantara jaringan WiFi.  Kali ini kita akan coba menghubungkan Arduino Mega2560dengan sebuah modul ESP8266. Ada beberapa skenario yang dapat diterapkan oleh modulWiFi-Serial ini, yaitu sebagai client ataupun server.

Berikut ini adalah contoh aplikasi Arduino dan ESP8266 sebagai data logger, misalnya untukmengirim data temperatur ke server melalui jaringan internet.  Selanutnya data ini bisa diaksesmelalui browser baik PC, laptop maupun smartphone.  Anda bisa menggunakan aplikasi yangdisediakan oleh website ThingSpeak (www.thingspeak.com) sebagai server yang biasadigunakan dalam bidang Internet of Things (IoT). Dalam hal ini sebaiknya silakan mendaftardulu jika belum memiliki akun.  Selanjutnya akan disediakan channel baru sebagai saluran dataAnda yang bisa langsung menyimpan nilai dari sensor yang Anda inginkan sekaligusmenyimpan waktu saat data tersebut masuk. Cara memasukkan data adalah dengan sebuahURL yang berisi API key unik (yang hanya Anda sendiri yang sebaiknya tahu) serta sebuahatau 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 sesuaidengan data sensor (misalnya dari input analog di Arduino).

1 / 5

Page 2: Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger · WiFi-Serial module. Melalui modul ini, sebuah mikrokontroler dapat melakukan transfer data dengan perantara jaringan WiFi.

Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger

Written by Mada JimmyThursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55

Sebelum membuat program, perhatikan koneksi kabel antara modul WiFi-serial denganArduino.  Perlu diperhatikan bahwa modul ESP8266 bekerja dengan tegangan maksimal 3,6V.Hubungkan Vcc modul WiFi ke pin 3.3V pada Arduino. (Jangan yang ke 5V).  Lebih jelasnyasilakan lihat gambar di atas.  Jika sudah mendapat tegangan, modul WiFi akan menyala merah,dan sekali-kali akan berkedip warna biru.

2 / 5

Page 3: Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger · WiFi-Serial module. Melalui modul ini, sebuah mikrokontroler dapat melakukan transfer data dengan perantara jaringan WiFi.

Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger

Written by Mada JimmyThursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55

3 / 5

Page 4: Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger · WiFi-Serial module. Melalui modul ini, sebuah mikrokontroler dapat melakukan transfer data dengan perantara jaringan WiFi.

Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger

Written by Mada JimmyThursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55

4 / 5

Page 5: Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger · WiFi-Serial module. Melalui modul ini, sebuah mikrokontroler dapat melakukan transfer data dengan perantara jaringan WiFi.

Arduino Mega dan Modul WiFi ESP8266 untuk Data Logger

Written by Mada JimmyThursday, 09 April 2015 21:37 - Last Updated Friday, 10 April 2015 20:55

Sekarang kita lihat bagian pemrograman Arduino terutama masalah antarmuka denganESP8266. Modul ini menggunakan format perintah AT (AT Command) melalui serial port antaraArduino dan ESP8266. #define WiFiSSID "XXXXX" // nama SSID WiFi router Anda yg terkoneksi internet#define WiFiPassword "YYYYY" // password router #define DestinationIP "184.106.153.149" // website thingspeak.com #define TS_Key "ZZZZZ" // key yang dihasilkan dari website thingspeak.com int SENSOR_VALUE=0;boolean connected=false;void setup(){ // Inisialisasi komunikasi serial ada dua 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 Demo"); delay(1000); //  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 dari modul"); while(1); } delay(1000); //setelah modul siap, kita coba koneksi sebanyak 5 kali for(int i=0;i<5;i++) { connect_to_WiFi(); if (connected) { break; } } if (!connected){ while(1); } delay(5000); // set the single connection mode Serial1.println("AT+CIPMUX=0"); delay(1000);}void loop(){String cmd = "AT+CIPSTART="TCP","";cmd += DestinationIP ;cmd += "",80";Serial1.println(cmd);Serial.println(cmd);if(Serial1.find("Error")){ Serial.println("Koneksi error.");return;}SENSOR_VALUE=random(1,10);  // Anda bisa menggantinya dengan nilai analog.// dalam contoh ini, kita menggunakan nilai random 1...10cmd = "GET /update?key=";cmd += TS_Key;cmd +="&field1="; cmd += SENSOR_VALUE;cmd += "rn";        // jangan lupa, setiap perintah selalu diakhiri dengan CR+LFSerial1.print("AT+CIPSEND=");Serial1.println(cmd.length());if(Serial1.find(">")){Serial.print(">");}else{Serial1.println("AT+CIPCLOSE");Serial.println("koneksi timeout");delay(1000);return;}Serial1.print(cmd);delay(2000);while (Serial1.available()){char c = Serial1.read();Serial.write(c);if(c=='r') Serial.print('n');}Serial.println("------end");delay(10000);}void connect_to_WiFi(){Serial1.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")){Serial.println("Sukses, terkoneksi ke WiFi.");connected= true;}else{Serial.println("Tidak dapat terkoneksi ke WiFi. ");connected= false;}}

5 / 5