สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- ขั้นตอนที่ 2: ติดตั้ง IDE
- ขั้นตอนที่ 3: การสร้าง Telegram Bot
- ขั้นตอนที่ 4: แก้ไข อัปโหลด และทดสอบ Sketch
- ขั้นตอนที่ 5: ปรับปรุง
วีดีโอ: [IoT] Telegram Bot พร้อม Arduino MKR WiFi 1010: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
โปรเจ็กต์นี้สาธิตวิธีเชื่อมต่อ Arduino กับ Telegram Bot APIs โปรเจ็กต์นี้สร้างขึ้นจากบอร์ด MKR WiFi 1010 ใหม่ที่ติดตั้งโมดูล ESP32 โดย U-BLOX
ในขั้นตอนนี้ โปรเจ็กต์ไม่ได้เป็นเพียงการพิสูจน์แนวคิด เพียงเพื่อแสดงให้คุณเห็นว่าคุณสามารถทำอะไรได้บ้าง ดังนั้นสำหรับสิ่งนี้ คุณต้องการเพียงบอร์ด Arduino เท่านั้น
แต่บอทโทรเลขคืออะไร บอทเป็นเพียงบัญชีโทรเลขที่ดำเนินการโดยซอฟต์แวร์ ไม่ใช่บุคคล และมักมีคุณสมบัติ AI พวกเขาสามารถทำอะไรก็ได้ ไม่ว่าจะเป็นการสอน เล่น ค้นหา ออกอากาศ เตือนความจำ เชื่อมต่อ ผสานรวมกับบริการอื่นๆ หรือแม้แต่ส่งคำสั่งไปยังอินเทอร์เน็ตของสรรพสิ่ง (เครดิตโดย Telegram:
ในกรณีของเรา เราจะส่งคำสั่งไปยัง Arduino เพื่อสร้างอุปกรณ์ IoT อย่างง่าย มันจะตอบคำสั่งง่ายๆ และเปิด/ปิดไฟ LED ในตัวด้วย ฉันจะปล่อยให้จินตนาการของคุณทำอะไรกับมันมากขึ้น… (ลองจินตนาการว่าต้องเชื่อมต่อรีเลย์อย่างน้อยหนึ่งตัวเข้ากับพิน I/O และเปิด/ปิดเครื่องทำความร้อนหรือระบบปรับอากาศด้วยสมาร์ทโฟนของคุณ เป็นต้น)
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
สำหรับโครงการนี้คุณต้องการ:
- Arduino MKR WiFi 1010 จากร้าน Arduino:https://store.arduino.cc/arduino-mkr-wifi-1010
- Arduino IDE 1.8.5 หรือสูงกว่า:https://www.arduino.cc/en/Main/Software
- สาย micro-usb เพื่อเชื่อมต่อ Arduino กับพีซีของคุณ
- การเชื่อมต่ออินเทอร์เน็ตต้องใช้ SSID และรหัสผ่าน ดีกว่าถ้าคุณใช้เราเตอร์ที่บ้านของคุณเองเพื่อให้แน่ใจว่าไม่ได้ถูกบล็อก
- แอพ Telegram ที่ติดตั้งบนสมาร์ทโฟนของคุณไม่ว่าจะเป็นยี่ห้อใดก็ตาม ตรวจสอบที่นี่สำหรับเวอร์ชั่น PC และเว็บด้วย!
ขั้นตอนที่ 2: ติดตั้ง IDE
ใช่ ฉันรู้ ฉันรู้… พวกคุณส่วนใหญ่มี Arduino IDE ติดตั้งอยู่ในพีซีแล้ว แต่ Instructables นี้มีไว้สำหรับผู้เริ่มต้นเช่นกัน ดังนั้น ก่อนอื่น ดาวน์โหลด Arduino IDE 1.8.5 ที่คุณเลือก (ไฟล์ zip สำหรับ 'ไม่ใช่ผู้ดูแลระบบ' หรือไฟล์ exe)
แนะนำให้ใช้เวอร์ชัน 1.8.5 ฉันไม่ได้ทดสอบเวอร์ชันเก่าและบอร์ดใหม่ที่ใช้ในโปรเจ็กต์ไม่รองรับเลย
ตอนนี้คุณต้องติดตั้งบอร์ดใหม่พร้อมไดรเวอร์:
- เริ่ม IDE
- จากเมนูเครื่องมือ ให้เลือกบอร์ด จากนั้น ที่ด้านบนสุดของรายการโปรเซสเซอร์ ให้เลือกตัวจัดการบอร์ด
- เลื่อนหน้าต่างใหม่ (ดูภาพ) จนกว่าคุณจะพบบอร์ด Arduino SAMD ที่มี MKR WiFi 1010 ใหม่
- คลิกที่แท็บนั้นหรือคลิกที่ข้อมูลเพิ่มเติมภายในแท็บ เลือกเวอร์ชันล่าสุดและติดตั้ง
- รอให้การติดตั้งเสร็จสิ้น จะดูแลการติดตั้งไดรเวอร์ด้วย
- คุณต้องมีไลบรารี WiFi ใหม่สำหรับบอร์ดนี้: เลือก Sketch, Include Library และ Manage Libraries ค้นหา Wifinina และติดตั้งเช่นเดียวกับที่คุณทำกับโปรเซสเซอร์ด้านบน
ตอนนี้เชื่อมต่อบอร์ด Arduino ใหม่และรอให้ Windows ทำการติดตั้งไดรเวอร์ให้เสร็จ
จากเมนูเครื่องมือ -> บอร์ด คุณจะพบบอร์ดใหม่ ให้เลือก MKR WiFi 1010
ไลบรารีพิเศษอื่นที่จำเป็นสำหรับโครงการนี้คือห้องสมุด ESP8266TelegramBot โดย Giancarlo Bacchio ห้องสมุดได้รับการแก้ไขเล็กน้อยเพื่อให้ทำงานกับบอร์ดนี้จึงรวมอยู่ในโฟลเดอร์ของสเก็ตช์
เลือกพอร์ต com ที่ถูกต้องและทดสอบบอร์ดด้วยคำสั่ง Get Board Info
ยินดีด้วย คุณทำ IDE เสร็จแล้ว!
ขั้นตอนที่ 3: การสร้าง Telegram Bot
การสร้าง Telegram Bot ใหม่นั้นค่อนข้างง่าย
เปิดแอป Telegram และในแถบค้นหา ให้พิมพ์ @BotFather และเริ่มแชทกับเขา (ภาพที่1) BotFather คือ… โรงงาน Bot มันจะช่วยคุณสร้างบอทใหม่และเปลี่ยนการตั้งค่า
หลังจากคำสั่ง /start คุณจะเห็นรายการความช่วยเหลือ (ภาพที่2)
- พิมพ์ /newbot (image3) ตอนนี้พิมพ์ชื่อบอทของคุณ ชื่อจะปรากฏในรายละเอียดการติดต่อและที่อื่นๆ
- BotFather จะขอชื่อผู้ใช้จากคุณ ชื่อผู้ใช้เป็นชื่อย่อ เพื่อใช้ในลิงก์ที่กล่าวถึงและลิงก์โทรเลข ชื่อผู้ใช้มีความยาว 5-32 อักขระและไม่คำนึงถึงขนาดตัวพิมพ์ แต่อาจมีได้เฉพาะอักขระละติน ตัวเลข และขีดล่างเท่านั้น ชื่อผู้ใช้ของบอทต้องลงท้ายด้วย "บอท" เช่น 'tetris_bot' หรือ 'TetrisBot'
- หากทั้งชื่อและชื่อผู้ใช้ถูกต้อง คุณจะได้รับชุดอักขระยาวที่เรียกว่า TOKEN นี่คือ 'คีย์' ส่วนตัวของคุณที่ใช้ในการสื่อสารกับเซิร์ฟเวอร์ Telegram ให้คัดลอกและวางลงในไฟล์ข้อความบนพีซีของคุณในตอนนี้ เราจะนำไปใช้ในโค้ด Arduino ในภายหลัง หากคุณทำหาย ไม่ต้องกังวล เพียงเปิดแชทอีกครั้งแล้วพิมพ์ /token เพื่อสร้างใหม่
ขั้นตอนทั้งหมดอธิบายไว้ที่นี่:https://core.telegram.org/bots#6-botfather
ขั้นสูง (ไม่บังคับ)
เปิดแชทอีกครั้งแล้วพิมพ์ /help
คลิก (หรือพิมพ์) /setuserpic เพื่ออัปโหลดรูปภาพสำหรับบอทของคุณ คลิก (หรือพิมพ์) /setabouttext เพื่อตั้งค่าส่วน About สำหรับ Bot ของคุณ: ผู้คนจะเห็นข้อความนี้ในหน้าโปรไฟล์ของบอทและจะถูกส่งไปพร้อมกับ ลิงก์ไปยังบอทของคุณเมื่อแชร์กับผู้อื่น
คลิก (หรือพิมพ์) /setdescription เพื่อตั้งค่าส่วนคำอธิบายสำหรับบอทของคุณ ผู้คนจะเห็นคำอธิบายนี้เมื่อเปิดแชทกับบอทของคุณในบล็อกที่ชื่อ 'บอทนี้ทำอะไรได้บ้าง'
ขั้นตอนที่ 4: แก้ไข อัปโหลด และทดสอบ Sketch
ได้เวลาอัปโหลดซอฟต์แวร์ไปยังบอร์ด Arduino MKR WiFi 1010
ดาวน์โหลดไฟล์แนบ ด้วยเหตุผลบางอย่างฉันไม่สามารถอัปโหลด ZIP ได้ ดังนั้นให้สร้างโฟลเดอร์ชื่อเป็นภาพร่างและคัดลอกไฟล์ทั้ง 4 ที่อยู่ในนั้น โปรดอย่าเปลี่ยนชื่อเว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่
แก้ไข
เปิดภาพร่าง เราต้องกรอกข้อมูลบางส่วน (ภาพที่1):กรอก arduino_secrets.h ด้วยข้อมูลรับรอง wifi และโทรเลขของคุณ
- ค้นหาข้อมูลเครือข่าย WiFi และพิมพ์ชื่อเครือข่าย (SSID) และรหัสผ่านของคุณ
- ค้นหาข้อมูลบอทโทรเลขและพิมพ์ชื่อ ชื่อผู้ใช้ และโทเค็นที่ @BotFather. จัดเตรียมให้
ที่อัพโหลด
ตรวจสอบให้แน่ใจว่าบอร์ดถูกต้อง (ภาพที่2) ใน ide และเชื่อมต่อแล้วลองคอมไพล์โค้ด หากการรวบรวมเป็นไปด้วยดี ให้อัปโหลดไปยังบอร์ด ใช้เวลาเพียงไม่กี่วินาที
ในกรณีที่มีปัญหา ให้ตรวจสอบการพิมพ์ผิดและลองอีกครั้ง
ทดสอบ
[สำคัญ!] ร่างส่งบันทึกไปยัง IDE โปรเซสเซอร์มีพอร์ต USB ดั้งเดิม (เช่น บอร์ด Leonardo) เมื่อเปิดเครื่องแล้ว รหัสจะรอจนกว่ามอนิเตอร์ซีเรียลจะทำงาน ปล่อยให้มันเชื่อมต่อกับพีซีและเปิดจอภาพแบบอนุกรม Arduino จะเชื่อมต่ออินเทอร์เน็ตก่อน จากนั้นจึงเริ่มสำรวจเซิร์ฟเวอร์ Telegram เพื่อหาข้อความใหม่ (ภาพที่ 3)
ตอนนี้เปิด Telegram บนอุปกรณ์ที่คุณต้องการและในช่องค้นหา ให้พิมพ์ชื่อบอทของคุณ (ไม่ใช่ชื่อผู้ใช้ที่ลงท้ายด้วย 'bot') เปิดแชทกับมัน
คำสั่งแรกในการเริ่มแชทกับบอทคือ /start Arduino ของเราจะตอบด้วยข้อความต้อนรับ ตอนนี้พิมพ์ help (โดยไม่ใส่เครื่องหมายทับ) มันจะตอบด้วยรายการคำสั่งที่รองรับ คุณสามารถลองใช้งานได้ทั้งหมด (ภาพที่ 4)
คุณทำแบบทดสอบเสร็จแล้ว หากมีบางอย่างไม่ทำงาน ให้ตรวจสอบข้อมูลที่ป้อนในแบบร่าง (ชื่อ ชื่อผู้ใช้ โทเค็น…)
ใบรับรองหากคุณพบข้อผิดพลาดในการเชื่อมต่อกับเซิร์ฟเวอร์โทรเลข (บันทึก: ไม่ได้เชื่อมต่อบอท):
- เปิดเครื่องมือ->Wifi101/wifinina updater
- ตรวจสอบให้แน่ใจว่าบอร์ดของคุณเชื่อมต่อแล้ว ตรวจสอบพอร์ตทางด้านซ้ายของเครื่องมืออัพเดต บอร์ดจะต้องอยู่ที่นั่น
- คลิก Open updater sketch และอัปโหลดไปยังบอร์ด
- หลังจากอัปโหลดแล้ว ในตัวอัปเดตให้เลือกเฟิร์มแวร์ล่าสุดสำหรับบอร์ดของคุณ แล้วคลิกอัปเดตเฟิร์มแวร์
- หลังจากอัปเดต ในส่วน ใบรับรอง SSL ในตัวอัปเดต ให้คลิก เพิ่มโดเมน ในกล่องโต้ตอบให้เขียน telegram.org:443 จากนั้นกด ตกลง
- คลิกอัปโหลดใบรับรองไปยังโมดูล wifi
- อัปโหลดภาพร่างนี้ไปที่บอร์ด
ขั้นตอนที่ 5: ปรับปรุง
เมื่อดูโค้ดแล้ว การใช้งานคำสั่งใหม่และตอบกลับผู้ใช้ทำได้ง่ายมาก
คำสั่งใหม่: คุณสามารถเขียนคำสั่งย่อยสำหรับแต่ละคำสั่งใหม่ได้ ทุกส่วนย่อยจะดูแลการกรอกคำสั่งและ (ในที่สุด) ส่งคืนข้อมูลสถานะให้กับผู้ใช้
จำกัดผู้ใช้:แน่นอนว่าโครงการนี้เป็นเพียงตัวอย่างเท่านั้น ผู้ใช้ Telegram ทุกคนสามารถเชื่อมต่อกับบ้านของคุณและส่งคำสั่งที่ไม่ต้องการได้ คุณไม่ต้องการสิ่งนี้!.
ดูรูปที่ 1 มันแสดงผู้ใช้ 2 คนเชื่อมต่อกัน อย่างที่คุณเห็นผู้ใช้แต่ละคนมี ID ผู้ใช้ของตัวเอง ด้วยการทำงานเพียงเล็กน้อยในด้านโค้ด คุณสามารถกรอง (หรือสร้างรายการ) สำหรับผู้ใช้ที่ได้รับอนุญาตเท่านั้น เพียงศึกษารหัสและลองสกัดกั้นหมายเลข ID ผู้ใช้ จากนั้นรันคำสั่งจากผู้ใช้ที่รู้จักกันดีเท่านั้น
ฮาร์ดแวร์: ด้านฮาร์ดแวร์ เซ็นเซอร์และรีเลย์จำนวนมากสามารถเชื่อมต่อกับพิน I/O ของ Arduino
ระวัง บอร์ดที่ใช้ในโปรเจ็กต์นี้ทน 3.3V !!! ใช้ตัวปรับระดับแรงดันไฟฟ้าเมื่อจำเป็น! สำหรับข้อมูลเพิ่มเติมและเคล็ดลับเกี่ยวกับบอร์ดนี้ โปรดอ่านที่นี่:https://www.arduino.cc/en/Guide/MKRWiFi1010
นั่นคือทั้งหมดที่ สนุก!
แนะนำ:
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: 5 ขั้นตอน
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: Micropython เป็นการเพิ่มประสิทธิภาพของ python และมีขนาดเล็กของ python ซึ่งหมายถึงการสร้างสำหรับอุปกรณ์ฝังตัวซึ่งมีข้อจำกัดด้านหน่วยความจำและใช้พลังงานต่ำ Micropython สามารถใช้ได้กับคอนโทรลเลอร์หลายตระกูล ซึ่งรวมถึง ESP8266, ESP32, Ardui
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
ควบคุม Arduino โดยใช้ Telegram Bot โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม: 5 ขั้นตอน
ควบคุม Arduino โดยใช้ Telegram Bot โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม: มีหลายสิ่งที่คุณสามารถทำได้ด้วย Arduino แต่คุณเคยคิดเกี่ยวกับการควบคุม Arduino ของคุณโดยใช้ Telegram bot หรือไม่ สิ่งที่คุณต้องมี: Arduino UNO Node.js ที่ติดตั้งบนเครื่องของคุณ PC อุปกรณ์ควบคุมบางอย่าง (เราใช้ LED ออนบอร์ดของ Arduino ที่
Smart House Telegram Bot พร้อม Nodemcu (esp8266, Relay, Ds18b20): 8 ขั้นตอน
Smart House Telegram Bot พร้อม Nodemcu (esp8266, Relay, Ds18b20): ในบทช่วยสอนนี้ ฉันจะแสดงวิธีสร้างบอทโทรเลขและควบคุมบ้านโดยใช้มัน แต่ก่อนอื่น สมัครสมาชิกช่อง Telegram ของฉัน และค้นพบโครงการใหม่ได้เร็วกว่าคนอื่นๆ เป็นกำลังใจให้นะคะ ลุย