Jumat, 22 April 2016

Berkirim Data dengan ESP8266 (Chapter 2)

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

Terima Kasih :D

Tidak ada komentar:

Posting Komentar