Innehållsförteckning:

[IoT] Telegram Bot med Arduino MKR WiFi 1010: 5 steg
[IoT] Telegram Bot med Arduino MKR WiFi 1010: 5 steg

Video: [IoT] Telegram Bot med Arduino MKR WiFi 1010: 5 steg

Video: [IoT] Telegram Bot med Arduino MKR WiFi 1010: 5 steg
Video: Can You Reattach a Severed Finger? 🤔 2024, Juli
Anonim
Image
Image
Vad du behöver
Vad du behöver

Detta projekt visar hur du gränssnitt Arduino med Telegram Bot API: er. Projektet är byggt kring det nya MKR WiFi 1010-kortet utrustat med en ESP32-modul från U-BLOX.

I detta skede är projektet inte mer än ett bevis på konceptet, bara för att visa dig vad du kan göra med, så för detta behöver du bara Arduino -kortet.

Men vad är en Telegram Bot? Tja, Bots är helt enkelt Telegram -konton som drivs av programvara - inte människor - och de har ofta AI -funktioner. De kan göra vad som helst - lära, spela, söka, sända, påminna, ansluta, integrera med andra tjänster eller till och med skicka kommandon till sakernas internet. (krediter från Telegram:

I vårt fall skickar vi kommandon till Arduino som bygger en enkel IoT -enhet. Det kommer att svara på enkla kommandon och även slå på/av den inbyggda LED-lampan. Jag låter din fantasi göra mer med det … (tänk dig att ansluta ett eller flera relä till I/O -stiften och slå på/av en värmare eller luftkonditioneringssystemet med din smartphone, till exempel).

Steg 1: Vad du behöver

Vad du behöver
Vad du behöver

För detta projekt behöver du:

  • Arduino MKR WiFi 1010 från Arduino store:
  • Arduino IDE 1.8.5 eller högre:
  • En mikro-usb-kabel för att ansluta Arduino till din dator
  • En internetanslutning, det kräver SSID och lösenord. Bättre om du använder din egen hemrouter för att vara säker på att den inte är blockerad.
  • Telegram -appen installerad på din smartphone, oavsett märke. Kolla även här för PC- och webbversioner!

Steg 2: Installera IDE

Installera IDE
Installera IDE
Installera IDE
Installera IDE
Installera IDE
Installera IDE

Ja, jag vet, jag vet … de flesta av er har redan Arduino IDE installerat på datorn, men denna instruktionsbok är också avsedd för nybörjare. Så först och främst, ladda ner Arduino IDE 1.8.5 efter eget val (zip -fil för 'icke -administratörer' eller exe -fil)

1.8.5 -versionen rekommenderas, jag testade inte gamla versioner och det nya kortet som användes i projektet kunde inte stödjas alls.

Nu måste du installera de nya korten med deras drivrutiner:

  1. starta IDE
  2. På menyn Verktyg väljer du Brädor, och sedan högst upp i processorlistan väljer du Styrhanteraren.
  3. Bläddra i det nya fönstret (se bild) tills du hittar Arduino SAMD -kort som innehåller nya MKR WiFi 1010.
  4. Klicka på den fliken eller klicka på Mer information på fliken, välj den senaste versionen och installera.
  5. Vänta tills installationen är klar. Det kommer också att ta hand om installationen av drivrutiner
  6. Du behöver också ett nytt WiFi -bibliotek för detta kort: välj Sketch, Include Library och Manage Libraries. Sök efter Wifinina och installera som du gjorde med processorn ovan.

Anslut nu ditt nya Arduino -kort och vänta på att Windows ska slutföra drivrutinsinstallationen.

Från Verktygs-> Kort-menyn hittar du de nya korten, välj MKR WiFi 1010.

Ytterligare ett speciellt bibliotek behövs för detta projekt, det är ESP8266TelegramBot -biblioteket av Giancarlo Bacchio.

Välj rätt port och testa kortet med kommandot Get Board Info.

Grattis, du är klar med IDE!

Steg 3: Skapa Telegram Bot

Skapa Telegram Bot
Skapa Telegram Bot
Skapa Telegram Bot
Skapa Telegram Bot
Skapa Telegram Bot
Skapa Telegram Bot

Att skapa en ny Telegram Bot är ganska enkelt.

Öppna Telegram -appen och skriv @BotFather i sökfältet och starta en chatt med honom (image1). BotFather är … Bot -fabriken. Det hjälper dig att skapa en ny bot och ändra dess inställningar.

Efter kommandot /start ser du hjälplistan (image2).

  • Skriv /newbot (image3) Skriv nu namnet på din bot. Namnet visas i kontaktuppgifter och på andra håll.
  • BotFather kommer att be dig om ett användarnamn. Användarnamnet är ett kort namn, som ska användas i nämnder och telegram.me -länkar. Användarnamn är 5–32 tecken långa och är skiftlägeskänsliga, men kan endast innehålla latinska tecken, siffror och understrykningar. Din bots användarnamn måste sluta med ‘bot’, t.ex. ‘Tetris_bot’ eller ‘TetrisBot’.
  • Om både namn och användarnamn är giltiga får du en lång rad tecken som kallas TOKEN. Detta är din personliga 'nyckel' som används för att kommunicera med Telegram -servrar. Kopiera och klistra in den i en textfil på din dator för tillfället. Vi kommer att använda det senare i Arduino -koden. Om du tappar det behöver du inte oroa dig, bara öppna chatten igen och skriva /token för att skapa en ny.

Alla steg beskrivs här:

Avancerat (valfritt)

Öppna chatten igen och skriv /hjälp

Klicka på (eller skriv) /setuserpic för att ladda upp en bild för din bot. Klicka på (eller skriv) /setabouttext för att ställa in Om -sektionen för din Bot: Folk kommer att se denna text på botens profilsida och den skickas tillsammans med en länk till din bot när de delar den med någon.

Klicka på (eller skriv) /setdescription för att ställa in ett beskrivningsavsnitt för din bot. Folk kommer att se den här beskrivningen när de öppnar en chatt med din bot, i ett block med titeln 'Vad kan den här boten göra?'.

Steg 4: Ändra, ladda upp och testa skissen

Ändra, ladda upp och testa skissen
Ändra, ladda upp och testa skissen
Ändra, ladda upp och testa skissen
Ändra, ladda upp och testa skissen
Ändra, ladda upp och testa skissen
Ändra, ladda upp och testa skissen

Det är dags att ladda upp programvaran till Arduino MKR WiFi 1010 -kortet.

Ladda ner de bifogade filerna, av någon anledning kan jag inte ladda upp en ZIP, så skapa en mapp som heter skissen och kopiera alla de 4 filerna i den, snälla byt inte namn om du inte vet vad du gör.

Ändra

Öppna skissen, vi måste fylla i lite information (bild 1): fyll i arduino_secrets.h med din wifi- och telegramuppgifter.

  • Leta upp informationen om WiFi -nätverket och skriv in ditt nätverksnamn (SSID) och lösenord.
  • Leta reda på telegram Bot -informationen och skriv in namnet, användarnamnet och token som tillhandahålls av @BotFather

Ladda upp

Se till att tavlan är korrekt (image2) i idén och ansluten och försök sedan att kompilera koden. Om sammanställningen går bra, ladda upp den till tavlan, det tar bara några sekunder.

I händelse av problem, kolla efter ett stavfel och försök igen.

Testa

[VIKTIGT!] Skissen skickar loggar till IDE. Processorn har en inbyggd USB -port (som Leonardo -kort). När den är påslagen väntar koden tills seriell bildskärm körs. Så låt den anslutas till datorn och öppna den seriella bildskärmen. Arduino kommer först att ansluta till internet, sedan kommer det att börja polla Telegram -servern för nya meddelanden (image3).

Öppna nu Telegram på din föredragna enhet och skriv i sökrutan namnet på din bot (inte användarnamnet som slutar med "bot"). Öppna en chatt med den.

Det första kommandot för att starta en chatt med en bot är /start, vår Arduino kommer att svara med ett välkomstmeddelande. Skriv nu hjälp (utan snedstreck), det kommer att svara med en lista med kommandon som stöds, du kan prova dem alla (image4).

Du är klar med testet, om något inte fungerar, kontrollera informationen som anges i skissen (namn, användarnamn, token …)

Certifikat Om du upplever fel med anslutningen till telegramservern (logg: Bot är inte ansluten):

  • Öppna verktygs-> Wifi101/wifinina uppdaterare
  • Se till att ditt kort är anslutet, kontrollera portarna till vänster om uppdateringsverktyget, kortet måste vara där
  • Klicka på Öppna uppdateringsskiss och ladda upp den till tavlan
  • Efter uppladdningen väljer du den senaste firmware för ditt kort i uppdateringsprogrammet och klickar på uppdatera firmware
  • Efter uppdateringen i avsnittet SSL -certifikat i uppdateringsprogrammet, klicka på Lägg till domän, skriv telegram.org:443 i dialogrutan och tryck sedan på OK.
  • Klicka på Ladda upp certifikat till wifi -modulen
  • Ladda upp denna skiss till tavlan

Steg 5: Förbättringar

Förbättringar
Förbättringar

När man tittar på koden är det väldigt enkelt att implementera nya kommandon och svara för användaren.

Nya kommandon: Du kan skriva en sub för varje nytt kommando. Varje sub kommer att ta hand om att slutföra kommandot och (så småningom) returnera en statusinformation till användaren.

Begränsa användare: Naturligtvis är detta projekt bara en demo. Varje Telegram -användare kan ansluta till ditt hem och skicka oönskade kommandon. Du vill inte det här !.

Titta på bilden1, det visar 2 anslutna användare. Som du kan se har varje användare sitt eget användar -ID. Med lite arbete på kodsidan kan du filtrera (eller skapa en lista) endast för auktoriserade användare. Studera bara koden och försök fånga upp användar -ID -numret. Utför sedan kommandon endast från välkända användare.

Hårdvara: På hårdvarusidan kan många sensorer och reläer anslutas till I/O -stiften på Arduino.

Var försiktig: kortet som används i detta projekt är 3,3V tolerant !!! Använd en spänningsnivåreglage vid behov! För mer information och tips om detta kort, läs här:

Det är allt, njut!

Rekommenderad: