Taula de continguts:

Controlar Arduino mitjançant Telegram Bot sense cap maquinari addicional: 5 passos
Controlar Arduino mitjançant Telegram Bot sense cap maquinari addicional: 5 passos

Vídeo: Controlar Arduino mitjançant Telegram Bot sense cap maquinari addicional: 5 passos

Vídeo: Controlar Arduino mitjançant Telegram Bot sense cap maquinari addicional: 5 passos
Vídeo: Crypto Pirates Daily News – 31 января 2022 г. – последнее обновление новостей о криптовалютах 2024, Desembre
Anonim
Controleu Arduino mitjançant Telegram Bot sense cap maquinari addicional
Controleu Arduino mitjançant Telegram Bot sense cap maquinari addicional

Hi ha una àmplia gamma de coses que podeu fer amb Arduino, però heu pensat mai a controlar el vostre Arduino mitjançant un bot de Telegram?

  • Arduino UNO
  • Node.js instal·lat al vostre PC
  • Alguns dispositius controlables (aquí fem servir el LED integrat d'Arduino al pin 13, però no dubteu a preguntar sobre qualsevol cosa que vulgueu fer als comentaris)

Pas 1: instal·leu Node.js al vostre ordinador

Instal·leu Node.js al vostre PC
Instal·leu Node.js al vostre PC

Node.js és un temps d’execució de JavaScript, però no us espanteu si no teniu antecedents de programació. He preparat el que necessiteu i els podeu descarregar. En aquest projecte, utilitzarem Node.js per:

  1. Crea un bot de Telegram
  2. Controla Arduino

INSTAL·LEU NODE. JS:

Aneu a la pàgina oficial de descàrrega de Node.js i descarregueu el darrer paquet d’instal·lació segons el vostre sistema operatiu.

* Recordeu el número de versió més recent, tal com s’esmenta a la part superior de la pàgina de descàrrega, l’utilitzarem al següent pas.

Després de descarregar el paquet i instal·lar-lo, hauríeu de comprovar si Node.js s’ha instal·lat completament o no.

COMPROVEU PER VEURE SI EL PAQUET ESTÀ INSTAL·LAT COMPLETAMENT:

Si esteu a Windows, obriu CMD i si esteu a MacOS Open Terminal i escriviu:

node -v

Ara hauríeu de veure la versió que heu visitat a la pàgina de descàrregues de Node.js, impresa aquí.

En cas contrari, poso un tutorial a continuació per tornar-ho a provar:

  • Windows
  • macOS

Pas 2: Arduino Part

Part Arduino
Part Arduino

En aquest pas, l'únic que heu de fer és carregar un firmware integrat Arduino IDE al vostre Arduino Uno.

Important: heu d’actualitzar el vostre ID Arduino a la versió més recent publicada per Arduino.

Importa la biblioteca firmata:

Menú superior >> Fitxer >> Exemples >> Firmata >> StandardFirmata

Verifiqueu i pengeu el codi a Arduino:

1. Menú superior >> Esbós >> Verifica / Compila

2. Menú superior >> Esbós >> Penja

Tot fet.

Pas 3: Obteniu el testimoni del bot de Telegram

Obteniu el testimoni del bot de Telegram
Obteniu el testimoni del bot de Telegram

Obriu Telegram i cerqueu @BotFather o feu clic aquí per obrir aquest bot al telegrama.

  1. Escriviu / newbot i premeu Intro
  2. Trieu un nom per al bot
  3. Trieu un nom d'usuari per al bot. Ha d'acabar en "bot"
  4. Ara el bot us envia informació, inclòs el vostre testimoni d'accés a l'API. Escriviu-lo, utilitzarem aquest testimoni en els passos següents

Pas 4: creeu un projecte Node.js

CREA UN NOU PROJECTE NODE. JS

Per crear mòduls de projecte i instal·lació de Node.js, hem d’utilitzar el terminal, per tant, si esteu a Windows, utilitzeu CMD i, en cas d’utilitzar macOS, utilitzeu Terminal per a tots els passos següents.

1. Creeu una carpeta en algun lloc per al projecte

2. CD (Canvia directori) a la carpeta creada recentment. Per exemple, si heu anomenat aquesta carpeta "TelegramBot" i la poseu a l'escriptori, escriviu-la al terminal i premeu Intro:

cd Desktop / TelegramBot

3. Per al projecte create Node.js, introduïu l'ordre següent:

npm init

4. Responeu a algunes preguntes que inclouen nom, descripció, llicència, etc. si no sabeu què respondre, només cal que premeu Intro. En aquest cas, la paraula entre parèntesis s'utilitzarà com a valor per defecte.

5. Ara hauríeu de veure el fitxer 'package.json' creat a la vostra carpeta i això vol dir que heu creat el projecte Node.js amb èxit.

Pas 5: Codificació

Necessitem escriure alguns codis aquí. Descrivim algunes biblioteques usades:

  1. Node Telegram Bot API per gestionar les sol·licituds de telegram bot API.
  2. Plataforma Johnny-Five per connectar-se a Arduino.

Tot el que necessiteu saber sobre aquestes biblioteques es troba als seus llocs web enllaçats. només els fem servir al nostre codi, però la documentació completa dels mateixos es troba als seus blocs.

Faig servir Microsoft Visual Studio Code per a l’edició de codi. però podeu utilitzar qualsevol altre que vulgueu. Obriu el programari d'edició de codi i creeu un fitxer anomenat "index.js" (o qualsevol cosa que hàgiu introduït a la part del punt d'entrada del pas de creació del projecte Node.js) al directori relacionat.

2. Escriu el codi:

var five = require ("johnny-five"); let TelegramBot = require ('node-telegram-bot-api'); const token = '###############################################'; const bot = TelegramBot nou (testimoni, {polling: true}); var board = new five. Board (); const answerCallbacks = {};

bot.on ("missatge", funció (msg) {

const callback = answerCallbacks [msg.chat.id]; if (devolució de trucada) {elimina la resposta de les trucades [msg.chat.id]; retorn de devolució de trucada (msg); }});

board.on ("llest", funció () {

var led = new five. Led (13);

bot.on ('message', (msg) => {

const chatId = msg.chat.id; const text = msg.text; if (text == '/ start') {start (chatId, led); }}); });

inici de funció (chatId, led) {

bot.sendMessage (chatId, "Tauler de control d'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 ();}})}); }

funció getKeyboardOptions () {

const options = {"reply_markup": {resize_keyboard: true, "inline_keyboard":

opcions de devolució;

}

3. Substituïu el valor de la propietat del testimoni per un que heu escrit al pas de creació de bot

4. Deseu el codi

5. Obriu el terminal i introduïu l'ordre següent:

npm i --save johnny-five node-telegram-bot-api

6. Després d'instal·lar mòduls, mentre el vostre Arduino està connectat al port USB, al terminal introduïu l'ordre següent:

node index.js

7. Hauríeu de veure alguna cosa com:

1534514872949 Disponible /dev/cu.usbmodem1411

1534514872957 Connectat /dev/cu.usbmodem1411 1534514876660 Repl Inicialitzat >>

8. Obriu el telegrama i cerqueu el nom d'usuari del vostre bot (o obriu-lo des de BotFather) i introduïu aquesta ordre:

/començar

9. Si heu tingut la sort, hauríeu de veure un tauler de control que pugui controlar el LED Arduino integrat amb les ordres "Activa" i "Apaga";)

Recomanat: