สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
มีหลายสิ่งที่คุณสามารถทำได้ด้วย Arduino แต่คุณเคยคิดที่จะควบคุม Arduino โดยใช้บอท Telegram หรือไม่? สิ่งที่คุณต้องการ:
- Arduino UNO
- ติดตั้ง Node.js บนพีซีของคุณ
- อุปกรณ์ที่ควบคุมได้บางอย่าง (เราใช้ LED ออนบอร์ดของ Arduino ที่พิน 13 ที่นี่ แต่อย่าลังเลที่จะถามเกี่ยวกับสิ่งที่คุณต้องการทำในความคิดเห็น)
ขั้นตอนที่ 1: ติดตั้ง Node.js บนพีซีของคุณ
Node.js เป็นรันไทม์ของ JavaScript แต่อย่าตกใจหากคุณไม่มีพื้นหลังในการเขียนโปรแกรม ฉันเตรียมสิ่งที่คุณต้องการและคุณสามารถดาวน์โหลดได้ ในโครงการนี้ เราจะใช้ Node.js สำหรับ:
- สร้างบอทโทรเลข
- ควบคุม Arduino
ติดตั้ง NODE. JS:
ไปที่หน้าดาวน์โหลดอย่างเป็นทางการของ Node.js และดาวน์โหลดแพ็คเกจตัวติดตั้งล่าสุดตามระบบปฏิบัติการของคุณ
*จำหมายเลขเวอร์ชันล่าสุดไว้ด้านบนสุดของหน้าดาวน์โหลด เราจะนำไปใช้ในขั้นตอนต่อไป
หลังจากดาวน์โหลดแพ็คเกจและติดตั้งแล้ว คุณควรตรวจสอบดูว่า Node.js ติดตั้งทั้งหมดหรือไม่
ตรวจสอบเพื่อดูว่ามีการติดตั้งแพ็คเกจทั้งหมดหรือไม่:
หากคุณใช้ windows ให้เปิด CMD และหากคุณใช้ macOS open terminal แล้วพิมพ์:
โหนด -v
ตอนนี้คุณควรเห็นเวอร์ชันที่คุณเยี่ยมชมบนหน้าดาวน์โหลด Node.js พิมพ์ที่นี่
มิฉะนั้น ฉันจะใส่บทช่วยสอนด้านล่างเพื่อลองอีกครั้ง:
- Windows
- macOS
ขั้นตอนที่ 2: Arduino Part
ในขั้นตอนนี้ สิ่งเดียวที่คุณต้องทำคืออัปโหลดเฟิร์มแวร์ Arduino IDE ในตัวบน Arduino Uno ของคุณ
สำคัญ: คุณต้องอัปเดต Arduino IDE เป็นเวอร์ชันล่าสุดโดย Arduino
นำเข้าไลบรารี Firmata:
เมนูบนสุด >> ไฟล์ >> ตัวอย่าง >> Firmata >> StandardFirmat
ตรวจสอบและอัปโหลดโค้ดบน Arduino:
1. เมนูบนสุด >> ภาพร่าง >> ตรวจสอบ/รวบรวม
2. เมนูบนสุด >> ภาพร่าง >> อัพโหลด
ทุกอย่างเสร็จเรียบร้อย.
ขั้นตอนที่ 3: รับโทรเลข Bot Token
เปิดโทรเลขและค้นหา @BotFather หรือคลิกที่นี่เพื่อเปิดบอทนี้บนโทรเลข
- พิมพ์ /newbot แล้วกด Enter
- เลือกชื่อบอทของคุณ
- เลือกชื่อผู้ใช้สำหรับบอทของคุณ ต้องลงท้ายด้วย 'bot'
- ตอนนี้บอทจะส่งข้อมูลบางอย่างรวมถึงโทเค็นการเข้าถึง API ของคุณ เขียนลงไป เราจะใช้โทเค็นนี้ในขั้นตอนต่อไป
ขั้นตอนที่ 4: สร้าง Node.js Project
สร้างโครงการ NODE. JS ใหม่
สำหรับการสร้างโปรเจ็กต์ Node.js และติดตั้งโมดูล เราจำเป็นต้องใช้เทอร์มินัล ดังนั้น หากคุณใช้ Windows ให้ใช้ CMD และในกรณีใช้ macOS ให้ใช้ Terminal สำหรับขั้นตอนด้านล่างทั้งหมด
1. สร้างโฟลเดอร์ที่ใดที่หนึ่งสำหรับโครงการ
2. ซีดี (เปลี่ยนไดเร็กทอรี) เป็นโฟลเดอร์ที่เพิ่งสร้าง ตัวอย่างเช่น หากคุณตั้งชื่อโฟลเดอร์นั้นว่า 'TelegramBot' และวางไว้บนเดสก์ท็อป ให้เขียนสิ่งนี้ในเทอร์มินัลแล้วกด Enter:
cd เดสก์ท็อป/TelegramBot
3. สำหรับสร้างโครงการ Node.js ให้ป้อนคำสั่งต่อไปนี้:
npm init
4. ตอบคำถามบางข้อ เช่น ชื่อ คำอธิบาย ใบอนุญาต และอื่นๆ หากไม่รู้จะตอบอะไร ให้กด Enter ในกรณีนี้ คำระหว่างวงเล็บจะถูกใช้เป็นค่าเริ่มต้น
5. ตอนนี้ คุณควรเห็นไฟล์ 'package.json' ที่สร้างในโฟลเดอร์ของคุณ และนี่หมายความว่าคุณสร้างโครงการ Node.js สำเร็จแล้ว
ขั้นตอนที่ 5: การเข้ารหัส
เราต้องเขียนรหัสที่นี่ มาอธิบายไลบรารีที่ใช้แล้วกัน:
- Node Telegram Bot API เพื่อจัดการคำขอ API บอตโทรเลข
- แพลตฟอร์ม Johnny-Five เพื่อเชื่อมต่อกับ Arduino
ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับไลบรารีเหล่านี้มีอยู่ในเว็บไซต์ที่เชื่อมโยง เราแค่ใช้พวกมันในโค้ดของเรา แต่เอกสารฉบับเต็มอยู่ในบล็อกของพวกเขา
ฉันใช้ Microsoft Visual Studio Code สำหรับการแก้ไขโค้ด แต่คุณสามารถใช้อย่างอื่นที่คุณชอบ1. เปิดซอฟต์แวร์แก้ไขโค้ดและสร้างไฟล์ชื่อ 'index.js' (หรืออะไรก็ตามที่คุณป้อนในส่วนจุดเริ่มต้นของขั้นตอนการสร้างโปรเจ็กต์ Node.js) ในไดเร็กทอรีที่เกี่ยวข้อง
2. เขียนรหัส:
var five = ต้องการ ("johnny-five"); ให้ TelegramBot = ต้องการ ('node-telegram-bot-api'); โทเค็น const = '##############################################'; const bot = TelegramBot ใหม่ (โทเค็น { การโพล: จริง }); var board = ใหม่ five. Board(); const answerCallbacks = {};
bot.on("ข้อความ", ฟังก์ชัน (msg) {
const callback = answerCallbacks[msg.chat.id]; ถ้า (โทรกลับ) { ลบ answerCallbacks[msg.chat.id]; โทรกลับ(msg); } });
board.on("พร้อม", ฟังก์ชัน () {
var led = ใหม่ five. Led (13);
bot.on('ข้อความ', (msg) => {
const chatId = msg.chat.id; ข้อความ const = msg.text; if (ข้อความ == '/start') { เริ่ม (chatId, led); } }); });
ฟังก์ชั่นเริ่มต้น (chatId, led) {
bot.sendMessage(chatId, "แผงควบคุม Arduino", getKeyboardOptions());
bot.on("callback_query", (callbackQuery) => {
const msg = callbackQuery.message; bot.answerCallbackQuery(callbackQuery.id).then (() => { const data = callbackQuery.data; if (data == 'turnon') { led.on (); } else if (data == 'turnoff') { led.off(); } }) }); }
ฟังก์ชัน getKeyboardOptions() {
ตัวเลือก const = { "reply_markup": { resize_keyboard: true, "inline_keyboard":
ตัวเลือกการคืนสินค้า;
}
3. แทนที่ค่าคุณสมบัติโทเค็นด้วยค่าที่คุณจดไว้ในขั้นตอนการสร้างบอท
4. บันทึกรหัส
5. เปิดเทอร์มินัลแล้วป้อนคำสั่งต่อไปนี้:
npm ฉัน --save johnny-five node-telegram-bot-api
6. หลังจากติดตั้งโมดูลในขณะที่ Arduino ของคุณเชื่อมต่อกับพอร์ต USB ในเทอร์มินัลให้ป้อนคำสั่งต่อไปนี้:
โหนด index.js
7. คุณควรเห็นบางอย่างเช่น:
1534514872949 พร้อมใช้งาน /dev/cu.usbmodem1411
1534514872957 เชื่อมต่อแล้ว /dev/cu.usbmodem1411 1534514876660 Repl เริ่มต้น >>
8. เปิดโทรเลขและค้นหาชื่อผู้ใช้ของบอทของคุณ (หรือเปิดจาก BotFather) และป้อนคำสั่งนี้:
/เริ่ม
9. คุณควรเห็นแผงควบคุมที่สามารถควบคุม Arduino LED ในตัวด้วยคำสั่ง 'เปิด' และ 'ปิด' หากคุณโชคดีพอ;)
แนะนำ:
ควบคุม Ws2812 Neopixel LED STRIP ผ่าน Bluetooth โดยใช้ Arduino Uno: 4 ขั้นตอน
ควบคุม Ws2812 Neopixel LED STRIP ผ่าน Bluetooth โดยใช้ Arduino Uno: สวัสดีทุกคนในคำแนะนำนี้เราจะเรียนรู้วิธีควบคุม neopixel ด้วย arduino โดยพื้นฐานแล้ว Arduino จะเชื่อมต่อผ่าน Bluetooth โดยใช้โมดูล Bluetooth hc05 กับสมาร์ทโฟน และสมาร์ทโฟนจะส่งคำสั่งเปลี่ยนสีของแถบนำนีโอพิกเซล
Wifi ควบคุม 12v Led Strip โดยใช้ Raspberry Pi พร้อม Tasker, การรวม Ifttt: 15 ขั้นตอน (พร้อมรูปภาพ)
Wifi ที่ควบคุม 12v Led Strip โดยใช้ Raspberry Pi พร้อม Tasker, Ifttt Integration: ในโครงการนี้ ฉันจะแสดงวิธีควบคุมแถบ LED แบบอะนาล็อก 12v อย่างง่ายผ่าน wifi โดยใช้ raspberry pi สำหรับโครงการนี้ คุณจะต้อง: 1x Raspberry Pi (I) กำลังใช้ Raspberry Pi 1 Model B+) 1x RGB 12v Le
ควบคุม ESP8266 จากหน้าแรกของ Google โดยใช้ GBridge.io: 4 ขั้นตอน
ควบคุม ESP8266 จากหน้าแรกของ Google โดยใช้ GBridge.io: มีหลายวิธีในการควบคุม ESP8266 จากหน้าแรกของ Google แต่โซลูชันส่วนใหญ่ที่คุณสามารถหาได้บนอินเทอร์เน็ตใช้ IFTT ซึ่งไม่เหมาะกับผู้ใช้ในการตั้งค่า gBridge.io ช่วยให้กระบวนการง่ายขึ้นและดำเนินการได้อย่างราบรื่นในคู่มือแนะนำวิธี
ควบคุม Arduino โดยใช้ Blynk ผ่าน USB: 3 ขั้นตอน
ควบคุม Arduino โดยใช้ Blynk ผ่าน Usb: นี่เป็นคำสั่งที่สองของฉัน ในคำแนะนำนี้ฉันจะแสดงวิธีควบคุม LED โดยใช้ Blynk Blynk เป็นแอปพลิเคชั่นที่ให้แดชบอร์ดและการเชื่อมต่อแก่เรา ซึ่งคุณสามารถดาวน์โหลดได้จาก google play store (สำหรับ Android)& แอพเ
Headless Pi - เริ่มต้น Raspberry Pi โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม: 4 ขั้นตอน (พร้อมรูปภาพ)
Headless Pi - การเริ่มต้น Raspberry Pi ของคุณโดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม: สวัสดี เหตุผลที่คุณมาที่นี่คือ ฉันเดาว่าคุณจะเหมือนฉันมาก! คุณไม่ต้องการที่จะใช้งาน Pi ของคุณอย่างง่ายดาย - เสียบ Pi เข้ากับจอภาพ ต่อคีย์บอร์ดและเมาส์ และ voila!…Pfft ใครทำอย่างนั้น! ท้ายที่สุดแล้ว Pi คือ &