INHOUDSOPGAWE:

[IoT] Telegram Bot Met Arduino MKR WiFi 1010: 5 stappe
[IoT] Telegram Bot Met Arduino MKR WiFi 1010: 5 stappe

Video: [IoT] Telegram Bot Met Arduino MKR WiFi 1010: 5 stappe

Video: [IoT] Telegram Bot Met Arduino MKR WiFi 1010: 5 stappe
Video: УМНЫЙ ПОЛИВ НА АРДУИНО nano 2024, Julie
Anonim
Image
Image
Wat jy nodig het
Wat jy nodig het

Hierdie projek demonstreer hoe om Arduino met die Telegram Bot API te koppel. Die projek is gebou rondom die nuwe MKR WiFi 1010-bord wat toegerus is met 'n ESP32-module van U-BLOX.

In hierdie stadium is die projek nie meer as 'n bewys van die konsep nie, net om u te wys waarmee u kan doen, dus hiervoor benodig u slegs die Arduino -bord.

Maar wat is 'n Telegram Bot? Bots is eenvoudig Telegram -rekeninge wat deur sagteware bestuur word - nie deur mense nie - en hulle het dikwels AI -funksies. Hulle kan alles doen - leer, speel, soek, uitsaai, herinner, verbind, integreer met ander dienste of gee selfs opdragte na die Internet of Things. (krediete deur Telegram:

In ons geval gee ons bevele deur na Arduino om 'n eenvoudige IoT -toestel te bou. Dit beantwoord eenvoudige opdragte en skakel ook die ingeboude Led aan/uit. Ek sal jou verbeelding meer daarmee laat doen … (stel jou voor dat jy een of meer relais aan die I/O -penne koppel en byvoorbeeld 'n verwarmer of die lugversorgingstelsel met jou slimfoon aan/uit).

Stap 1: wat u benodig

Wat jy nodig het
Wat jy nodig het

Vir hierdie projek benodig u:

  • Arduino MKR WiFi 1010 van Arduino winkel:
  • Arduino IDE 1.8.5 of hoër:
  • 'N Micro-usb-kabel om Arduino aan u rekenaar te koppel
  • As u 'n internetverbinding benodig, benodig u die SSID en wagwoord. Beter as u u eie tuisrouter gebruik om seker te maak dat dit nie geblokkeer is nie.
  • Telegram -app geïnstalleer op u slimfoon, ongeag die merk. Kyk ook hier vir rekenaar- en webweergawes!

Stap 2: Installeer die IDE

Die installering van die IDE
Die installering van die IDE
Die installering van die IDE
Die installering van die IDE
Die installering van die IDE
Die installering van die IDE

Ja, ek weet, ek weet … die meeste van julle het reeds die Arduino IDE op die rekenaar geïnstalleer, maar hierdie instruksies is ook vir beginners bedoel. Laai dus eers die Arduino IDE 1.8.5 van jou keuse af (zip -lêer vir 'nie -administrateurs' of exe -lêer)

Die 1.8.5 weergawe word aanbeveel, ek het nie ou weergawes getoets nie en die nuwe bord wat in die projek gebruik is, kon glad nie ondersteun word nie.

Nou moet u die nuwe borde met hul bestuurders installeer:

  1. begin die IDE
  2. Kies Boards in die menu Gereedskap en kies boordbestuurder bo -aan die verwerkerslys.
  3. Blaai deur die nuwe venster (sien prent) totdat u die Arduino SAMD -borde vind wat die nuwe MKR WiFi 1010 bevat.
  4. Klik op die oortjie of klik op Meer inligting in die oortjie, kies die nuutste weergawe en installeer.
  5. Wag totdat die installasie voltooi is. Dit sal ook sorg vir die installering van bestuurders
  6. U benodig ook 'n nuwe WiFi -biblioteek vir hierdie bord: kies Sketch, Include Library en Manage Libraries. Soek vir Wifinina en installeer soos u met die verwerker hierbo gedoen het.

Koppel nou u nuwe Arduino -bord en wag totdat Windows die bestuurderinstallasie voltooi het.

Kies die nuwe borde in die menu Tools-> Board en kies die MKR WiFi 1010.

'N Ander spesiale biblioteek is nodig vir hierdie projek: die ESP8266TelegramBot -biblioteek deur Giancarlo Bacchio.

Kies die korrekte poort en toets die bord met die bevel Kry raadinligting.

Geluk, jy is klaar met die IDE!

Stap 3: Skep die Telegram Bot

Die skep van die Telegram Bot
Die skep van die Telegram Bot
Die skep van die Telegram Bot
Die skep van die Telegram Bot
Die skep van die Telegram Bot
Die skep van die Telegram Bot

Die skep van 'n nuwe Telegram Bot is redelik eenvoudig.

Maak die Telegram -app oop en tik @BotFather in die soekbalk en begin met hom gesels (image1). BotFather is die … Bot -fabriek. Dit sal u help om 'n nuwe bot te skep en die instellings daarvan te verander.

Na die /start -opdrag sien u die hulplys (image2).

  • Tik /newbot (image3) Tik nou die naam van u bot. Die naam word in kontakbesonderhede en elders vertoon.
  • BotFather sal u 'n gebruikersnaam vra. Die gebruikersnaam is 'n kort naam wat gebruik kan word in vermeldings en telegram.me -skakels. Gebruikersname is 5-32 karakters lank en is ongevoelig vir hoofletters, maar mag slegs Latynse karakters, getalle en onderstrepings insluit. Jou bot se gebruikersnaam moet eindig op 'bot', bv. ‘Tetris_bot’ of ‘TetrisBot’.
  • As beide die naam en gebruikersnaam geldig is, ontvang u 'n lang reeks tekens met die naam TOKEN. Dit is u persoonlike 'sleutel' wat gebruik word om met Telegram -bedieners te kommunikeer. Kopieer en plak dit vir eers in 'n tekslêer op u rekenaar. Ons sal dit later in die Arduino -kode gebruik. As u dit nie bekommer nie, maak die chat weer oop en tik /teken om 'n nuwe een te genereer.

