Sketch Modul WiFi ESP8266-01 Web Client Mode Baca

Pada bagian ini dibahas contoh program untuk membuat Modul Wifi ESP8266-01 yang akan bekerja sebagai web client. Hasilnya user dapat mengontrol nyala dan padamnya LED melalui browser. Hasil penekanan tombol pada web browser akan disimpan dalam file dengan ekstensi json. Untuk membuatnya, ketikkan program di bawah ini pada Arduino IDE kemudian lakukan upload ke modul WiFi ESP8266-01. 

Contoh Program : Prog1.2 Wifi ESP8266-01 Web Client Mode Baca






Penjelasan Program :

1. Pada bagian awal program disertakan library ArduinoJson.h dan ESP8266WiFi.h

2. Baris selanjutnya, dimulai dengan mendefinisikan SSID dan password untuk koneksi WiFi yang akan digunakan.

3. Setelah baris program pengaturan SSID dan password di atas, program mulai masuk ke bagian pengaturan IP server dan pengaturan alamat tempat file json berada (server).

4. Pada bagian selanjutnya mulai masuk ke bagian inisialisasi GPIO modul WiFi ESP8266-01. Inisialisasi pin GPIO pada program ini menggunakan alias yang ditujukan untuk memudahkan kita dalam mengingat nama pin pada proses pembuatan program. Pada kasus ini digunakan pin GPIO 2 dengan alias nama pinDua.

5. Rutin setup :

    a. Bagian awal dari rutin setup mulai didefinisikan arah Pin GPIO yang digunakan. Pada kasus ini pinDua didefinisikan sebagai pin OUTPUT dengan nilai default HIGH.

    b. Selanjutnya masuk ke bagian pengaturan baudrate yang digunakan untuk debug program ke serial monitor Arduino IDE. Baudrate yang digunakan adalah sebesar 115200bps. 

    c. Setelah pengaturan baudrate selesai, program akan menampilkan kata "Connecting to" yang disertai dengan alamat server pada serial monitor Arduino IDE.

    d. Pada bagian selanjutnya, program akan mulai mencoba melakukan koneksi wireless melalui koneksi WiFi yang ditunjuk dengan perintah : WiFi.begin(ssid, password).

    e. Jika koneksi ke jaringan WiFi belum berhasil dilakukan, maka pada serial monitor Arduino IDE akan dicetak titik-titik sampai dengan koneksi berhasil dengan jeda waktu selama 500ms.

     f. Jika koneksi ke jaringan WiFi berhasil dilakukan maka pada serial monitor Arduino IDE akan dicetak "WiFi Connected" kemudian pada baris selanjutnya di serial monitor akan dicetak IP address modul WiFi ESP8266-01. 

6. Rutin loop :

    a. Di awal rutin loop, program akan mulai mencetak kata "Connecting to" yang disertai dengan alamat server pada serial monitor Arduino IDE, kemudian mulai koneksi ke server (sesuai dengan host yang sudah didefinisikan) dengan menggunakan standart port http 80.

    b. Jika koneksi berhasil maka beri delay selama 2 detik kemudian ambil data dari file json yang berada di server dengan perintah. 

    c. Selanjutnya lihatlah respon yang didapat di serial monitor Arduino IDE, untuk percobaan ini didapat respon seperti pada gambar di bawah ini. (catatan : respon bisa berbeda-beda)

Gambar 1.3 Tampilan respon pada serial monitor
 

    d. Untuk mem-parsing respon tersebut, maka kita harus mengetahui bentuk dari respon tersebut. Pada gambar yang terdapat di poin c dapat dilihat bahwa banyak informasi yang berguna dan semua dipisahkan oleh "enter" dan bagian isi file json dipisahkan oleh satu baris kosong.

Gambar 1.4 Respon dengan isi file json

    

 e. Di sini, program akan membaca respon HTTP per baris. Setiap baris direpresentasikan dengan variabel "line" yang terdapat dalam perulangan loop. Kita berikan nama default untuk bagian awal dengan nama "header" (section="header") karena HTTP respon dimulai dengan header. Bagian header tersebut tidak akan berubah sampai dengan adanya baris kosong.

 

Gambar 1.5 Respon bagian header

    f. Ketika bagian json sampai pada baris kosong, maka kita atur variabel section menjadi json (section="json") dengan kata lain bagian respon setelah baris kosong adalah bagian json yang akan kita ambil.

Gambar 1.6 Respon bagian isi file json
 

    g. Selanjutnya kita ambil baris json ke dalam variabel "json_parsed". Setelah itu, LED akan menyala dan padam sesuai dengan baris json yang didapat. Pada bagian pembanding string untuk menyalakan dan memadamkan LED digunakan fungsi "strcmp". 




Posting Komentar

0 Komentar