สิ้นสุดบริการ LINE Notify
💬 ขอบคุณ LINE Notify สำหรับประสบการณ์ที่ดีที่ผ่านมา
ก่อนอื่นต้องขอขอบคุณ LINE Notify ที่ครั้งหนึ่งเคยให้บริการแจ้งเตือนที่สะดวกและใช้งานง่าย จนกลายเป็นส่วนหนึ่งของชีวิตดิจิทัลของเรา ไม่ว่าจะเป็นการแจ้งเตือน IoT หรือแจ้งเตือนงานต่าง ๆ เราได้รับประสบการณ์ที่ยอดเยี่ยมอย่างแท้จริง
📢 การเปลี่ยนแปลงของ LINE Notify
ปัจจุบัน LINE Notify ได้เปลี่ยนรูปแบบไปเป็น Message API มีการพัฒนาให้เหมาะสำหรับธุรกิจ หรือผู้ใช้ LINE Official Account (LINE OA) มากขึ้น ซึ่งถือว่าเป็นการพัฒนาที่ดี แต่สำหรับนักพัฒนามือใหม่ก็อาจจะต้องใช้เวลาในการปรับตัวกับการใช้งานใหม่
Telegram อีกทางเลือกที่น่าสนใจ สำหรับแจ้งเตือน
Telegram ทางเลือกใหม่สำหรับแจ้งเตือน
สำหรับเมกเกอร์หรือผู้พัฒนาโปรเจกต์ที่กำลังมองหาทางเลือกใหม่ Telegram เป็นตัวเลือกที่น่าสนใจมาก ด้วย API ที่ยืดหยุ่นและฟรี สามารถใช้งานได้โดยไม่จำเป็นต้องผ่านบัญชีทางการ อีกทั้งยังรองรับบอทแจ้งเตือนและการสื่อสารแบบ real-time ได้ดีมาก
ข้อดีของการใช้ Telegram
- ใช้งานฟรีและเข้าถึงง่าย
- รองรับการแจ้งเตือนที่หลากหลาย เช่น IoT และการแจ้งเตือนจากระบบต่าง ๆ
- สร้างบอทและจัดการได้สะดวก
- ชุมชนและทรัพยากรช่วยเหลือมากมาย
ลองเปิดประสบการณ์ใหม่
ใช้ ESP32 ส่งข้อความผ่าน Telegram Bot : อีกหนึ่งช่องทางในการแจ้งเตือนจากอุปกรณ์ IoT รับรองว่าจะได้รับประสบการณ์ใหม่ที่ดี และยังคงสะดวกสบายเหมือนที่ LINE Notify เคยเป็นในอดีต
ขั้นตอนการส่งข้อความผ่าน Telegram Bot โดยใช้ ESP32
ทำความรู้จักกับการสร้าง Telegram Bot และการตั้งค่าเพื่อให้ ESP32 สามารถส่งข้อความไปยัง Telegram ได้ ซึ่งเป็นกระบวนการที่ไม่ยากและสามารถนำไปปรับใช้ในโปรเจกต์ IoT ของคุณได้หลายรูปแบบ ไม่ว่าจะเป็นการรับข้อมูลเซ็นเซอร์หรือแจ้งเตือนเหตุการณ์ต่างๆ ที่เกิดขึ้นในระบบ ขั้นตอนต่อไปนี้การตั้งค่าพื้นฐาน การใช้ Telegram Bot API และตัวอย่างโค้ดที่สามารถนำไปใช้งานได้จริง
1. สร้าง Telegram Bot
- ติดตั้ง https://telegram.org/ และสมัครให้เรียบร้อย
- เปิดแอป Telegram และค้นหาบอทชื่อ
@BotFather
@BotFather ใน Telegram เปรียบเสมือน หน้าจัดการบอท (Bot Management Interface) ที่คุณสามารถใช้สร้างบอท ตั้งค่าบอท และจัดการบอทต่างๆ ได้ทั้งหมด โดย @BotFather เป็นบอทอย่างเป็นทางการจาก Telegram ที่ทำหน้าที่ช่วยคุณสร้างและจัดการบอทอื่นๆ
- พิมพ์
/start
เพื่อส่งคำสั่งเริ่มต้นให้กับ@BotFather
- จากนั้นส่งคำสั่ง
/newbot
เพื่อสร้างบอทใหม่
- ตั้งชื่อบอท (Bot Name) เช่น
imi
- ชื่อผู้ใช้บอท (Bot Username) โดยชื่อผู้ใช้ต้องลงท้ายด้วย
bot
(เช่นimiconsystem_bot
) - เมื่อสร้างบอทเสร็จ
@BotFather
จะให้ Token มา ให้เก็บ Token นี้ไว้ เพราะจะใช้ในการส่งข้อความจาก ESP32
2. หา Chat ID ของคุณ
เพื่อให้บอทส่งข้อความถึงคุณได้ คุณต้องรู้ Chat ID ของคุณ (หรือกลุ่มที่คุณต้องการส่งข้อความ)
- ส่งข้อความใดก็ได้ไปยังบอทที่คุณสร้าง (หาบอทไม่เจอ สังเกตลูกศรอันที่ 4 ของภาพด้านบน
@BotFather
จะให้ link bot มาด้วย) - เปิดเบราว์เซอร์และไปที่ลิงก์นี้ (แทนที่
YOUR_BOT_TOKEN
ด้วย Token ของบอท):ดำเนินการผ่าน HTTPS รูปแบบนี้:https://api.telegram.org/bot<token>/getUpdates
เช่นตัวอย่างนี้:https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getUpdates
- คุณจะเห็นข้อมูล JSON ที่มี
chat.id
ซึ่งคือ Chat ID ของคุณ ให้เก็บค่าchat.id
นี้ไว้
ตัวอย่างการเรียก API และผลลัพธ์
- ส่งข้อความ “Hello” ไปที่บอทของคุณในแอป Telegram
- เรียก API ผ่านเบราว์เซอร์:
https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getUpdates
- ผลลัพธ์ที่ได้ควรมีลักษณะดังนี้:
{ "ok": true, "result": [ { "update_id": 123456789, "message": { "message_id": 1, "from": { "id": 987654321, // นี่คือ Chat ID ของคุณ "is_bot": false, "first_name": "YourName", "username": "YourUsername" }, "chat": { "id": 987654321, // นี่คือ Chat ID ของคุณ "first_name": "YourName", "username": "YourUsername", "type": "private" }, "date": 1698765432, "text": "Hello" } } ] }
- ค่า
chat.id
ในตัวอย่างคือ987654321
ซึ่งคือ Chat ID ของคุณ
- ค่า
3. เขียนโค้ด ESP32
- เปิด Arduino IDE และติดตั้งไลบรารี
Universal Telegram Bot
ผ่าน Library Manager - ใช้โค้ดตัวอย่างด้านล่างเพื่อส่งข้อความผ่าน Telegram Bot:
#include <WiFi.h>
#include <UniversalTelegramBot.h>
#include <WiFiClientSecure.h>
// กำหนดค่าต่างๆ
const char* ssid = "ชื่อ WiFi ของคุณ";
const char* password = "รหัสผ่าน WiFi ของคุณ";
const char* botToken = "YOUR_BOT_TOKEN"; // Token จาก @BotFather
const String chatId = "YOUR_CHAT_ID"; // Chat ID จากขั้นตอนที่ 2
WiFiClientSecure client;
UniversalTelegramBot bot(botToken, client);
void setup() {
Serial.begin(115200);
// เชื่อมต่อ WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nเชื่อมต่อ WiFi แล้ว");
// ตั้งค่า SSL สำหรับ Telegram
client.setInsecure();
// ส่งข้อความผ่าน Telegram Bot
String message = "สวัสดีจาก ESP32!";
if (bot.sendMessage(chatId, message, "")) {
Serial.println("ส่งข้อความสำเร็จ");
} else {
Serial.println("ส่งข้อความไม่สำเร็จ");
}
}
void loop() {
// ไม่ต้องทำอะไรใน loop
}
4. อัปโหลดโค้ดและทดสอบ
- อัปโหลดโค้ดไปยัง ESP32
- เปิด Serial Monitor เพื่อดูผลลัพธ์
- หากทุกอย่างถูกต้อง คุณจะได้รับข้อความจากบอทใน Telegram
มุมมองบนเว็บ
มุมมองบนสมาร์ทโฟน
ส่งการแจ้งเตือนในกลุ่ม
Chat ID: หากต้องการส่งข้อความไปยังกลุ่ม ให้เพิ่มบอทเข้าไปในกลุ่มและหา Chat ID ของกลุ่มแทน
สรุป
การใช้ ESP32 ส่งข้อความผ่าน Telegram Bot เป็นวิธีที่ง่ายและมีประสิทธิภาพมาก โดยเฉพาะสำหรับการแจ้งเตือนหรือส่งข้อมูลจากอุปกรณ์ IoT คุณเพียงแค่ต้องสร้างบอท, หา Chat ID, และเขียนโค้ด ESP32 เพื่อส่งข้อความผ่าน API ของ Telegram เท่านั้น! เช่นเดียวกันคุณสามารถใช้มันได้บน Node-RED
ตัวอย่างการประยุกต์ใช้บน MicroLearner
@imiconsystem แจ้งเตือนผ่าน Telegram Bot ด้วย MicroLearner #telegram #notify #microlearner #iot #esp32 #iMicon ♬ Success Motivation – FiiStockSounds
โค้ดนี้เป็นโปรแกรมสำหรับESP32ที่ทำหน้าที่เชื่อมต่อ Wi-Fi และส่งข้อความแจ้งเตือนผ่านTelegram Botเมื่อมีการกดปุ่มที่เชื่อมต่อกับ ESP32 โดยสรุปการทำงานมีดังนี้:
1.ส่วนตั้งค่า (Setup)
- เชื่อมต่อ Wi-Fi: ESP32 จะเชื่อมต่อกับเครือข่าย Wi-Fi ที่กำหนดไว้ใน
ssid
และpassword
- ตั้งค่า Telegram Bot: ใช้ Token จาก @BotFather และ Chat ID ของผู้รับข้อความ
- ตั้งค่า Input สำหรับปุ่ม: กำหนดพินที่เชื่อมต่อกับปุ่มเป็นโหมด Input และเปิดใช้งาน pull-down resistor เพื่อป้องกันสัญญาณรบกวน
- ส่งข้อความเริ่มต้น: เมื่อ ESP32 เชื่อมต่อ Wi-Fi สำเร็จ จะส่งข้อความ “สวัสดีจาก ESP32!” ไปยัง Telegram
2.ส่วนการทำงานหลัก (Loop)
- ตรวจสอบปุ่ม: ในลูปหลัก โปรแกรมจะตรวจสอบสถานะของปุ่ม 3 ตัว (buttonPin1, buttonPin2, buttonPin3) อย่างต่อเนื่อง
- ส่งข้อความเมื่อกดปุ่ม:
- หากตรวจพบว่าปุ่มใดถูกกด (สถานะเป็น
HIGH
) จะส่งข้อความแจ้งเตือนไปยัง Telegram ว่า “Button X pressed” (X คือหมายเลขปุ่ม) - ตัวอย่าง: หากกดปุ่ม 1 จะส่งข้อความ “Button 1 pressed” ไปยัง Telegram
- หากตรวจพบว่าปุ่มใดถูกกด (สถานะเป็น
- ป้องกันการกดซ้ำ: ใช้
delay(250)
เพื่อป้องกันการส่งข้อความซ้ำเนื่องจากสัญญาณรบกวนหรือการกดปุ่มค้าง
สรุปการทำงาน
- โปรแกรมนี้ใช้ ESP32 เชื่อมต่อ Wi-Fi และส่งข้อความแจ้งเตือนผ่าน Telegram Bot เมื่อมีการกดปุ่ม
- ตัวอย่างการใช้งาน: สามารถใช้เป็นระบบแจ้งเตือนเมื่อมีคนกดปุ่ม เช่น ปุ่มเรียกพยาบาล, ปุ่มแจ้งเหตุฉุกเฉิน, หรือปุ่มควบคุมอุปกรณ์ IoT