ใช่คุณสามารถส่งข้อมูลไปยัง ESP8266 ได้โดยไม่ต้องใช้เว็บเซิร์ฟเวอร์ แต่คุณอาจต้องการใช้งานหรือใช้สิ่งที่เกี่ยวข้องกับหน้าที่
ESP8266 เป็นอุปกรณ์คำนวณที่มีวัตถุประสงค์ทั่วไปที่มีวิทยุ WiFi และเครือข่ายสแต็คดังนั้นคุณสามารถใช้โปรโตคอลที่เหมาะสมที่คุณสนใจเพื่ออธิบายในรหัส
อย่างไรก็ตามมันได้รับความนิยมอย่างมากในการใช้โปรโตคอลที่มีลักษณะและทำงานคล้ายกับเว็บเพจขนาดเล็กที่มีไว้เพื่อการบริโภคของมนุษย์
เช่นแทนที่จะเชื่อมต่อลูกค้าและทำสิ่งที่ต้องการ
GET /index.html HTTP/1.1
มันอาจพูด
GET /gpio/15/value HTTP/1.1
ที่ที่ URL อ้างถึงไม่ใช่เอกสารเฉพาะ แต่เป็นข้อมูลบางส่วนในอุปกรณ์ที่คุณต้องการเข้าถึง คุณสามารถทำสิ่งที่คล้ายกันสำหรับPOST
, PATCH
, DELETE
คำขอ ฯลฯ
เว้นแต่ว่าคุณกำลังสร้างหน้าเพื่อการบริโภคของมนุษย์โดยทั่วไปข้อมูลที่คุณแลกเปลี่ยนจะไม่ใช่หน้า HTML บ่อยครั้งที่มันอาจเป็นสิ่งที่เหมือน JSON แทน ตัวอย่างเช่น
GET /gpio/15/value HTTP/1.1
อาจทำให้เกิดการตอบสนองเช่น
{"gpio": 15, "direction": "in", "value": 0}
ในทำนองเดียวกันคุณสามารถสร้างจุดปลายทางที่ลูกค้าของคุณอาจตั้ง GPIO โดยพูด
POST /gpio/15 HTTP/1.1
{"direction": "out", "value": 1}
ในระดับหนึ่งจะมีคำถามเฉพาะเกี่ยวกับความหมายหรือการนำไปใช้งานหากโปรแกรมที่ตอบแบบสอบถามนั้นเป็น "เว็บเซิร์ฟเวอร์" - อาจเป็นเว็บเซิร์ฟเวอร์ที่ใช้งานตัวช่วยต่างๆเพื่อจัดการกับข้อมูลและ gpios (เท่าที่เซิร์ฟเวอร์แสดงหน้าเว็บแบบไดนามิก สร้างเนื้อหาบางส่วนจากการสืบค้นฐานข้อมูล) หรืออาจเป็นโปรแกรมเฉพาะที่เกี่ยวข้องกับข้อมูลและรู้วิธีพูดคุย HTTP
และแน่นอนว่าการใช้ HTTP เพื่อแลกเปลี่ยน JSON payloads เป็นเพียงหนึ่งในหลาย ๆ วิธีในการทำสิ่งต่าง ๆ - มันเพิ่งจะได้รับความนิยมในปัจจุบันซึ่งใช้แนวคิดเว็บเซิร์ฟเวอร์ที่เหมือนกันอีกครั้งและในระดับหนึ่งอาจอนุญาตให้ใช้เว็บเบราว์เซอร์ สำหรับการทดสอบ
นอกจากนี้ยังควรคำนึงว่าโครงการดังกล่าวมีแนวโน้มที่จะทำงานได้ดีที่สุดในพื้นที่เมื่อโทรศัพท์และ ESP8266 เป็นลูกค้าของเครือข่าย WiFi ในบ้านเดียวกัน หากโทรศัพท์ไม่ใช่ "ที่บ้าน" หรือเป็น แต่อยู่ในเครือข่ายมือถือเท่านั้นการอนุญาตให้โทรศัพท์ไปถึง ESP8266 อาจหมายถึงการอนุญาตคำขอภายนอกเข้าสู่เครือข่ายภายในบ้านสิ่งที่ควรหลีกเลี่ยง ในกรณีนี้มันค่อนข้างเป็นที่นิยมในการใช้โปรโตคอลที่ทั้งอุปกรณ์ ESP8266 และโทรศัพท์ติดต่อกับเซิร์ฟเวอร์รีเลย์ภายนอกซึ่งส่งข้อความระหว่างกัน MQTT เป็นตัวอย่างหนึ่งของรูปแบบที่มักใช้สำหรับระบบที่มีสถาปัตยกรรมแบบรีเลย์เซิร์ฟเวอร์