Halo semuaaa.. Sepertinya saya memang sudah lama tidak menulis progress
di blog ini, maafkaaann :(:( Kalo begitu langsung saja dalam tulisan ini saya akan
mengulas tentang ESP8266 beserta ketidakberhasilan dan sedikit pencerahan yang
kami temukan.
Percobaan-percobaan sebelumnya telah diketahui bahwa kami belum
berhasil menggunakan ESP ini untuk mengirim pesan. Nah, ketika masing-masing
kelompok diminta menceritakan progress yang mereka jalani di dalam kelas, ada
kelompok yang progress-nya lebih baik dari kami yaitu kelompok Andra dkk. Dari sana,
kami mencoba mengikuti langkah-langkah kelompok tersebut untuk mengetahui apa
perbedaan yang kami lakukan sehingga hasilnya bisa berbeda.
Setelah ditelaah, ternyata ada 2
kesalahan yang kami lakukan. Pertama,
alokasi byte untuk mengirim data harus sesuai dengan panjang data yang
dikirimkan pada “AT+CIPSEND=<data-length>”. Awalnya kami mengira alokasi
byte tersebut tidak akan menjadi masalah jika melebihi panjang data asalkan
tidak kurang dari panjang yang seharusnya. Ternyata, jika alokasi lebih
panjang, IDE akan terus menunggu sisa data command yang masuk sehingga
membuatnya “busy”. Kedua, alokasi
byte tersebut termasuk memasukkan “\r\n” untuk megirim command dan membuat
baris baru sepanjang 4 byte dengan mengetikkan 2 kali enter setelah syntax
request “GET \TES_ESP.php?temperature=20HTTP\1.0\”. Syntax ini digunakan untuk meminta keluaran dari
file php dengan masukan temperature = 20. Ketika kita menuliskan syntax
tersebut sebagai kode program, “\r\n” ditulis dibelakangnya, sehingga ketika “\r\n”
tidak ditulis, arduino akan terus menunggunya. Sebelumnya hasil yang kami
terima adalah 408 atau request timeout yang menandakan bahwa arduino terlalu
lama menunggu waktu respon dari server.
Nah setelah
itu, kami lakukan percobaan ulang dengan kode yang sudah diperbaiki hasilnya
voila… kata yang selama ini kami nantikan akhirnya muncul juga, “Send OK” pun
ada di depan mata. Meski masih manual, belum pada kodingannya, sudah lumayan memberi
sedikit kelegaan. Tapi kami juga tahu bahwa perjalanan masih harus dilanjutkan
hehe..
Okee
berikut langkah-langkah mengirim data menggunakan ESP8266 yang kami lakukan.
1. Pasang rangkaian ESP8266 dan arduino.
2. Lakukan koneksi ke access point (kami menggunakan connectify pada
laptop).
3. Aktifkan web server menggunakan apache pada xampp.
4. Buat file .php
|
file .php (TES_ESP.php) ini digunakan untuk membuat file external bernama myFile.txt
yang akan menerima data dari serial monitor |
5. Upload kode kosong ke arduino kemudian buka serial monitor.
6. Ketik AT+CWLAP untuk melihat daftar access point.
7. Ketik AT+CWJAP=”<nama access point>”,”<password>”
untuk berkoneksi dengan access point.
8. Ketik AT+CIPSTART=”<socket connection>”,”<IP
address>”,<port web server>.
9. Ketik AT+CIPSEND=<data-length> untuk alokasi byte
syntax request.
10. Tunggu respon dari server. (400 = bad request, 408 = request timeout, 200 OK = server menerima request)
|
Menggunakan byte counter untuk menghitung jumlah byte yang diperlukan dalam alokasi byte |
|
Tampilan serial monitor ketika mengetikkan AT command |
|
Hasilnya, file.txt terbuat dan berisi data yang dikirimkan |