Sommario:

Controlla Arduino usando Telegram Bot senza hardware aggiuntivo: 5 passaggi
Controlla Arduino usando Telegram Bot senza hardware aggiuntivo: 5 passaggi

Video: Controlla Arduino usando Telegram Bot senza hardware aggiuntivo: 5 passaggi

Video: Controlla Arduino usando Telegram Bot senza hardware aggiuntivo: 5 passaggi
Video: Alex Mucci SIGMATA da Marra 2024, Dicembre
Anonim
Controlla Arduino usando Telegram Bot senza hardware aggiuntivo
Controlla Arduino usando Telegram Bot senza hardware aggiuntivo

C'è una vasta gamma di cose che puoi fare con Arduino, ma hai mai pensato di controllare il tuo Arduino usando un bot di Telegram? COSA TI SERVE:

  • Arduino UNO
  • Node.js installato sul tuo PC
  • Alcuni dispositivi controllabili (usiamo il LED di bordo di Arduino al pin 13 qui, ma sentiti libero di chiedere qualsiasi cosa tu voglia fare nei commenti)

Passaggio 1: installa Node.js sul tuo PC

Installa Node.js sul tuo PC
Installa Node.js sul tuo PC

Node.js è un runtime JavaScript, ma non farti prendere dal panico se non hai un background di programmazione. Ho preparato quello che ti serve e puoi scaricarli. In questo progetto, utilizzeremo Node.js per:

  1. Crea bot di Telegram
  2. Controlla Arduino

INSTALLA NODE. JS:

Vai alla pagina di download ufficiale di Node.js e scarica l'ultimo pacchetto di installazione basato sul tuo sistema operativo.

*Ricorda l'ultimo numero di versione come menzionato nella parte superiore della pagina di download, lo useremo nel passaggio successivo.

Dopo aver scaricato il pacchetto e averlo installato, dovresti verificare se Node.js è stato installato completamente o meno.

VERIFICARE SE IL PACCHETTO È INSTALLATO COMPLETAMENTE:

Se sei su Windows, apri CMD e se sei su macOS apri il terminale e digita:

nodo -v

Ora dovresti vedere la versione che hai visitato nella pagina dei download di Node.js, stampata qui.

Altrimenti ho messo qualche tutorial qui sotto per riprovare:

  • finestre
  • Mac OS

Passaggio 2: parte Arduino

Arduino Part
Arduino Part

In questo passaggio l'unica cosa che devi fare è caricare un firmware IDE Arduino integrato sul tuo Arduino Uno.

Importante: devi aggiornare il tuo IDE Arduino all'ultima versione rilasciata da Arduino.

Importa libreria firmata:

Menu principale >> File >> Esempi >> Firmata >> StandardFirmata

Verifica e carica il codice su Arduino:

1. Menu principale >> Schizzo >> Verifica/Compila

2. Menu principale >> Schizzo >> Carica

Tutto fatto.

Passaggio 3: ottieni il token del bot di Telegram

Ottieni il token del bot di Telegram
Ottieni il token del bot di Telegram

Apri Telegram e cerca @BotFather o clicca qui per aprire questo bot su Telegram.

  1. Digita /newbot e premi invio
  2. Scegli un nome per il tuo bot
  3. Scegli un nome utente per il tuo bot. Deve finire con "bot"
  4. Ora bot ti invia alcune informazioni incluso il tuo token di accesso API. Scrivilo, useremo questo token nei prossimi passaggi

Passaggio 4: creare un progetto Node.js

CREA UN NUOVO PROGETTO NODE. JS

Per creare il progetto Node.js e installare i moduli è necessario utilizzare il terminale, quindi se sei su Windows, usa CMD e in caso di utilizzo di macOS usa Terminal per tutti i passaggi seguenti.

1. Crea una cartella da qualche parte per il progetto

2. CD (Cambia directory) nella cartella creata di recente. Ad esempio, se hai chiamato quella cartella "TelegramBot" e l'hai messa sul desktop, scrivi questo nel terminale e premi invio:

cd Desktop/TelegramBot

3. Per creare un progetto Node.js, inserisci il seguente comando:

npm init

4. Rispondi ad alcune domande tra cui nome, descrizione, licenza e così via. Se non sai cosa rispondere, premi invio. In questo caso la parola tra parentesi verrà utilizzata come valore predefinito.

5. Ora dovresti vedere il file 'package.json' creato nella tua cartella e questo significa che hai creato il progetto Node.js con successo.

Passaggio 5: codifica

Abbiamo bisogno di scrivere alcuni codici qui. Descriviamo alcune librerie usate:

  1. Node Telegram Bot API per gestire le richieste API Telegram bot.
  2. Piattaforma Johnny-Five per connettersi ad Arduino.

Tutto ciò che devi sapere su queste biblioteche può essere trovato nei loro siti Web collegati. li usiamo solo nel nostro codice, ma la documentazione completa è sui loro blog.

Uso Microsoft Visual Studio Code per la modifica del codice. ma puoi usare qualsiasi altro ti piaccia.1. Apri il software di modifica del codice e crea un file chiamato "index.js" (o qualsiasi cosa tu abbia inserito nella parte del punto di ingresso del passaggio di creazione del progetto Node.js) nella directory correlata.

2. Scrivi codice:

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

bot.on("messaggio", funzione (msg) {

const callback = answerCallbacks[msg.chat.id]; if (callback) { delete answerCallbacks[msg.chat.id]; restituisce la richiamata (msg); } });

board.on("pronto", function() {

var led = nuovo cinque. Led(13);

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

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

funzione start(chatId, led) {

bot.sendMessage(chatId, "Pannello di controllo 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(); } }) }); }

function getKeyboardOptions() {

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

opzioni di restituzione;

}

3. Sostituisci il valore della proprietà del token con uno che hai annotato nella fase di creazione del bot

4. Salva il codice

5. Apri il terminale e inserisci il seguente comando:

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

6. Dopo aver installato i moduli, mentre Arduino è collegato alla porta USB, nel terminale inserisci il seguente comando:

nodo index.js

7. Dovresti vedere qualcosa come:

1534514872949 Disponibile /dev/cu.usbmodem1411

1534514872957 Connesso /dev/cu.usbmodem1411 1534514876660 Repl Inizializzato >>

8. Apri Telegram e cerca il nome utente del tuo bot (o aprilo da BotFather) e inserisci questo comando:

/cominciare

9. Dovresti vedere un pannello di controllo in grado di controllare il LED Arduino integrato con i comandi "Accendi" e "Spegni", se sei abbastanza fortunato;)

Consigliato: