สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
Telegram เป็นเรื่องเกี่ยวกับเสรีภาพและโอเพ่นซอร์ส โดยได้ประกาศ Telegram bot API ใหม่ในปี 2015 ซึ่งอนุญาตให้บุคคลที่สามสร้างบอทโทรเลขสำหรับ ESP32 ที่ใช้แอปพลิเคชันการรับส่งข้อความเป็นอินเทอร์เฟซการสื่อสารหลัก ซึ่งหมายความว่าเราสามารถควบคุมแอปพลิเคชันบ้านอัจฉริยะและอุปกรณ์อัจฉริยะอื่นๆ ได้ ดังนั้น ในบทความนี้ เราจะพูดถึงวิธีใหม่ในการควบคุมอุปกรณ์อัจฉริยะของคุณและรู้สถานะ ใช่ คุณพูดถูก เราจะควบคุมพวกเขาด้วยแอปโซเชียลมีเดีย “โทรเลข”
Telegram คืออะไรTelegram คือการส่งข้อความโต้ตอบแบบทันทีบนคลาวด์ข้ามแพลตฟอร์ม บริการโทรศัพท์ผ่านวิดีโอ และ VoIP พร้อมการแชทแบบ end-to-end-encrypted สำหรับการแชทลับเท่านั้น ในขณะที่การเข้ารหัสเซิร์ฟเวอร์-ไคลเอนต์ / ไคลเอนต์-เซิร์ฟเวอร์ ใช้ในการแชทบนคลาวด์
แต่สิ่งที่ทำให้แตกต่างจากแพลตฟอร์มการส่งข้อความอื่น ๆ คือความสามารถในการสร้างบอท
บอทโทรเลขเป็นแอพที่ใช้ AI ที่สามารถกำหนดค่าให้ทำหน้าที่ต่าง ๆ ได้มากมาย ตัวอย่างบางส่วนก็เช่น ส่งข้อมูลที่เกี่ยวข้องเกี่ยวกับสภาพอากาศหรือบทความข่าวที่เป็นประโยชน์ บางส่วนได้รับการกำหนดค่าล่วงหน้าเพื่อส่งการแจ้งเตือน นอกจากนี้ยังมีบางส่วนที่สามารถเล่นเพลงหรือ สร้างรายการสิ่งที่ต้องทำ และอื่นๆ อีกมากมาย
วันนี้เราจะสร้างบอทดังกล่าวซึ่งจะสื่อสารกับ ESP32 ของเรา
ในบทช่วยสอนนี้ เราจะควบคุม LED ด้วยบอทโทรเลข โดย LED จะเชื่อมต่อกับบอร์ด ESP32 แทนที่จะใช้ LED คุณสามารถควบคุมพินใดๆ ที่เชื่อมต่อกับอุปกรณ์หรือส่วนประกอบอื่นๆ
ขั้นตอนที่ 1: ข้อกำหนดสำหรับการสร้างบอทโทรเลขตาม ESP32
เนื่องจากโปรเจ็กต์นี้เป็นโปรเจ็กต์ที่มีซอฟต์แวร์จำนวนมาก จึงไม่จำเป็นต้องมีฮาร์ดแวร์มากนัก แต่มีขั้นตอนค่อนข้างน้อยที่ต้องปฏิบัติตามในด้านซอฟต์แวร์ เราจะพูดถึงขั้นตอนเหล่านั้นในขณะที่เราดำเนินการต่อไปในบทความ
ข้อกำหนดด้านฮาร์ดแวร์:
บอร์ดพัฒนา ESP32
ข้อกำหนดซอฟต์แวร์:
Arduino IDE
ไลบรารี Arduino เฉพาะ
แอปโทรเลข
ขั้นตอนที่ 2: สร้างโทรเลข Bot
ดังที่เราได้กล่าวไว้ก่อนหน้านี้ Telegram ช่วยให้เราสร้างบอทหลายตัวที่มีฟังก์ชันการทำงานที่แตกต่างกัน สำหรับโครงการของเรา เราจะสร้างบอทอย่างง่ายโดยใช้โทรเลข การประกาศและการตอบกลับคำสั่งที่เหลือจะถูกเข้ารหัสในบอร์ด ESP ซึ่งจะสื่อสารกับบอทของเราโดยใช้ ID แชท เราจะพูดถึงสิ่งเหล่านั้นในขณะที่เราดำเนินการต่อไปในบทความ ด้วยวิธีนี้ เราสามารถโฟกัสไปที่การสร้างบอทใน Telegram ได้
ติดตั้งโทรเลขจาก Play Store
หลังจากติดตั้งแล้ว ให้สร้างบัญชีหากคุณยังไม่มีบัญชี และทำตามขั้นตอนถัดไปเพื่อให้บอท TG ของคุณทำงาน
ขั้นแรก ค้นหา "botfather" และคลิก BotFather ดังที่แสดงด้านล่าง หรือเปิดลิงค์นี้ t.me/botfather บนสมาร์ทโฟนของคุณ
Botfather เป็นบอทโทรเลขที่สร้างไว้ล่วงหน้าที่ให้คุณสร้าง จัดการ และลบบอทของคุณ
คลิกที่ปุ่มเริ่มต้นและเลือก /newbot ตั้งชื่อและชื่อผู้ใช้บอทของคุณ
หากบอทของคุณสร้างสำเร็จ คุณจะได้รับข้อความพร้อมลิงก์เพื่อเข้าถึงบอทที่สร้างขึ้นใหม่และโทเค็นของบอท
โทเค็นบอทเป็นรหัสเฉพาะที่เราจะใช้เพื่อสื่อสารกับบอทในภายหลัง
ขั้นตอนที่ 3: รับรหัสแชททางโทรเลขของคุณ
รหัสผู้ใช้โทรเลขเป็นหมายเลขเฉพาะสำหรับการแชท กลุ่ม และผู้ใช้ทุกรายการ ซึ่งช่วยให้ Telegram ระบุผู้ใช้และแชทได้ ในโครงการของเรา ทุกคนที่มีลิงก์ไปยังบอทสามารถโต้ตอบกับบอทได้ เพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต เราสามารถเข้ารหัสโดยใช้รหัสผู้ใช้เฉพาะ
โดยการทำเช่นนี้ ทุกครั้งที่ ESP ได้รับข้อความจากบอท มันจะตรวจสอบว่า id สอดคล้องกับ id ที่เก็บไว้ในนั้นหรือไม่ จากนั้นรันคำสั่งเท่านั้น
ขั้นตอนในการรับ ID ผู้ใช้โทรเลขของคุณ:
ในบัญชีโทรเลขของคุณ ค้นหา "IDBot" หรือเปิดลิงก์นี้ t.me/myidbot บนสมาร์ทโฟนของคุณ
เริ่มการสนทนากับบอทนั้นแล้วพิมพ์ /getid คุณจะได้รับการตอบกลับพร้อม ID ผู้ใช้ของคุณ
จดรหัสผู้ใช้ตามที่เราต้องการในภายหลัง
ขั้นตอนที่ 4: การติดตั้ง Telegram Bot Library
เราจะใช้ Arduino IDE เพื่อตั้งโปรแกรมบอร์ด ESP32 ดังนั้น ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง IDE และแพ็คเกจบอร์ดบนพีซีของคุณแล้ว เราจำเป็นต้องติดตั้งสองไลบรารีใน Arduino IDE โดยใช้ไลบรารีเหล่านี้จะทำให้ขั้นตอนการเข้ารหัสง่ายขึ้นและสะดวกขึ้นมาก
ในการสร้างการสื่อสารกับ Telegram bot เราจะใช้ Universal Telegram Bot Library ที่สร้างโดย Brian Lough ซึ่งมีอินเทอร์เฟซที่ใช้งานง่ายสำหรับ Telegram Bot API
ทำตามขั้นตอนถัดไปเพื่อติดตั้งไลบรารีรุ่นล่าสุด
คลิกลิงก์นี้เพื่อดาวน์โหลดไลบรารี Universal Arduino Telegram Bot
ไปที่ Sketch > รวมไลบรารี > Add. ZIP Library…
เพิ่มห้องสมุดที่คุณเพิ่งดาวน์โหลด และนั่นแหล่ะ
ห้องสมุดได้รับการติดตั้ง
สำหรับรายละเอียดเกี่ยวกับไลบรารี คุณสามารถดูได้ที่หน้า Universal Arduino Telegram Bot Library GitHub
ห้องสมุด ArduinoJson:
คุณต้องติดตั้งไลบรารี ArduinoJson ด้วย ทำตามขั้นตอนถัดไปเพื่อติดตั้งไลบรารี
ไปที่ Sketch > รวมไลบรารี > จัดการไลบรารี
ค้นหา "ArduinoJson"
เลือกเวอร์ชันล่าสุดที่มี
ติดตั้งห้องสมุด
เมื่อเราติดตั้งไลบรารีที่จำเป็นทั้งหมดเสร็จแล้ว เราก็สามารถทำได้
ขั้นตอนที่ 5: การเขียนโปรแกรมบอตโทรเลขตาม ESP32
เราต้องแฟลช ESP32 เพื่อให้รับข้อความที่ส่งจากบอท เปรียบเทียบ ID ผู้ใช้ และเปิดหรือปิด LED ตามข้อความที่ได้รับ
ในโค้ดแรกสุด เราเริ่มต้นด้วยการนำเข้าไลบรารีที่จำเป็น
หลังจากนั้น เราจะเริ่มต้นตัวแปรเพื่อจัดเก็บ SSID และรหัสผ่านของ Wi-Fi ของคุณ
ในทำนองเดียวกัน เรากำหนดตัวแปรสำหรับการถือโทเค็นบอทและรหัสแชท คุณต้องใส่ข้อมูลประจำตัวของคุณในตัวแปรเหล่านี้
คุณจะพบโค้ดที่สมบูรณ์พร้อมคำอธิบายได้ที่นี่
ขั้นตอนที่ 6:
ตอนนี้เราได้ตั้งค่าทุกอย่างเรียบร้อยแล้ว อัปโหลดโค้ดดังกล่าวไปยังบอร์ด ESP32 ของคุณผ่าน Arduino IDE อย่าลืมเลือกบอร์ดและพอร์ตที่ถูกต้องขณะอัปโหลดภาพร่าง
หลังจากอัปโหลดภาพร่างแล้ว ให้กดปุ่ม EN/รีเซ็ต บนกระดาน เพื่อเริ่มรันโค้ด เปิดจอภาพอนุกรม และรอให้บอร์ดเชื่อมต่อกับเราเตอร์ Wi-Fi ของคุณ ตอนนี้เปิดโทรเลขแล้วเริ่มการสนทนากับบอทของคุณโดยไปที่ลิงก์ที่ Botfather ให้มาและพิมพ์ /start
ตอนนี้คุณสามารถควบคุม LED หรือรู้สถานะโดยพิมพ์คำสั่งที่เกี่ยวข้อง
ขั้นตอนที่ 7: บอทโทรเลขตาม ESP32 - ทำงาน
คุณยังสามารถดูวิดีโอที่สาธิตการทำงานของบทช่วยสอนนี้ได้ หากคุณมีคำถามใด ๆ คุณสามารถทิ้งไว้ในส่วนความคิดเห็นด้านล่าง
ฉันหวังว่าคุณจะสนุกกับบทความนี้และได้เรียนรู้บางสิ่งที่เป็นประโยชน์ สำหรับบทแนะนำที่น่าสนใจเพิ่มเติม โปรดติดตามเราที่ Instructables