Sadržaj:

[IoT] Telegram bot s Arduino MKR WiFi 1010: 5 koraka
[IoT] Telegram bot s Arduino MKR WiFi 1010: 5 koraka

Video: [IoT] Telegram bot s Arduino MKR WiFi 1010: 5 koraka

Video: [IoT] Telegram bot s Arduino MKR WiFi 1010: 5 koraka
Video: TELEGRAM App Controlling ESP8266 Using ARDUINO IDE | #esp8266 #telegram #arduinoide 2024, Srpanj
Anonim
Image
Image
Što trebaš
Što trebaš

Ovaj projekt pokazuje kako spojiti Arduino s API-jevima Telegram Bota. Projekt je izgrađen oko nove MKR WiFi 1010 ploče opremljene modulom ESP32 tvrtke U-BLOX.

U ovoj fazi projekt nije ništa više od dokaza koncepta, samo da vam pokaže što možete učiniti, pa vam za to treba samo Arduino ploča.

No, što je Telegram Bot? Pa, Botovi su jednostavno Telegram računi kojima upravlja softver - a ne ljudi - i često će imati AI značajke. Oni mogu učiniti bilo što - poučavati, igrati, pretraživati, emitirati, podsjećati, povezivati se, integrirati se s drugim uslugama ili čak prenijeti naredbe na Internet stvari. (zasluge Telegrama:

U našem slučaju ćemo proslijediti naredbe Arduinu za izradu jednostavnog IoT uređaja. Odgovorit će na jednostavne naredbe, a također će uključiti/isključiti ugrađeni Led. Dopustit ću vašoj mašti da učini više s tim … (zamislite da spojite jedan ili više releja na U/I pinove i uključite/isključite grijač ili sustav klima uređaja sa svojim pametnim telefonom, na primjer).

Korak 1: Što vam treba

Što trebaš
Što trebaš

Za ovaj projekt potrebno vam je:

  • Arduino MKR WiFi 1010 iz trgovine Arduino:
  • Arduino IDE 1.8.5 ili novija:
  • Mikro-USB kabel za povezivanje Arduina s računalom
  • Za internetsku vezu potrebni su SSID i lozinka. Bolje ako koristite vlastiti kućni usmjerivač kako biste bili sigurni da nije blokiran.
  • Aplikacija Telegram instalirana na vašem pametnom telefonu, bez obzira na marku. Ovdje provjerite i verzije za računalo i web!

Korak 2: Instaliranje IDE -a

Instaliranje IDE -a
Instaliranje IDE -a
Instaliranje IDE -a
Instaliranje IDE -a
Instaliranje IDE -a
Instaliranje IDE -a

Da, znam, znam … većina vas već ima Arduino IDE instaliran na računalu, ali ovaj Instructables namijenjen je i početnicima. Prije svega, preuzmite Arduino IDE 1.8.5 po vašem izboru (zip datoteka za "datoteka bez administratora" ili exe datoteka)

Preporučuje se verzija 1.8.5, nisam testirao stare verzije, a nova ploča korištena u projektu uopće nije mogla biti podržana.

Sada morate instalirati nove ploče s upravljačkim programima:

  1. pokrenite IDE
  2. Na izborniku Alati odaberite Ploče, a zatim pri vrhu popisa procesora odaberite Upravitelj ploča.
  3. Pomičite novi prozor (pogledajte sliku) dok ne pronađete Arduino SAMD ploče koje uključuju novi MKR WiFi 1010.
  4. Kliknite na tu karticu ili kliknite na Više informacija unutar kartice, odaberite najnoviju verziju i instalirajte.
  5. Pričekajte da instalacija završi. Također će se pobrinuti za instalaciju upravljačkih programa
  6. Za ovu ploču potrebna vam je i nova WiFi biblioteka: odaberite Sketch, Include Library i Manage Libraries. Search for Wifinina i instalirajte kao što ste to učinili s gornjim procesorom.

Sada spojite svoju novu Arduino ploču i pričekajte da Windows dovrši instalaciju upravljačkog programa.

Na izborniku Alati-> Ploča pronaći ćete nove ploče, odaberite MKR WiFi 1010.

Za ovaj projekt potrebna je još jedna posebna knjižnica, to je knjižnica ESP8266TelegramBot autora Giancarla Bacchia. Knjižnica je malo izmijenjena za rad s ovom pločom pa je uključena u mapu skice.

Odaberite ispravan com port i testirajte ploču naredbom Get Board Info.

Čestitamo, završili ste s IDE -om!

Korak 3: Stvaranje Telegram bota

Izrada Telegram Bota
Izrada Telegram Bota
Izrada Telegram Bota
Izrada Telegram Bota
Izrada Telegram Bota
Izrada Telegram Bota

Izrada novog Telegram Bota vrlo je jednostavna.

Otvorite aplikaciju Telegram i u traku za pretraživanje upišite @BotFather i započnite razgovor s njim (slika1). BootFather je … tvornica botova. Pomoći će vam u stvaranju novog robota i promjeni njegovih postavki.

Nakon naredbe /start vidjet ćete popis pomoći (image2).

  • Type /newbot (image3) Sada upišite naziv svog bota. Ime je prikazano u podacima za kontakt i drugdje.
  • BotFather će od vas tražiti korisničko ime. Korisničko ime je kratak naziv koji se koristi u spominjanjima i na telegram.me vezama. Korisnička imena imaju 5-32 znaka i ne razlikuju velika i mala slova, ali mogu sadržavati samo latinične znakove, brojeve i podvlake. Korisničko ime vašeg bota mora završavati s ‘bot’, npr. ‘Tetris_bot’ ili ‘TetrisBot’.
  • Ako su ime i korisničko ime valjani, primit ćete dugi niz znakova pod nazivom TOKEN. Ovo je vaš osobni "ključ" koji se koristi za komunikaciju s poslužiteljima Telegrama. Za sada ga kopirajte i zalijepite u tekstualnu datoteku na računalu. Kasnije ćemo ga upotrijebiti u Arduino kodu. Ako ga izgubite, ne brinite, samo ponovno otvorite chat i upišite /token da biste generirali novi.

Ovdje su opisani svi koraci:

Napredno (izborno)

Ponovno otvorite chat i upišite /pomoć

Kliknite na (ili upišite) /setuserpic da biste učitali sliku za svog bota. Kliknite na (ili upišite) /setabouttext da postavite odjeljak O svom botu: ljudi će vidjeti ovaj tekst na stranici profila bota i bit će poslan zajedno s vezu do vašeg bota kada je podijele s nekim.

Pritisnite (ili upišite) /setdescription za postavljanje odjeljka opisa za vašeg bota. Ljudi će vidjeti ovaj opis kada otvore chat s vašim botom, u bloku pod nazivom 'Što ovaj bot može učiniti?'.

Korak 4: Izmijenite, prenesite i testirajte skicu

Izmijenite, prenesite i testirajte skicu
Izmijenite, prenesite i testirajte skicu
Izmijenite, prenesite i testirajte skicu
Izmijenite, prenesite i testirajte skicu
Izmijenite, prenesite i testirajte skicu
Izmijenite, prenesite i testirajte skicu

Vrijeme je za postavljanje softvera na Arduino MKR WiFi 1010 ploču.

Preuzmite priložene datoteke, iz nekog razloga ne mogu učitati ZIP, stoga stvorite mapu pod nazivom skica i kopirajte sve 4 datoteke unutar nje, nemojte mijenjati imena ako ne znate što radite.

Izmijeniti

Otvorite skicu, moramo ispuniti neke podatke (slika1): ispunite arduino_secrets.h svojim vjerodajnicama za wifi i telegram.

  • Pronađite podatke o WiFi mreži i upišite naziv svoje mreže (SSID) i lozinku.
  • Pronađite informacije o telegramu Bota i upišite ime, korisničko ime i token koje pruža @BotFather

Učitaj

Provjerite je li ploča ispravna (image2) u ide i spojena, a zatim pokušajte sastaviti kod. Ako kompilacija prođe dobro, postavite je na ploču, trajat će samo nekoliko sekundi.

U slučaju problema provjerite ima li pogreške pri upisu i pokušajte ponovno.

Test

[VAŽNO!] Skica šalje zapisnike u IDE. Procesor ima izvorni USB priključak (poput Leonardovih ploča). Jednom kad se uključi, kôd će čekati dok se serijski monitor ne pokrene. Dakle, pustite ga da se poveže s računalom i otvorite serijski monitor. Arduino će se najprije povezati s internetom, a zatim će početi prozivati Telegram poslužitelj za nove poruke (image3).

Sada otvorite Telegram na željenom uređaju i u okvir za pretraživanje upišite naziv svog bota (ne korisničko ime koje završava s 'bot'). Otvorite chat s njom.

Prva naredba za početak chata s botom je /start, naš Arduino će odgovoriti porukom dobrodošlice. Sada upišite pomoć (bez kose crte), odgovorit će s popisom podržanih naredbi, možete ih isprobati sve (slika 4).

Završili ste s testom, ako nešto ne radi, provjerite informacije unesene u skicu (ime, korisničko ime, token …)

Certifikati Ako nailazite na greške pri povezivanju s poslužiteljem telegrama (dnevnik: Bot nije povezan):

  • Otvorite Alati-> Wifi101/wifinina Updater
  • Provjerite je li vaša ploča spojena, provjerite portove s lijeve strane alata za ažuriranje, ploča mora biti tamo
  • Kliknite Otvori ažuriranje skice i prenesite je na ploču
  • Nakon prijenosa, u programu za ažuriranje odaberite najnoviji firmver za svoju ploču i kliknite ažuriranje firmvera
  • Nakon ažuriranja, u odjeljku za ažuriranje, odjeljku SSL certifikati, kliknite Dodaj domenu, u dijalogu upišite telegram.org:443, a zatim pritisnite U redu.
  • Kliknite Pošalji certifikate u WiFi modul
  • Prenesite ovu skicu na ploču

Korak 5: Poboljšajte

Poboljšanja
Poboljšanja

Gledajući kod, vrlo je jednostavno implementirati nove naredbe i odgovoriti korisniku.

Nove naredbe: Za svaku novu naredbu možete napisati podmeni. Svaki podmornik će se pobrinuti za dovršetak naredbe i (na kraju) vratiti informacije o statusu korisniku.

Ograničavanje korisnika: Naravno da je ovaj projekt samo demo. Svaki korisnik Telegrama može se povezati s vašim domom i slati neželjene naredbe. Ne želiš ovo !.

Pa, pogledajte sliku1, prikazuje 2 povezana korisnika. Kao što vidite, svaki korisnik ima svoj korisnički ID. Uz malo rada na kodnoj strani, možete filtrirati (ili sastaviti popis) samo za ovlaštene korisnike. Samo proučite kôd i pokušajte presresti korisnički ID broj. Zatim izvršavajte naredbe samo od dobro poznatih korisnika.

Hardver: Sa hardverske strane, mnogo senzora i releja može se spojiti na I/O pinove Arduina.

Budite oprezni: ploča koja se koristi u ovom projektu tolerira 3.3V !!! Koristite mjenjač razine napona gdje je potrebno! Za više informacija i savjeta o ovoj ploči pročitajte ovdje:

To je sve, uživajte!

Preporučeni: