Sadržaj:
- Korak 1: Što vam treba
- Korak 2: Instaliranje IDE -a
- Korak 3: Stvaranje Telegram bota
- Korak 4: Izmijenite, prenesite i testirajte skicu
- Korak 5: Poboljšajte
Video: [IoT] Telegram bot s Arduino MKR WiFi 1010: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
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
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
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:
- pokrenite IDE
- Na izborniku Alati odaberite Ploče, a zatim pri vrhu popisa procesora odaberite Upravitelj ploča.
- Pomičite novi prozor (pogledajte sliku) dok ne pronađete Arduino SAMD ploče koje uključuju novi MKR WiFi 1010.
- Kliknite na tu karticu ili kliknite na Više informacija unutar kartice, odaberite najnoviju verziju i instalirajte.
- Pričekajte da instalacija završi. Također će se pobrinuti za instalaciju upravljačkih programa
- 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 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
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
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:
Telegram Bot s NodeMCU (ESP8266): 3 koraka
Telegram Bot s NodeMCU (ESP8266): Trebate li robota za slanje obavijesti sa svog sustava? ili učiniti nešto samo slanjem poruke? Telegram Bot je vaše rješenje! U ovom ću vodiču koristiti Telegram Web i BotFather za izradu svog bota
Telegram Bot na bazi ESP32: 7 koraka
Telegram Bot baziran na ESP32: Telegram je posvećen slobodi i otvorenim izvorima, najavio je novi Telegram bot API 2015., koji je omogućio trećim stranama da stvore telegramske botove za ESP32 koji koriste aplikaciju za razmjenu poruka kao svoje glavno komunikacijsko sučelje. To znači da smo
Telegram plameni alarmni bot: 5 koraka
Telegram Flam Alarm Bot: U ovom članku predstavit ću IoT projekt koji omogućuje osjetiti plamen i poslati obavijest na korisnički Telegram. Što vam je potrebno: Modul senzora plamenaMode mikrokontroleraMCU ESP8266Izvor napajanjaWiFiOizlazni uređaj s telegramom
Telegram bot pametne kuće s Nodemcuom (esp8266, relej, Ds18b20): 8 koraka
Telegram bot pametne kuće s Nodemcuom (esp8266, relej, Ds18b20): U ovom tutorijalu pokazat ću vam kako stvoriti telegram bot i upravljati kućom pomoću njega. Ali prvo, pretplatite se na moj Telegram kanal i brže otkrivajte nove projekte od drugih. To mi je motivacija. Idemo
Telegram Bot Esp8266-001 (Arduino UNO ili NodeMCU): 6 koraka
Telegram Bot Esp8266-001 (Arduino UNO ili NodeMCU): Zdravo! U ovom vodiču ću vam pokazati kako kontrolirati arduino pomoću esp8266-001 i telegrama. Otvara velike mogućnosti za Internet stvari (IoT)