เรียนรู้วิธี การทำงานของ ESP-NOW โดยใช้ ESP8266, ESP32 ร่วมกับ Arduino IDE
![](https://i0.wp.com/store.microtronic.biz/wp-content/uploads/2023/06/ESP-NOW.png?resize=980%2C533&ssl=1)
เนื้อหาบทความ :
หัวข้อ 1 : ความเข้าใจ ESP8266 และ ESP-NOW
ESP8266 เป็นชิปไมโครคอนโทรลเลอร์ที่มีความสามารถในการเชื่อมต่อกับเครือข่าย Wi-Fi และมีความสามารถในการดำเนินการเป็นเซิร์ฟเวอร์หรือไคลเอนต์ในโหมดการทำงานต่าง ๆ โดยมีขนาดเล็กและราคาประหยัด ทำให้เป็นที่นิยมในการใช้งานในโครงการ IoT และโปรเจกต์อื่น ๆ ที่ต้องการการเชื่อมต่อกับอินเทอร์เน็ตและการสื่อสารแบบไร้สาย
![](https://i0.wp.com/store.microtronic.biz/wp-content/uploads/2023/06/image.jpg?resize=554%2C391&ssl=1)
ความสามารถที่มีของ ESP8266 :
- เชื่อมต่อกับเครือข่าย Wi-Fi : ESP8266 สามารถเชื่อมต่อกับเครือข่าย Wi-Fi เพื่อใช้ในการเชื่อมต่อกับอินเทอร์เน็ตและการสื่อสารกับอุปกรณ์อื่น ๆ ผ่านเครือข่ายไร้สาย
- การทำงานเป็นเซิร์ฟเวอร์ (Server) : ESP8266 สามารถทำงานเป็นเซิร์ฟเวอร์เพื่อรับข้อมูลและร้องขอจากอุปกรณ์อื่น ๆ ผ่านเครือข่าย Wi-Fi เช่น การส่งข้อมูลจากเซ็นเซอร์หรือการควบคุมอุปกรณ์ผ่านเว็บเบราว์เซอร์
- การทำงานเป็นไคลเอนต์ (Client) : ESP8266 สามารถทำงานเป็นไคลเอนต์เพื่อเชื่อมต่อและส่งข้อมูลไปยังเซิร์ฟเวอร์หรืออุปกรณ์อื่น ๆ ผ่านเครือข่าย Wi-Fi เช่น การดึงข้อมูลจากเว็บเซิร์ฟเวอร์หรือการส่งคำสั่งไปยังอุปกรณ์อื่น
- การตรวจจับและควบคุมอุปกรณ์ : ESP8266 สามารถใช้งานเซ็นเซอร์ต่าง ๆ เช่น เซ็นเซอร์อุณหภูมิหรือเซ็นเซอร์ความชื้น เพื่อตรวจจับและควบคุมสภาวะแวดล้อม
- การสื่อสารแบบไร้สาย : โดยใช้โปรโตคอลที่มีอยู่ใน ESP8266 เช่น MQTT หรือ ESP-NOW เพื่อสื่อสารระหว่างอุปกรณ์ ESP8266 หรืออุปกรณ์อื่น ๆ ที่ใช้โปรโตคอลที่เหมือนกัน
- การโปรแกรมแบบ Interactive Programming : ESP8266 สามารถโปรแกรมให้ทำงานตามความต้องการของโปรเจกต์ โดยใช้ภาษา Arduino IDE ที่มีการสนับสนุนอย่างดี
ESP8266 เป็นชิปที่มีความสามารถหลากหลายและเหมาะสำหรับการพัฒนาโปรเจกต์ IoT หรือโปรเจกต์อื่น ๆ ที่ต้องการการเชื่อมต่อกับเครือข่ายและการสื่อสารระยะใกล้ โดยมีราคาที่ประหยัดและความสามารถในการทำงานอย่างมีประสิทธิภาพ
![](https://i0.wp.com/store.microtronic.biz/wp-content/uploads/2023/06/2f8ddb23-0de7-43d8-b3c5-a40e71d5e93f-1.jpg?resize=980%2C195&ssl=1)
ESP-NOW เป็นโปรโตคอลการสื่อสารแบบไร้สายที่ถูกพัฒนาขึ้นโดย Espressif Systems ซึ่งใช้ในการสื่อสารระหว่างอุปกรณ์ ESP8266 หรือ ESP32 โดยตรงโดยไม่ต้องผ่านจุดเชื่อมต่อบลูทูธหรือเครือข่ายไร้สายอื่นๆ
ESP-NOW ใช้โปรโตคอล Wi-Fi เพื่อส่งข้อมูลระหว่างอุปกรณ์ แต่ใช้เทคนิคการสื่อสารที่แตกต่างจากการเชื่อมต่อ Wi-Fi ทั่วไป โดยเฉพาะอย่างยิ่งในแง่ของการประสิทธิภาพ นอกจากนี้ยังการใช้พลังงาน โดย ESP-NOW สามารถใช้งานได้ในโหมด Access Point (AP) และโหมด Station (STA) ที่มีอุปกรณ์ ESP8266 หรือ ESP32 เป็นตัวปลายทางของการสื่อสาร
ความสามารถของ ESP-NOW คือ :
- การกำหนดตั้งค่า : ในตัวอุปกรณ์ ESP8266 หรือ ESP32 ที่เป็นโหมด Access Point (AP) จะต้องกำหนดค่าช่องสื่อสาร และ คีย์การเข้ารหัสที่จะใช้ในการสื่อสารกับอุปกรณ์อื่น ๆ
- การส่งข้อมูล : อุปกรณ์ต้นทางสร้างข้อมูลที่ต้องการส่งและส่งผ่านช่องสื่อสารที่กำหนดไว้ ข้อมูลจะถูกแพ็กเก็ต และ ส่งไปยังอุปกรณ์ปลายทาง
- การรับข้อมูล : อุปกรณ์ปลายทางจะตั้งค่าเป็นโหมดรับข้อมูล และ รอรับข้อมูลที่ถูกส่งมาจากอุปกรณ์ต้นทางผ่านช่องสื่อสารที่กำหนดไว้
- การตรวจจับ และ การเข้ารวม : อุปกรณ์ ESP8266 หรือ ESP32 สามารถตรวจจับอุปกรณ์อื่นที่อยู่ในระยะทาง และ เชื่อมต่อกับอุปกรณ์เหล่านั้นได้ จากนั้นก็สามารถส่งข้อมูลระหว่างอุปกรณ์ดังกล่าวได้
ESP-NOW เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการสื่อสารแบบไร้สายระหว่างอุปกรณ์ ESP8266 หรือ ESP32 โดยไม่ต้องใช้การสื่อสารผ่านระบบเครือข่าย Wi-Fi หรืออุปกรณ์เพิ่มเติม นั่นเป็นเหตุผลที่ทำให้ ESP-NOW เป็นทางเลือกที่น่าสนใจสำหรับโครงการ Internet of Things (IoT) หรือโปรเจกต์ที่ต้องการการสื่อสารระยะใกล้และการใช้พลังงานต่ำได้
หัวข้อ 2 : เตรียมอุปกรณ์และซอฟต์แวร์สำหรับการใช้งาน
- Microcontroller Board : ESP8266, ESP32, หรือ TTGO 2 บอร์ดขึ้นไป
- Micro USB Cable : ใช้เชื่อมต่อ ESP8266 ผมซื้อจากที่นี่ โชคดีที่ประเทศเรามี ร้านค้าออนไลน์
NOTE : คุณสามารถใช้สายชารจ์โทรศัพท์ที่คุณมี เพียงแค่ให้มั่นใจว่าสายชาร์จของคุณสามารถส่งข้อมูลได้ - อุปกรณ์เสริมเพิ่มเติม : แบตเตอรี่, สายเคเบิ้ล, เสาแอนเทนนา (Antenna)
- Software : Arduino IDE
หัวข้อ 3 : การเชื่อมต่อ และ สร้างสัญญาณเชื่อมต่อระหว่าง ESP8266
![](https://i0.wp.com/store.microtronic.biz/wp-content/uploads/2023/06/img_0741.png?resize=980%2C515&ssl=1)
- ขั้นตอนวิธีการเชื่อมต่อ ESP8266 กับ Arduino IDE
- การเขียนโปรแกรมพื้นฐานสำหรับสร้างสัญญาณเชื่อมต่อระหว่างอุปกรณ์
หัวข้อ 4 : การส่งข้อมูลผ่าน ESP-NOW
การสื่อสารแบบทางเดียว (ONE-WAY Communication)
![](https://i0.wp.com/store.microtronic.biz/wp-content/uploads/2023/06/esp-now-one-way-1.png?resize=980%2C693&ssl=1)
การสื่อสารแบบสองทาง (TWO-WAY Communication) สามารถรับ/ส่ง ข้อมูลได้ในตัวเดียวกัน
![](https://i0.wp.com/store.microtronic.biz/wp-content/uploads/2023/06/esp-now-one-way-2.png?resize=980%2C693&ssl=1)
การใช้ ESP-NOW รวบรวมข้อมูลจาก ESP หลายตัว (ONE Slave- Multiple Master)
![](https://i0.wp.com/store.microtronic.biz/wp-content/uploads/2023/06/esp-now-one-way-3.png?resize=980%2C693&ssl=1)
การใช้ ESP-NOW กระจายข้อมูลไปยัง ESP หลายตัว (ONE Master – Multiple Slave)
![](https://i0.wp.com/store.microtronic.biz/wp-content/uploads/2023/06/esp-now-one-way-4.png?resize=980%2C693&ssl=1)
หัวข้อ 5 : การประยุกต์ใช้ ESP8266 + Sensor สื่อสารผ่าน ESP-NOW ในโครงการ IoT (Internet Of Think)
- อธิบายการใช้งานเซ็นเซอร์เบื้องต้นร่วมกับ ESP8266
- แสดงวิธีการส่งข้อมูลจากเซ็นเซอร์ไปยังอินเทอร์เน็ตของสรรพสิ่ง
- ตัวอย่างการใช้งาน ESP-NOW และ ESP8266 ในโครงการ IoT
- พิจารณาความเป็นไปได้ในการพัฒนาโปรเจคเฉพาะอื่นๆ ด้วย ESP-NOW