Al die stappe word hier beskryf:

Gevorderd (opsioneel)

Maak die klets weer oop en tik /help

Klik op (of tik) /setuserpic om 'n foto vir u bot op te laai. Klik op (of tik) /setabouttext om die About -afdeling vir u Bot in te stel: Mense sal hierdie teks op die bot se profielbladsy sien en dit sal saam met 'n skakel na u bot as hulle dit met iemand deel.

Klik op (of tik) /setdescription om 'n beskrywingsafdeling vir u bot op te stel. Mense sal hierdie beskrywing sien as hulle 'n klets met u bot oopmaak in 'n blok met die titel 'Wat kan hierdie bot doen?'.

Stap 4: Verander, laai op en toets die skets

Verander, laai op en toets die skets
Verander, laai op en toets die skets
Verander, laai op en toets die skets
Verander, laai op en toets die skets
Verander, laai op en toets die skets
Verander, laai op en toets die skets

Dit is tyd om die sagteware op te laai na die Arduino MKR WiFi 1010 -bord.

Laai die aangehegte lêers af, om een of ander rede kan ek nie 'n zip oplaai nie, so skep 'n gids met die skets en kopieer al die 4 lêers daarin; moet asseblief nie die name verander tensy u weet wat u doen nie.

Verander

Maak die skets oop, ons moet 'n paar inligting invul (beeld 1): vul die arduino_secrets.h in met u wifi- en telegrambewyse.

  • Soek die inligting oor die WiFi -netwerk en tik u netwerknaam (SSID) en wagwoord in.
  • Soek die telegram Bot -inligting en tik die naam, gebruikersnaam en teken in wat deur @BotFather verskaf word

Laai op

Maak seker dat die bord korrek is (image2) in die idee en gekoppel is, en probeer dan om die kode saam te stel. As die samestelling goed verloop, laai dit op die bord, dit neem slegs 'n paar sekondes.

In die geval van probleme, kyk vir 'n tikfout en probeer weer.

Toets

[BELANGRIK!] Die skets stuur logs na die IDE. Die verwerker het 'n eie USB -poort (soos Leonardo -borde). Sodra dit aangeskakel is, wag die kode totdat die seriële monitor werk. Laat dit dus aan die rekenaar koppel en maak die seriële monitor oop. Arduino sal eers met die internet verbind word, dan begin die telegram -bediener vir nuwe boodskappe (image3).

Maak nou Telegram oop op u toestel wat u verkies, en tik in die soekkassie die naam van u bot (nie die gebruikersnaam wat met 'bot' eindig nie). Maak 'n klets daarmee oop.

Die eerste opdrag om 'n chat met 'n bot te begin, is /begin, ons Arduino sal antwoord met 'n welkome boodskap. Tik nou hulp (sonder 'n strepie), dit sal beantwoord word met 'n lys met ondersteunde opdragte, u kan dit almal probeer (image4).

U is klaar met die toets, as iets nie werk nie, kyk na die inligting wat in die skets verskyn (naam, gebruikersnaam, teken …)

Sertifikate As u foute ondervind met die verbinding met die telegrambediener (log: Bot nie gekoppel nie):

  • Maak gereedskap oop-> Wifi101/wifinina-opdaterer
  • Maak seker dat u bord verbind is; kyk na die poorte aan die linkerkant van die opdateringsinstrument, die bord moet daar wees
  • Klik op Open updater sketch en laai dit op die bord op
  • Na die oplaai, kies die nuutste firmware vir u bord in die opdaterer en klik op firmware opdateer
  • Na die opdatering, in die opdaterer, afdeling SSL -sertifikate, klik op Voeg domein toe, skryf in die dialoog telegram.org:443 en druk OK.
  • Klik op Laai sertifikate op na wifi -module
  • Laai hierdie skets op die bord

Stap 5: Verbeterings

Verbeterings
Verbeterings

As u na die kode kyk, is dit baie eenvoudig om nuwe opdragte te implementeer en aan die gebruiker te beantwoord.

Nuwe opdragte: U kan 'n sub vir elke nuwe opdrag skryf. Elke sub sal sorg vir die voltooiing van die opdrag en (uiteindelik) 'n statusinligting aan die gebruiker teruggee.

Gebruikers beperk: hierdie projek is natuurlik slegs 'n demo. Elke Telegram -gebruiker kan met u huis skakel en ongewenste opdragte stuur. U wil dit nie hê nie!.

Kyk na die beeld 1, dit wys 2 gekoppelde gebruikers. Soos u kan sien, het elke gebruiker sy eie gebruikers -ID. Met 'n bietjie werk aan die kodekant, kan u slegs vir gemagtigde gebruikers filter (of 'n lys opstel). Bestudeer net die kode en probeer die gebruikers -ID -nommer onderskep. Voer dan slegs opdragte uit van bekende gebruikers.

Hardeware: aan die hardeware -kant kan baie sensors en relais aan die I/O -penne van Arduino gekoppel word.

Wees versigtig: die bord wat in hierdie projek gebruik word, is 3.3V verdraagsaam !!! Gebruik waar nodig 'n spanningsvlakverskakelaar! Lees hier meer vir meer inligting en wenke oor hierdie bord:

Dit is alles, geniet dit!

Aanbeveel: