สารบัญ:

ควบคุม Arduino โดยใช้ Telegram Bot โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม: 5 ขั้นตอน
ควบคุม Arduino โดยใช้ Telegram Bot โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม: 5 ขั้นตอน

วีดีโอ: ควบคุม Arduino โดยใช้ Telegram Bot โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม: 5 ขั้นตอน

วีดีโอ: ควบคุม Arduino โดยใช้ Telegram Bot โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม: 5 ขั้นตอน
วีดีโอ: ESP8266 Tutorial มาสร้างบอทแชทใน Telegram กันดีกว่า 2024, กรกฎาคม
Anonim
ควบคุม Arduino โดยใช้ Telegram Bot โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม
ควบคุม Arduino โดยใช้ Telegram Bot โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม

มีหลายสิ่งที่คุณสามารถทำได้ด้วย Arduino แต่คุณเคยคิดที่จะควบคุม Arduino โดยใช้บอท Telegram หรือไม่? สิ่งที่คุณต้องการ:

  • Arduino UNO
  • ติดตั้ง Node.js บนพีซีของคุณ
  • อุปกรณ์ที่ควบคุมได้บางอย่าง (เราใช้ LED ออนบอร์ดของ Arduino ที่พิน 13 ที่นี่ แต่อย่าลังเลที่จะถามเกี่ยวกับสิ่งที่คุณต้องการทำในความคิดเห็น)

ขั้นตอนที่ 1: ติดตั้ง Node.js บนพีซีของคุณ

ติดตั้ง Node.js บนพีซีของคุณ
ติดตั้ง Node.js บนพีซีของคุณ

Node.js เป็นรันไทม์ของ JavaScript แต่อย่าตกใจหากคุณไม่มีพื้นหลังในการเขียนโปรแกรม ฉันเตรียมสิ่งที่คุณต้องการและคุณสามารถดาวน์โหลดได้ ในโครงการนี้ เราจะใช้ Node.js สำหรับ:

  1. สร้างบอทโทรเลข
  2. ควบคุม Arduino

ติดตั้ง NODE. JS:

ไปที่หน้าดาวน์โหลดอย่างเป็นทางการของ Node.js และดาวน์โหลดแพ็คเกจตัวติดตั้งล่าสุดตามระบบปฏิบัติการของคุณ

*จำหมายเลขเวอร์ชันล่าสุดไว้ด้านบนสุดของหน้าดาวน์โหลด เราจะนำไปใช้ในขั้นตอนต่อไป

หลังจากดาวน์โหลดแพ็คเกจและติดตั้งแล้ว คุณควรตรวจสอบดูว่า Node.js ติดตั้งทั้งหมดหรือไม่

ตรวจสอบเพื่อดูว่ามีการติดตั้งแพ็คเกจทั้งหมดหรือไม่:

หากคุณใช้ windows ให้เปิด CMD และหากคุณใช้ macOS open terminal แล้วพิมพ์:

โหนด -v

ตอนนี้คุณควรเห็นเวอร์ชันที่คุณเยี่ยมชมบนหน้าดาวน์โหลด Node.js พิมพ์ที่นี่

มิฉะนั้น ฉันจะใส่บทช่วยสอนด้านล่างเพื่อลองอีกครั้ง:

  • Windows
  • macOS

ขั้นตอนที่ 2: Arduino Part

Arduino Part
Arduino Part

ในขั้นตอนนี้ สิ่งเดียวที่คุณต้องทำคืออัปโหลดเฟิร์มแวร์ Arduino IDE ในตัวบน Arduino Uno ของคุณ

สำคัญ: คุณต้องอัปเดต Arduino IDE เป็นเวอร์ชันล่าสุดโดย Arduino

นำเข้าไลบรารี Firmata:

เมนูบนสุด >> ไฟล์ >> ตัวอย่าง >> Firmata >> StandardFirmat

ตรวจสอบและอัปโหลดโค้ดบน Arduino:

1. เมนูบนสุด >> ภาพร่าง >> ตรวจสอบ/รวบรวม

2. เมนูบนสุด >> ภาพร่าง >> อัพโหลด

ทุกอย่างเสร็จเรียบร้อย.

ขั้นตอนที่ 3: รับโทรเลข Bot Token

รับโทรเลข Bot Token
รับโทรเลข Bot Token

เปิดโทรเลขและค้นหา @BotFather หรือคลิกที่นี่เพื่อเปิดบอทนี้บนโทรเลข

  1. พิมพ์ /newbot แล้วกด Enter
  2. เลือกชื่อบอทของคุณ
  3. เลือกชื่อผู้ใช้สำหรับบอทของคุณ ต้องลงท้ายด้วย 'bot'
  4. ตอนนี้บอทจะส่งข้อมูลบางอย่างรวมถึงโทเค็นการเข้าถึง 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: การเข้ารหัส

เราต้องเขียนรหัสที่นี่ มาอธิบายไลบรารีที่ใช้แล้วกัน:

  1. Node Telegram Bot API เพื่อจัดการคำขอ API บอตโทรเลข
  2. แพลตฟอร์ม 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 ในตัวด้วยคำสั่ง 'เปิด' และ 'ปิด' หากคุณโชคดีพอ;)

แนะนำ: