Sadržaj:

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

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

Video: [IoT] Telegram bot sa Arduino MKR WiFi 1010: 5 koraka
Video: Microbit Robot + Raspberry Pi + Telegram Bot to control 2024, Juli
Anonim
Image
Image
Sta ti treba
Sta ti treba

Ovaj projekt pokazuje kako spojiti Arduino sa Telegram Bot API-jem. Projekt je izgrađen oko nove MKR WiFi 1010 ploče opremljene sa ESP32 modulom kompanije 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 funkcije. Oni mogu učiniti bilo što - podučavati, igrati, pretraživati, emitirati, podsjećati, povezivati se, integrirati se s drugim uslugama, pa čak i prenositi 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 klima uređaj sa svojim pametnim telefonom, na primjer).

Korak 1: Šta vam treba

Sta ti treba
Sta ti treba

Za ovaj projekat potrebno vam je:

  • Arduino MKR WiFi 1010 iz Arduino trgovine:
  • Arduino IDE 1.8.5 ili novija:
  • Mikro-USB kabl za povezivanje Arduina sa računarom
  • Internet veza, zahtijeva SSID i lozinku. Bolje je da 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 PC 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čunaru, ali ovaj Instructables je namijenjen 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. U izborniku Alati odaberite Ploče, a zatim pri vrhu popisa procesora odaberite Upravitelj ploča.
  3. Pomičite se po novom prozoru (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. Sačekajte da se instalacija dovrši. Također će se pobrinuti za instalaciju upravljačkih programa
  6. Potrebna vam je i nova WiFi biblioteka za ovu ploču: odaberite Sketch, Include Library i Manage Libraries. Search for Wifinina i instalirajte kao što ste to učinili s gornjim procesorom.

Sada povežite 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 biblioteka, to je biblioteka ESP8266TelegramBot autora Giancarla Bacchia. Biblioteka je malo izmijenjena za rad s ovom pločom pa je uključena u mapu skice.

Odaberite odgovarajući port i testirajte ploču naredbom Get Board Info.

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

Korak 3: Kreiranje Telegram bota

Kreiranje Telegram Bota
Kreiranje Telegram Bota
Kreiranje Telegram Bota
Kreiranje Telegram Bota
Kreiranje Telegram Bota
Kreiranje Telegram Bota

Stvaranje novog Telegram Bota vrlo je jednostavno.

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 da kreirate novog robota i promijenite njegove postavke.

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

  • Type /newbot (image3) Sada upišite ime svog bota. Ime je prikazano u detaljima kontakta i drugdje.
  • BotFather će od vas tražiti korisničko ime. Korisničko ime je kratko ime koje 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 uključivati 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 dugačak niz znakova pod nazivom TOKEN. Ovo je vaš lični 'ključ' koji se koristi za komunikaciju s Telegram poslužiteljima. Za sada ga kopirajte i zalijepite u tekstualnu datoteku na računaru. Kasnije ćemo ga upotrijebiti u Arduino kodu. Ako ga izgubite, ne brinite, samo ponovno otvorite chat i upišite /token da biste generirali novi.

Svi koraci su opisani ovdje:

Napredno (opcionalno)

Ponovo otvorite chat i upišite /help

Kliknite na (ili upišite) /setuserpic da otpremite sliku za svog bota. Kliknite na (ili upišite) /setabouttext da postavite odjeljak O vašem botu: Ljudi će vidjeti ovaj tekst na stranici profila bota i bit će poslan zajedno sa link do vašeg bota kada ga podijele s nekim.

Kliknite na (ili upišite) /setdescription da postavite odjeljak opisa za vašeg bota. Ljudi će vidjeti ovaj opis kada otvore chat sa vašim botom, u bloku pod nazivom 'Šta ovaj bot može učiniti?'.

Korak 4: Izmijenite, otpremite i testirajte skicu

Izmijenite, otpremite i testirajte skicu
Izmijenite, otpremite i testirajte skicu
Izmijenite, otpremite i testirajte skicu
Izmijenite, otpremite i testirajte skicu
Izmijenite, otpremite i testirajte skicu
Izmijenite, otpremite i testirajte skicu

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

Preuzmite priložene datoteke, iz nekog razloga ne mogu otpremiti ZIP, stoga stvorite mapu koja se naziva skica i kopirajte sve 4 datoteke unutar nje, nemojte mijenjati imena ako ne znate što radite.

Izmeni

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

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

Upload

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

U slučaju problema provjerite pogrešku pri pisanju i pokušajte ponovo.

Test

[VAŽNO!] Skica šalje zapise u IDE. Procesor ima izvorni USB port (poput Leonardovih ploča). Jednom kada se uključi, kôd će čekati dok serijski monitor ne radi. Dakle, pustite ga da se poveže sa računarom i otvorite serijski monitor. Arduino će se prvo 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 help (bez kose crte), odgovorit će s popisom podržanih naredbi, možete ih sve isprobati (image4).

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 na telegram server (dnevnik: Bot nije povezan):

  • Otvorite Alati-> Wifi101/wifinina Updater
  • Provjerite je li vaša ploča povezana, provjerite portove s lijeve strane alata za ažuriranje, ploča mora biti tamo
  • Kliknite Otvori skicu programa za ažuriranje i postavite je na ploču
  • Nakon učitavanja, 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, odjeljak SSL certifikati, kliknite Dodaj domenu, u dijalogu upišite telegram.org:443, a zatim pritisnite U redu.
  • Kliknite Otpremi certifikate na WiFi modul
  • Prenesite ovu skicu na ploču

Korak 5: Poboljšajte

Improvementes
Improvementes

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

Nove komande: Možete napisati podmeni za svaku novu naredbu. Svaki podmornik će se pobrinuti za dovršetak naredbe i (eventualno) 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 sliku 1, ona 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 listu) 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čuje se: