ทราบกันดีว่าปัจจุบัน App Line มีการเปิด API ให้อุปกรณ์ Arduino Nodemcu Esp8266 สามารถเชื่อมต่อ Line แล้วส่งข้อความแจ้งเตือนผ่าน Line ก็ได้ มาสักระยะแล้ว วันนี้เราได้นำบทความที่เป็นปัจจุบัน ล่าสุด นำมาสอนให้น้องๆได้ใช้กันแบบไม่มีปัญหาน่ะครับ หลักการทำงานของ Line notify อุปกรณ์ Nodemcu Esp8266 Esp32 Arduino+W5100 จะทำการส่งข้อความ ผ่าน Methol Post ไปยัง Server ของ Line NotiFy อุปกรณ์จะต้องรองรับ SSL ด้วยน่ะครับ บทความนี้เราจะมาพูดถึงการสมัคร Line Notify กันครับ ก่อนอื่นน้องๆจะต้องมี ID Line ก่อนน่ะครับ Email และ Password ที่เข้า Line ได้ อันนี้ทางร้านจะไม่ขอพูดน่ะครับเพราะเชื่อว่าทุกคนทำได้อยู่แล้ว เรามาเริ่มกันเลย ครับ 1. ก่อนอื่นเปิดเว็บ นี้ก่อนเลย ครับ https://notify-bot.line.me/th/ https://notify-bot.line.me/th/ 2. จากนั้นจะขึ้น ตามภาพ ให้กดที่ปุ่ม เข้าสู่ระบบ ที่มุมขวาบน 3. Login ด้วย Email และ Password Line ของเราเข้าไป 5. ในส่วนนี้ จะเป็นการตั้งชื่อ และให้ส่งข้อความ หาเราเองหรือ ส่งข้อความเข้ากลุ่ม ที่เราต้อการ
จากนั้นให้ทำการกดปุ่ม ออก Token (อันนี้ Admin ก็ไม่เข้าใจทำไมต้องแปลออกมาคำว่าออก Token ทำไมไม่ใช้คำว่าสร้าง จะได้เข้าใจง่ายขึ้น) 6. จากนั้นให้เรา คัดลอก Token เก็บไว้ เราจะเอาส่วนนี้ไปใช้ในโปรแกรมของเรา จบแล้วครับ ง่ายไหมเอย เดี่ยวมาลุยกันต่อในส่วนของ Code จากครั้งที่แล้วเราได้พูดถึงการสมัคร Line Notify เรียบร้อย อย่าลืม Copy ในส่วนของ Token ด้วยน่ะครับเราต้องใช้ด้วยน่ะครับ เรามาเริ่มกันเลย ทางร้านแนะนำให้ใช้ Library ของ พี่ TridentTD ชื่อว่า https://github.com/TridentTD/TridentTD_LineNotify เรามาเริ่มกันเลย ครับ 1. ก่อนอื่นให้เรา Download Library มาติดตั้งในเครื่องก่อนน่ะครับ Download : ติดตั้งไม่เป็นสามารถอ่านบทความ เพิ่มเติมได้น่ะครับ https://www.ab.in.th/b/32 (ใช้วิธีที่ 2 ติดตั้งแบบ Winzip) ESP-NOW คือการสื่อสารแลกเปลี่ยนข้อมูลระหว่างบอร์ด ESP32 ESP8266 สามารถเขียนโปรแกรมควบคุมได้ด้วย Arduino IDE การสื่อสารแบบ ESP-NOW เป็นโปรโตคอลที่พัฒนาโดย Espressif สำหรับส่งข้อมูลขนาดเล็กแบบประหยัดพลังงานด้วยความถี่ 2.4G ทำให้อุปกรณ์คุยกันได้โดยตรงแบบไม่ต้องผ่านตัวกลาง สามารถสื่อสารได้ทั้งแบบ อุปกรณ์และอุปกรณ์ หรือแบบหลายอุปกรณ์แบบเครือข่ายได้พร้อมกัน ความสามารถของ ESP-NOW
ESP-NOW การใช้งานส่งข้อมูลระหว่างบอร์ด ESP32 คำสั่งในการสั่งงาน ESP-NOW
โค้ด Arduino ESP-NOW ESP32 ตัวอย่างที่นี่ 1. แบบ One-way ตัวส่ง 1 ตัว ตัวรับ 1 ตัว - กำหนด address ตัวรับ
อัพโหลดโค้ดตัวรับก่อนจากนั้นเปิดดู Serial Monitor จะเห็นเลข mac address นำเลข address มาแก้ไขให้กับโค้ดตัวส่ง เพื่อกำหนดให้ตัวส่ง ส่งข้อมูลไปหาตัวที่มี mac address นี้ 2. แบบ One-way ตัวรับ 1 ตัว ตัวส่งหลายตัว - แค่กำหนด mac address ตัวรับ
เปิดดูใน Serial Monitor ของตัวรับ จะเห็นว่า มีข้อมูลส่งมา 2 ชุด ID 1 และ ID2 แสดงว่าทั้งสองบอร์ดส่งข้อมูลมาที่ตัวรับได้สำเร็จ 3. แบบ One-way ตัวส่ง 1 ตัว ตัวรับหลายตัว - เพิ่ม address ตัวรับทั้ง 2 ตัว ส่งแบบ channal
4. แบบ Two-way รับและส่งในตัวเดียวกัน- กำหนด mac address ของตัวรับ
เปิดดูใน Serial Monitor จะเห็นว่าอุปกรณ์ 1 ตัว สามารถทำงานได้ทั้งเป็นตัวรับ และตัวส่งแล้ว การใช้งาน ESP-NOW ESP32 เพิ่มเติมดังนี้ ตัวอย่างการใช้งานกับ ESP-NOW ESP8266
การใช้งานระหว่าง ESP8266 กับบอร์ด ESP32 สามารถใช้โค้ดของแต่ละบอร์ดในตัวอย่างนี้เพื่อรับส่งข้อมูลได้ เพิ่มเติม ESP8266 ใช้โค้ดคล้ายกับ ESP32 โดยมีจุดที่แตกต่างกับ ESP32 6 จุดดังนี้ 1. เปลียน include libarary include <esp_now.h>
include <WiFi.h>เป็น 2 ตัวนี้ include <espnow.h>
include <ESP8266WiFi.h>2. เปลียนตัวแปร ESP_OK esp_now_init() != ESP_OK เป็น esp_now_init() != 0 3. เปลี่ยนตัวแปรในฟังก์ชั่น OnDataRecv จาก void OnDataRecv(uint8_t * mac, uint8_t *incomingData, int len) เป็น void OnDataRecv(uint8_t * mac, uint8_t *incomingData, uint8_t len) 4 เปลี่ยนฟังก์ชั่น OnDataSend จาก void OnDataSent(uint8_t *mac_addr, esp_now_send_status_t status) เป็น void OnDataSent(uint8_t *mac_addr, uint8_t status 5 เปลี่ยน status == ESP_NOW_SEND_SUCCESS เป็น sendStatus == 0 6 เปลียนวิธี Register peer เป็น เป็น // Register peer esp_now_add_peer(broadcastAddress, ESP_NOW_ROLE_SLAVE, 1, NULL, 0); ข้อมูลวิธีใช้งาน ESP-NOW ESP32 ESP8266 เพิ่มเติม
|