Ya, Anda dapat mengirim data ke ESP8266 tanpa menggunakan server web, tetapi Anda mungkin ingin menggunakannya, atau menggunakan sesuatu yang secara fungsional terkait dengan itu.
ESP8266 adalah perangkat komputasi dengan tujuan umum dengan radio WiFi dan tumpukan jaringan, karenanya, Anda dapat mengimplementasikan hampir semua protokol yang masuk akal yang ingin Anda uraikan dalam kode.
Namun, telah menjadi sangat populer untuk mengimplementasikan protokol yang terlihat dan bertindak seperti halaman web mini yang ditujukan untuk konsumsi manusia.
yaitu, bukannya klien Anda menghubungkan dan melakukan sesuatu seperti
GET /index.html HTTP/1.1
mungkin dikatakan
GET /gpio/15/value HTTP/1.1
Di mana URL merujuk bukan pada dokumen tertentu, tetapi pada sebagian data pada perangkat yang ingin Anda akses. Anda dapat melakukan hal serupa untuk POST
,, permintaan PATCH
, DELETE
dll.
Kecuali jika Anda membuat halaman untuk konsumsi manusia, biasanya data yang Anda tukarkan bukan halaman HTML. Seringkali itu mungkin seperti JSON. Jadi misalnya
GET /gpio/15/value HTTP/1.1
mungkin memicu respons suka
{"gpio": 15, "direction": "in", "value": 0}
Demikian pula, Anda dapat membuat titik akhir di mana klien Anda dapat menetapkan GPIO dengan mengatakan
POST /gpio/15 HTTP/1.1
{"direction": "out", "value": 1}
Pada tingkat tertentu, semantik atau pertanyaan khusus implementasi jika program yang menjawab pertanyaan seperti itu adalah "server web" - itu bisa berupa server web yang menjalankan berbagai tugas pembantu untuk menangani data dan gpios (seperti server yang melayani laman mungkin secara dinamis menghasilkan beberapa konten mereka dari permintaan basis data), atau itu bisa berupa program khusus yang keduanya berhubungan dengan data dan tahu cara berbicara HTTP.
Dan tentu saja menggunakan HTTP untuk bertukar muatan JSON hanyalah salah satu dari banyak cara dalam melakukan sesuatu - itu hanya menjadi salah satu yang populer saat ini yang menggunakan kembali banyak konsep seperti server web, dan mungkin sedikit banyak bahkan mengizinkan penggunaan browser web untuk pengujian.
Perlu juga diingat bahwa skema semacam itu cenderung berfungsi paling baik secara lokal, ketika telepon dan ESP8266 adalah klien dari jaringan WiFi rumah yang sama. Jika telepon tidak "di rumah" atau itu, tetapi hanya pada jaringan seluler, memungkinkannya untuk mencapai ESP8266 berarti mengizinkan permintaan eksternal ke dalam jaringan rumah, sesuatu yang sebaiknya dihindari. Dalam hal itu, cukup populer untuk menggunakan protokol di mana perangkat ESP8266 dan telepon secara mandiri menjangkau ke server relay eksternal, yang meneruskan pesan di antara mereka. MQTT adalah contoh skema yang sering digunakan untuk sistem dengan arsitektur berbasis server relay.