Indholdsfortegnelse:

[IoT] Telegram Bot Med Arduino MKR WiFi 1010: 5 trin
[IoT] Telegram Bot Med Arduino MKR WiFi 1010: 5 trin

Video: [IoT] Telegram Bot Med Arduino MKR WiFi 1010: 5 trin

Video: [IoT] Telegram Bot Med Arduino MKR WiFi 1010: 5 trin
Video: Can You Reattach a Severed Finger? 🤔 2024, November
Anonim
Image
Image
Hvad du har brug for
Hvad du har brug for

Dette projekt viser, hvordan Arduino kan forbindes med Telegram Bot API'erne. Projektet er bygget op omkring det nye MKR WiFi 1010-kort udstyret med et ESP32-modul fra U-BLOX.

På dette stadium er projektet ikke mere end et bevis på koncept, bare for at vise dig, hvad du kunne gøre med, så til dette har du kun brug for Arduino -tavlen.

Men hvad er en Telegram Bot? Nå, Bots er simpelthen Telegram -konti, der drives af software - ikke mennesker - og de har ofte AI -funktioner. De kan alt - undervise, afspille, søge, udsende, minde, forbinde, integrere med andre tjenester eller endda videregive kommandoer til tingenes internet. (kreditter fra Telegram:

I vores tilfælde sender vi kommandoer til Arduino, der bygger en simpel IoT -enhed. Det vil svare på enkle kommandoer og også tænde/slukke for den indbyggede LED. Jeg lader din fantasi gøre mere med det … (forestil dig at tilslutte et eller flere relæ til I/O -benene og tænde/slukke for en varmelegeme eller klimaanlæg med din smartphone, for eksempel).

Trin 1: Hvad du har brug for

Hvad du har brug for
Hvad du har brug for

Til dette projekt har du brug for:

  • Arduino MKR WiFi 1010 fra Arduino-butikken:
  • Arduino IDE 1.8.5 eller nyere:
  • Et mikro-usb-kabel til tilslutning af Arduino til din pc
  • En internetforbindelse, det kræver SSID og adgangskode. Bedre hvis du bruger din egen hjemmrouter for at være sikker på, at den ikke er blokeret.
  • Telegram -appen er installeret på din smartphone, uanset mærke. Se her også for pc- og webversioner!

Trin 2: Installation af IDE

Installation af IDE
Installation af IDE
Installation af IDE
Installation af IDE
Installation af IDE
Installation af IDE

Ja, jeg ved, jeg ved … de fleste af jer har allerede Arduino IDE installeret på pc'en, men denne instruktionsbog er også beregnet til begyndere. Så først og fremmest skal du downloade den valgte Arduino IDE 1.8.5 (zip -fil til 'ikke -administratorer' eller exe -fil)

1.8.5 -versionen anbefales, jeg testede ikke gamle versioner, og det nye bord, der blev brugt i projektet, kunne slet ikke understøttes.

Nu skal du installere de nye tavler med deres drivere:

  1. start IDE
  2. Vælg Tavler i menuen Værktøjer, og vælg derefter Boards manager øverst på listen over processorer.
  3. Rul det nye vindue (se billede), indtil du finder Arduino SAMD -kortene, der indeholder den nye MKR WiFi 1010.
  4. Klik på den fane eller klik på Mere info i fanen, vælg den nyeste version og installer.
  5. Vent til installationen er fuldført. Det vil også tage sig af installation af drivere
  6. Du har også brug for et nyt WiFi -bibliotek til dette board: Vælg Sketch, Include Library og Manage Libraries. Søg efter Wifinina og installer som du gjorde med processoren ovenfor.

Tilslut nu dit nye Arduino -kort, og vent på, at Windows fuldfører driverinstallationen.

Fra menuen Værktøjer-> Board finder du de nye boards, vælg MKR WiFi 1010.

Der er brug for et andet specielt bibliotek til dette projekt, det er ESP8266TelegramBot -biblioteket af Giancarlo Bacchio.

Vælg den korrekte port, og test tavlen med kommandoen Hent bordinfo.

Tillykke, du er færdig med IDE!

Trin 3: Oprettelse af Telegram Bot

Oprettelse af Telegram Bot
Oprettelse af Telegram Bot
Oprettelse af Telegram Bot
Oprettelse af Telegram Bot
Oprettelse af Telegram Bot
Oprettelse af Telegram Bot

Oprettelse af en ny Telegram Bot er ganske enkel.

Åbn Telegram -appen, og skriv @BotFather i søgefeltet, og start en chat med ham (image1). BotFather er … Bot -fabrikken. Det hjælper dig med at oprette en ny bot og ændre dens indstillinger.

Efter /start -kommandoen ser du hjælpelisten (image2).

  • Type /newbot (image3) Skriv nu navnet på din bot. Navnet vises i kontaktoplysninger og andre steder.
  • BotFather vil bede dig om et brugernavn. Brugernavnet er et kort navn, der skal bruges i omtaler og telegram.me links. Brugernavne er 5-32 tegn lange og er ufølsomme for store og små bogstaver, men må kun indeholde latinske tegn, tal og understregninger. Din bots brugernavn skal ende med ‘bot’, f.eks. 'Tetris_bot' eller 'TetrisBot'.
  • Hvis både navn og brugernavn er gyldige, modtager du en lang række tegn kaldet TOKEN. Dette er din personlige 'nøgle', der bruges til at kommunikere med Telegram -servere. Kopier og indsæt den i en tekstfil på din pc for nu. Vi vil bruge det senere i Arduino -koden. Hvis du mister det, skal du bare åbne chatten igen og skrive /token for at generere en ny.

Alle trin er beskrevet her:

Avanceret (valgfrit)

Åbn chatten igen, og skriv /hjælp

Klik på (eller skriv) /setuserpic for at uploade et billede til din bot. Klik på (eller skriv) /setabouttext for at indstille Om -sektionen for din Bot: Folk vil se denne tekst på botens profilside, og den sendes sammen med et link til din bot, når de deler det med nogen.

Klik på (eller skriv) /setdescription for at angive et beskrivelsesafsnit for din bot. Folk vil se denne beskrivelse, når de åbner en chat med din bot i en blok med titlen 'Hvad kan denne bot gøre?'.

Trin 4: Rediger, upload og test skitsen

Rediger, upload og test skitsen
Rediger, upload og test skitsen
Rediger, upload og test skitsen
Rediger, upload og test skitsen
Rediger, upload og test skitsen
Rediger, upload og test skitsen

Det er tid til at uploade softwaren til Arduino MKR WiFi 1010 -kortet.

Download de vedhæftede filer, af en eller anden grund kan jeg ikke uploade et ZIP, så opret en mappe med navnet som skitsen og kopier alle de 4 filer inde i den. Du må ikke ændre navne, medmindre du ved, hvad du laver.

Modificere

Åbn skitsen, vi skal udfylde nogle oplysninger (billede1): udfyld arduino_secrets.h med din wifi og telegram -legitimation.

  • Find oplysninger om WiFi -netværket, og indtast dit netværksnavn (SSID) og adgangskode.
  • Find telegram Bot -informationerne, og indtast navn, brugernavn og token fra @BotFather

Upload

Sørg for, at tavlen er korrekt (image2) i ideen og forbundet, og prøv derefter at kompilere koden. Hvis samlingen går godt, skal du uploade den til tavlen, det tager kun få sekunder.

I tilfælde af problemer skal du kontrollere for en stavefejl og prøve igen.

Prøve

[VIGTIGT!] Skitsen sender logfiler til IDE. Processoren har en indbygget USB -port (som Leonardo -tavler). Når den er tændt, venter koden, indtil den serielle skærm kører. Så lad det tilsluttes pc'en, og åbn den serielle skærm. Arduino vil først oprette forbindelse til internettet, derefter vil det begynde at afstemme Telegram -serveren for nye meddelelser (image3).

Åbn nu Telegram på din foretrukne enhed, og indtast navnet på din bot i søgefeltet (ikke brugernavnet, der ender med 'bot'). Åbn en chat med det.

Den første kommando til at starte en chat med en bot er /start, vores Arduino vil svare med en velkomstbesked. Skriv nu hjælp (uden skråstreg), den vil svare med en liste over understøttede kommandoer, du kan prøve dem alle (image4).

Du er færdig med testen, hvis noget ikke virker, skal du kontrollere infomationerne i skitsen (navn, brugernavn, token …)

Certifikater Hvis du oplever fejl med forbindelsen til telegramserveren (log: Bot ikke tilsluttet):

  • Åbn værktøjer-> Wifi101/wifinina opdaterer
  • Sørg for, at dit kort er tilsluttet. Kontroller portene til venstre for opdateringsværktøjet, kortet skal være der
  • Klik på Åbn opdateringsskitse, og upload den til tavlen
  • Efter upload skal du i opdateringsprogrammet vælge den nyeste firmware til dit bord og klikke på opdater firmware
  • Efter opdateringen i afsnittet SSL -certifikater i opdateringsprogrammet, klik på Tilføj domæne, skriv telegram.org:443 i dialogen, og tryk derefter på OK.
  • Klik på Upload certifikater til wifi -modul
  • Upload denne skitse til tavlen

Trin 5: Forbedringer

Forbedringer
Forbedringer

Når man ser på koden, er det meget enkelt at implementere nye kommandoer og svare til brugeren.

Nye kommandoer: Du kan skrive en sub for hver ny kommando. Hver sub vil sørge for at fuldføre kommandoen og (i sidste ende) returnere en statusinformation til brugeren.

Begrænsning af brugere: Selvfølgelig er dette projekt kun en demo. Enhver Telegram -bruger kan oprette forbindelse til dit hjem og sende uønskede kommandoer. Du vil ikke have dette !.

Se på billedet1, det viser 2 forbundne brugere. Som du kan se, har hver bruger sit eget bruger -id. Med lidt arbejde på kodesiden kan du filtrere (eller opbygge en liste) kun for autoriserede brugere. Undersøg bare koden og prøv at opsnappe bruger -id -nummeret. Udfør derefter kun kommandoer fra velkendte brugere.

Hardware: På hardwaresiden kan der tilsluttes en masse sensorer og relæer til I/O -benene på Arduino.

Vær forsigtig: tavlen brugt i dette projekt er 3,3V tolerant !!! Brug en spændingsniveauforskifter, hvis det er nødvendigt! Læs mere her:

Det er alt, nyd det!

Anbefalede: