Taula de continguts:
- Pas 1: el que necessiteu
- Pas 2: Instal·lació de l'IDE
- Pas 3: creació del bot de Telegram
- Pas 4: Modifiqueu, pengeu i proveu l'esbós
- Pas 5: Millores
Vídeo: [IoT] Telegram Bot amb Arduino MKR WiFi 1010: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Aquest projecte demostra com interactuar Arduino amb les API Telegram Bot. El projecte es basa en la nova placa MKR WiFi 1010 equipada amb un mòdul ESP32 per U-BLOX.
En aquesta etapa, el projecte no és més que una prova de concepte, només per mostrar-vos amb què podeu fer, de manera que només necessiteu la placa Arduino.
Però, què és un bot de Telegram? Bé, els robots són simplement comptes de Telegram operats per programes, no per persones, i sovint tenen funcions d’intel·ligència artificial. Poden fer qualsevol cosa: ensenyar, jugar, cercar, emetre, recordar, connectar-se, integrar-se amb altres serveis o fins i tot passar ordres a Internet de les coses. (crèdits de Telegram:
En el nostre cas, passarem ordres a Arduino per construir un dispositiu IoT senzill. Respondrà a ordres simples i també activarà / desactivarà el led incorporat. Deixaré que la vostra imaginació en faci més … (imagineu-vos connectar un o més relés als pins d'E / S i encendre / apagar un escalfador o el sistema d'aire condicionat amb el vostre telèfon intel·ligent, per exemple).
Pas 1: el que necessiteu
Per a aquest projecte necessiteu:
- Arduino MKR WiFi 1010 de la botiga Arduino:
- Arduino IDE 1.8.5 o superior:
- Un cable micro-usb per connectar Arduino al vostre PC
- Una connexió a Internet, requereix el SSID i la contrasenya. Millor si utilitzeu el vostre propi enrutador casolà per assegurar-vos que no està bloquejat.
- L’aplicació Telegram instal·lada al vostre telèfon intel·ligent, independentment de la marca. Consulteu aquí també les versions per a PC i Web.
Pas 2: Instal·lació de l'IDE
Sí, ho sé, ho sé … la majoria de vosaltres ja teniu el Arduino IDE instal·lat al PC, però aquest Instructables està pensat també per a principiants. Per tant, primer, descarregueu el Arduino IDE 1.8.5 que vulgueu (fitxer zip per fitxer "no administradors" o exe)
Es recomana la versió 1.8.5, no he provat versions antigues i la nova placa utilitzada en el projecte no s'ha pogut suportar.
Ara cal instal·lar les noves plaques amb els seus controladors:
- iniciar l'IDE
- Al menú Eines, trieu Taulers i, a la part superior de la llista de processadors, trieu Gestor de taulers.
- Desplaceu-vos per la finestra nova (vegeu la imatge) fins que trobeu les taules SAMD Arduino que inclouen el nou MKR WiFi 1010.
- Feu clic a aquesta pestanya o feu clic a Més informació dins de la pestanya, trieu la versió més recent i instal·leu-la.
- Espereu fins que finalitzi la instal·lació. També s’encarregarà de la instal·lació dels controladors
- També necessiteu una nova biblioteca WiFi per a aquest tauler: trieu Esbós, Inclou biblioteca i Gestiona biblioteques. Cerqueu Wifinina i instal·leu-ho com heu fet amb el processador anterior.
Ara connecteu la vostra nova placa Arduino i espereu que Windows completi la instal·lació del controlador.
Al menú Eines-> Tauler trobareu les noves taules, trieu el MKR WiFi 1010.
Es necessita una altra biblioteca especial per a aquest projecte, és la biblioteca ESP8266TelegramBot de Giancarlo Bacchio. La biblioteca ha estat lleugerament modificada perquè funcioni amb aquest tauler, de manera que s’inclou a la carpeta de l’esbós.
Trieu el port de com correcte i proveu el tauler amb l'ordre Obtenir informació del tauler.
Enhorabona, ja heu acabat amb l'IDE.
Pas 3: creació del bot de Telegram
Crear un nou bot de Telegram és molt senzill.
Obriu l'aplicació Telegram i, a la barra de cerca, escriviu @BotFather i inicieu un xat amb ell (imatge1). BotFather és la … fàbrica de bot. Us ajudarà a crear un bot nou i a canviar-ne la configuració.
Després de l'ordre / start veureu la llista d'ajuda (imatge2).
- Escriviu / newbot (imatge3) Escriviu ara el nom del bot. El nom es mostra a les dades de contacte i en altres llocs.
- BotFather us demanarà un nom d'usuari. El nom d'usuari és un nom curt, que s'utilitzarà en mencions i enllaços telegram.me. Els noms d’usuari tenen entre 5 i 32 caràcters i distingeixen entre majúscules i minúscules, però només poden incloure caràcters llatins, números i subratllats. El nom d’usuari del vostre bot ha d’acabar en ‘bot’, per exemple. "Tetris_bot" o "TetrisBot".
- Si tant el nom com el nom d'usuari són vàlids, rebreu una llarga cadena de caràcters anomenada TOKEN. Aquesta és la vostra "clau" personal que s'utilitza per comunicar-vos amb els servidors de Telegram. Copieu-la i enganxeu-la en un fitxer de text al vostre PC per ara. L’utilitzarem més endavant al codi Arduino. Si el perdeu, no us preocupeu, només cal que torneu a obrir el xat i escriviu / token per generar-ne un de nou.
Tots els passos es descriuen aquí:
Avançat (opcional)
Torneu a obrir el xat i escriviu / ajudeu
Feu clic a (o escriviu) / setuserpic per carregar una imatge per al bot. Feu clic a (o escriviu) / setabouttext per configurar la secció Quant al bot: la gent veurà aquest text a la pàgina de perfil del bot i s’enviarà juntament amb un enllaç al vostre bot quan el comparteix amb algú.
Feu clic a (o escriviu) / setdescription per establir una secció de descripció per al vostre bot. La gent veurà aquesta descripció quan obri un xat amb el bot, en un bloc titulat "Què pot fer aquest bot?".
Pas 4: Modifiqueu, pengeu i proveu l'esbós
És hora de penjar el programari a la placa Arduino MKR WiFi 1010.
Descarregueu els fitxers adjunts, per alguna raó no puc carregar un codi postal, així que creeu una carpeta anomenada esbós i copieu els 4 fitxers que hi ha al seu interior. Si us plau, no canvieu els noms tret que sàpiga el que esteu fent.
Modificar
Obriu l’esbós, hem d’omplir informació (imatge1): ompliu arduino_secrets.h amb la vostra credencial de wifi i telegrama.
- Localitzeu la informació de la xarxa WiFi i escriviu el nom i la contrasenya de la vostra xarxa.
- Cerqueu la informació del bot de telegrama i escriviu el nom, el nom d’usuari i el testimoni proporcionats per @BotFather
Pujar
Assegureu-vos que el tauler sigui correcte (imatge2) a l'ide i que estigui connectat i proveu de compilar el codi. Si la compilació funciona bé, carregueu-la al tauler, només trigaran uns segons.
En cas de problemes, comproveu si hi ha un error tipogràfic i torneu-ho a provar.
Prova
[IMPORTANT!] L'esbós envia registres a l'IDE. El processador té un port USB natiu (com les plaques Leonardo). Un cop engegat, el codi esperarà fins que s'executi el monitor sèrie. Per tant, deixeu-lo connectat al PC i obriu el monitor sèrie. Arduino primer es connectarà a Internet i, a continuació, començarà a interrogar el servidor Telegram per obtenir missatges nous (imatge3).
Ara obriu Telegram al vostre dispositiu preferit i, al quadre de cerca, escriviu el nom del bot (no el nom d’usuari que acabi amb “bot”). Obriu un xat amb ell.
La primera ordre per iniciar un xat amb un bot és / start, el nostre Arduino us respondrà amb un missatge de benvinguda.
Ja heu acabat la prova, si alguna cosa no funciona, comproveu les informacions introduïdes a l'esbós (nom, nom d'usuari, testimoni …)
Certificats Si teniu errors en la connexió al servidor de telegrama (registre: Bot no connectat):
- Obriu Eines-> Actualitzador Wifi101 / wifinina
- Assegureu-vos que la vostra placa estigui connectada, comproveu els ports a l'esquerra de l'eina d'actualització, ja que la placa ha d'estar allà
- Feu clic a Obre l'esbós de l'actualitzador i pengeu-lo al tauler
- Després de carregar-lo, a l’actualitzador trieu el firmware més recent per al tauler i feu clic a Actualitza el firmware
- Després de l’actualització, a l’actualitzador, secció Certificats SSL, feu clic a Afegeix domini, al quadre de diàleg escriviu telegram.org:443 i premeu OK.
- Feu clic a Penja certificats al mòdul wifi
- Pengeu aquest esbós al tauler
Pas 5: Millores
Si mirem el codi, és molt senzill implementar noves ordres i respondre a l'usuari.
Noves ordres: podeu escriure un subordinat per a cada ordre nova. Tots els subordinats s’encarregaran de completar l’ordre i (eventualment) retornaran a l’usuari una informació d’estat.
Limitar els usuaris: per descomptat, aquest projecte només és una demostració. Qualsevol usuari de Telegram es pot connectar a casa i enviar ordres no desitjades. No ho voleu !.
Bé, mireu la imatge1, mostra 2 usuaris connectats. Com podeu veure, cada usuari té el seu propi identificador d'usuari. Amb una mica de treball al costat del codi, podeu filtrar (o crear una llista) només per a usuaris autoritzats. Només cal estudiar el codi i provar d’interceptar el número d’identificació d’usuari. A continuació, executeu ordres només d’usuaris coneguts.
Maquinari: pel que fa al maquinari, es poden connectar molts sensors i relés als pins d'E / S d'Arduino.
Vés amb compte: el tauler utilitzat en aquest projecte és tolerant a 3,3 V !!! Utilitzeu un canvi de nivell de voltatge quan sigui necessari. Per obtenir més informació i consells sobre aquest tauler, llegiu aquí:
Això és tot, gaudiu-ne!
Recomanat:
Telegram Bot amb NodeMCU (ESP8266): 3 passos
Telegram Bot amb NodeMCU (ESP8266): necessiteu un bot per donar notificacions del vostre sistema? o fer alguna cosa només enviant un missatge? Telegram Bot és la vostra solució. En aquest tutorial utilitzaré Telegram Web i BotFather per crear el meu bot
Utilitzeu Arduino MKR Shields amb Raspberry Pi: 8 passos
Utilitzeu els escuts Arduino MKR amb Raspberry Pi: el nostre PiMKRHAT és un adaptador HAT per utilitzar plaques i escuts Arduino MKR juntament amb el Raspberry Pi. Es poden utilitzar diferents escuts Arduino MKR mitjançant el nostre HAT com a extensió del Raspberry Pi. Vull mostrar en aquest petit projecte com utilitzar l'Ardu
Ús del sensor de moviment amb RaspberryPi i Telegram Bot: 4 passos
Ús del sensor de moviment amb RaspberryPi i Telegram Bot: Hola, nois. En aquest post utilitzarem Raspberry Pi Telegram Bot amb sensor PIR (moviment)
Màquina d'alimentació d'animals de companyia amb RasPi i Telegram Bot: 4 passos (amb imatges)
Màquina d’alimentació d’animals de companyia amb RasPi i Telegram Bot: primer de tot, he d’aclarir que no es tracta d’una mina d’idees original, només heu d’actualitzar i adaptar els scripts de programació perquè funcionin amb telegrama, l’he trobat en un instructable anterior, de manera que els crèdits realment són autor d’ella. Es podia veure l’espanyol
Smart House Telegram Bot amb Nodemcu (esp8266, relé, Ds18b20): 8 passos
Smart House Telegram Bot With Nodemcu (esp8266, Relay, Ds18b20): en aquest tutorial us mostraré com crear bot de telegrames i controlar la casa fent-lo servir, però primer, subscriviu-vos al meu canal Telegram i descobriu nous projectes més ràpidament que altres. És una motivació per a mi