Kazalo:

[IoT] Telegram Bot z Arduino MKR WiFi 1010: 5 korakov
[IoT] Telegram Bot z Arduino MKR WiFi 1010: 5 korakov

Video: [IoT] Telegram Bot z Arduino MKR WiFi 1010: 5 korakov

Video: [IoT] Telegram Bot z Arduino MKR WiFi 1010: 5 korakov
Video: AS5600 бесконтактный датчик угла документация 2024, Julij
Anonim
Image
Image
Kaj rabiš
Kaj rabiš

Ta projekt prikazuje, kako povezati Arduino z vmesniki Telegram Bot. Projekt je zgrajen okoli nove plošče MKR WiFi 1010, opremljene z modulom ESP32 podjetja U-BLOX.

Na tej stopnji projekt ni nič drugega kot dokaz koncepta, samo zato, da vam pokaže, kaj lahko storite, zato za to potrebujete le ploščo Arduino.

No, kaj je Telegram Bot? No, roboti so preprosto računi Telegrama, ki jih upravlja programska oprema - ne ljudje - in pogosto bodo imeli funkcije AI. Lahko počnejo kar koli - poučujejo, igrajo, iščejo, oddajajo, opomnijo, povežejo, povežejo z drugimi storitvami ali celo posredujejo ukaze internetu stvari. (zasluge Telegrama:

V našem primeru bomo ukaze posredovali Arduinu, ki gradi preprosto napravo IoT. Odgovarjal bo na preproste ukaze in vklopil/izklopil vgrajeni LED. Pustil bom, da vaša domišljija naredi več pri tem … (zamislite, da povežete en ali več relejev z V/I zatiči in na primer vklopite/izklopite grelec ali klimatsko napravo s pametnim telefonom).

1. korak: Kaj potrebujete

Kaj rabiš
Kaj rabiš

Za ta projekt potrebujete:

  • Arduino MKR WiFi 1010 iz trgovine Arduino:
  • Arduino IDE 1.8.5 ali novejši:
  • Kabel micro-usb za povezavo Arduina z računalnikom
  • Za internetno povezavo sta potrebna SSID in geslo. Bolje, če uporabite svoj domači usmerjevalnik, da se prepričate, da ni blokiran.
  • Aplikacija Telegram, nameščena na vašem pametnem telefonu, ne glede na znamko. Tukaj preverite tudi različice za računalnik in splet!

2. korak: Namestitev IDE

Namestitev IDE
Namestitev IDE
Namestitev IDE
Namestitev IDE
Namestitev IDE
Namestitev IDE

Ja, vem, vem … večina od vas že ima nameščen Arduino IDE v računalniku, vendar je ta Instructables namenjen tudi začetnikom. Zato najprej prenesite Arduino IDE 1.8.5 po vaši izbiri (zip datoteka za "datoteka brez skrbnikov" ali exe)

Priporočena je različica 1.8.5, starih različic nisem preizkusil in nove plošče, uporabljene v projektu, sploh ni bilo mogoče podpreti.

Zdaj morate namestiti nove plošče z gonilniki:

  1. zaženite IDE
  2. V meniju Orodja izberite plošče, nato pa na vrhu seznama procesorjev izberite upravitelja plošč.
  3. Pomaknite se po novem oknu (glejte sliko), dokler ne najdete plošč Arduino SAMD z novim MKR WiFi 1010.
  4. Kliknite ta zavihek ali kliknite Več informacij na zavihku, izberite najnovejšo različico in namestite.
  5. Počakajte, da se namestitev zaključi. Poskrbel bo tudi za namestitev gonilnikov
  6. Za to ploščo potrebujete tudi novo knjižnico WiFi: izberite Sketch, Include Library in Manage Libraries. Poiščite Wifinina in jo namestite, kot ste to storili s procesorjem zgoraj.

Zdaj povežite svojo novo ploščo Arduino in počakajte, da Windows dokonča namestitev gonilnika.

V meniju Orodja-> Plošča boste našli nove plošče, izberite MKR WiFi 1010.

Za ta projekt je potrebna še ena posebna knjižnica, to je knjižnica ESP8266TelegramBot avtorja Giancarla Bacchia. Knjižnica je bila nekoliko spremenjena za delo s to ploščo, zato je vključena v mapo skice.

Izberite pravilno vrata com in preizkusite ploščo z ukazom Get Board Info.

Čestitamo, z IDE ste končali!

3. korak: Ustvarjanje Telegram Bota

Ustvarjanje Telegram Bota
Ustvarjanje Telegram Bota
Ustvarjanje Telegram Bota
Ustvarjanje Telegram Bota
Ustvarjanje Telegram Bota
Ustvarjanje Telegram Bota

Ustvarjanje novega Telegram Bota je precej preprosto.

Odprite aplikacijo Telegram in v iskalno vrstico vnesite @BotFather in začnite klepet z njim (slika1). BootFather je … tovarna Bot. Pomagal vam bo pri ustvarjanju novega bota in spreminjanju njegovih nastavitev.

Po ukazu /start boste videli seznam pomoči (image2).

  • Type /newbot (image3) Zdaj vnesite ime svojega bota. Ime je prikazano v kontaktnih podatkih in drugje.
  • BotFather vas bo vprašal za uporabniško ime. Uporabniško ime je kratko ime, ki se uporablja pri omembah in povezavah telegram.me. Uporabniška imena so dolga 5-32 znakov in ne razlikujejo med velikimi in malimi črkami, lahko pa vsebujejo le latinske znake, številke in podčrtaje. Uporabniško ime vašega bota se mora končati z 'bot', npr. „Tetris_bot“ali „TetrisBot“.
  • Če sta ime in uporabniško ime veljavna, boste prejeli dolg niz znakov, imenovan TOKEN. To je vaš osebni "ključ" za komunikacijo s strežniki Telegram. Zaenkrat ga kopirajte in prilepite v besedilno datoteko v računalniku. Kasneje ga bomo uporabili v kodi Arduino. Če ga izgubite, ne skrbite, znova odprite klepet in vnesite /žeton, da ustvarite novega.

Vsi koraki so opisani tukaj:

Napredno (neobvezno)

Znova odprite klepet in vnesite /help

Kliknite (ali vnesite) /setuserpic, če želite naložiti sliko za svojega bota. Kliknite (ali vnesite) /setabouttext, da nastavite razdelek Vizitka za svojega Bota: Ljudje bodo videli to besedilo na strani profila bota in bo poslano skupaj z povezavo do vašega bota, ko jo dajo v skupno rabo z nekom.

Kliknite (ali vnesite) /setdescription, da nastavite opisni odsek za svojega bota. Ljudje bodo videli ta opis, ko odprejo klepet z vašim botom v bloku z naslovom »Kaj lahko ta bot naredi?«.

4. korak: Spremenite, naložite in preizkusite skico

Spremenite, naložite in preizkusite skico
Spremenite, naložite in preizkusite skico
Spremenite, naložite in preizkusite skico
Spremenite, naložite in preizkusite skico
Spremenite, naložite in preizkusite skico
Spremenite, naložite in preizkusite skico

Čas je, da programsko opremo naložite na ploščo Arduino MKR WiFi 1010.

Prenesite priložene datoteke, iz nekega razloga ne morem naložiti ZIP -a, zato ustvarite mapo, imenovano skica, in kopirajte vse 4 datoteke v njej, ne spreminjajte imen, če ne veste, kaj počnete.

Spremeni

Odprite skico, izpolniti moramo nekaj podatkov (slika1): napolnite arduino_secrets.h s svojimi poverilnicami za wifi in telegram.

  • Poiščite podatke o omrežju WiFi in vnesite ime vašega omrežja (SSID) in geslo.
  • Poiščite informacije o telegramu Bot in vnesite ime, uporabniško ime in žeton, ki jih ponuja @BotFather

Naloži

Prepričajte se, da je plošča pravilna (slika2) v ide in povezana, nato poskusite sestaviti kodo. Če je kompilacija uspešna, jo naložite na tablo, trajalo bo le nekaj sekund.

V primeru težav preverite tipkarsko napako in poskusite znova.

Test

[POMEMBNO!] Skica pošlje dnevnike v IDE. Procesor ima domača vrata USB (na primer plošče Leonardo). Ko je koda vklopljena, bo počakala, da se serijski monitor zažene. Torej, pustite, da je povezan z računalnikom in odpre serijski monitor. Arduino se bo najprej povezal z internetom, nato pa bo začel iskati strežnik Telegram za nova sporočila (image3).

Zdaj odprite Telegram na želeni napravi in v iskalno polje vnesite ime svojega bota (ne uporabniškega imena, ki se konča z 'bot'). Odprite klepet z njim.

Prvi ukaz za začetek klepeta z botom je /start, naš Arduino bo odgovoril s sporočilom dobrodošlice. Zdaj vnesite help (brez poševnice), odgovoril bo s seznamom podprtih ukazov, lahko jih preizkusite vse (image4).

S testom ste končali. Če nekaj ne deluje, preverite informacije, vnesene v skico (ime, uporabniško ime, žeton …)

Potrdila Če pri povezavi s strežnikom telegramov prihaja do napak (dnevnik: Bot ni povezan):

  • Odprite Orodja-> Wifi101/wifinina Updater
  • Prepričajte se, da je plošča povezana, preverite vrata na levi strani orodja za posodobitev, plošča mora biti tam
  • Kliknite Odpri skico posodabljalnika in jo naložite na ploščo
  • Po nalaganju v programu za posodabljanje izberite najnovejšo vdelano programsko opremo za svojo ploščo in kliknite posodobi vdelano programsko opremo
  • Po posodobitvi v razdelku za posodobitev v razdelku SSL certifikati kliknite Dodaj domeno, v pogovornem oknu napišite telegram.org:443 in pritisnite OK.
  • Kliknite Naloži potrdila v modul wifi
  • Naloži to skico na tablo

5. korak: Izboljšajte

Izboljšave
Izboljšave

Če pogledamo kodo, je zelo preprosto implementirati nove ukaze in odgovoriti uporabniku.

Novi ukazi: Za vsak nov ukaz lahko napišete podnapis. Vsak podmornik bo poskrbel za dokončanje ukaza in (sčasoma) vrnil podatke o stanju uporabniku.

Omejevanje uporabnikov: Seveda je ta projekt le demo. Vsak uporabnik Telegrama se lahko poveže z vašim domom in pošlje neželene ukaze. Nočeš tega !.

No, poglejte sliko 1, prikazuje 2 uporabnika, ki sta povezana. Kot lahko vidite, ima vsak uporabnik svoj ID uporabnika. Z malo dela na kodni strani lahko filtrirate (ali sestavite seznam) samo za pooblaščene uporabnike. Samo preučite kodo in poskusite prestreči ID številko uporabnika. Nato ukaze izvajajte samo od znanih uporabnikov.

Strojna oprema: Na strani strojne opreme je mogoče na I/O zatiče Arduina priključiti veliko senzorjev in relejev.

Bodite previdni: plošča, uporabljena v tem projektu, je 3.3V tolerantna !!! Po potrebi uporabite menjalnik napetosti! Za več informacij in nasvete o tej plošči preberite tukaj:

To je vse, uživajte!

Priporočena: