- Potrebni materijali:
- Kružni dijagram:
- Program Raspberry Python:
- Upravljanje LED diodama s Raspberry Pi i Telegram botom:
Telegram je optimalna aplikacija za kombiniranje s Raspberry Pi-om za sve naše potrebe mobilne kontrole. Ima vrlo dobru podršku za programere, a uskoro se planira objaviti puno značajki kako bi se poboljšale performanse Telegram botova. U našem prethodnom tutorialu naučili smo kako možemo postaviti telegram-bota za Raspberry Pi, a također smo naučili i razgovarati s njim te dijeliti slike, dokumente i audio datoteke.
Sada ćemo prijeći na sljedeći korak učeći kako možemo kontrolirati GPIO pinove na Raspberry Pins pomoću Telegrama, tako da pružamo određenu hardversku podršku za našeg bota. U ovom uputstvu spojit ćemo četiri LED diode na Raspberry Pi GPIO pinove i prebacivati ih prirodnim jezikom (čavrljanje poput) iz Telegrama. Zvuči zanimljivo zar ne? Krenimo.
Potrebni materijali:
- Četiri LED (bilo koja boja)
- Raspberry Pi (s internetskom vezom)
- Breadboard
- Spajanje žica
Preduvjeti:
Prije nastavka s vodičem, provjerite je li vaš Raspberry Pi povezan s internetom i možete li pokretati python programe na svom Pi. Pročitajte i prethodni vodič da biste znali kako postaviti Telegram bot s Raspberry Pi Pi, jer pretpostavljam da ste upoznati s tim stvarima za nastavak projekta.
Ako ste novi u Raspberry Pi, slijedite naš članak o uvodu Raspberry Pi i ostale upute za Raspberry Pi.
Kružni dijagram:
Dijagram sklopa za upravljanje LED-ima pomoću aplikacije Raspberry Pi i Telegram Android App nije ništa drugo nego četiri LED-a i neke spojne žice. Trenutačni ograničavajući otpornici neće nam trebati jer Raspberry Pi GPIO pinovi rade na 3.3V TTL. Slijedite donji krug i spojite LED.
Sljedeća tablica pomoći će vam odrediti pin broj i GPIO broj za povezivanje četiri LED diode.
|
Led terminal |
Pin broj |
GPIO broj |
|
Zelena anoda |
Pin 31 |
GPIO 6 |
|
Crvena anoda |
Pribadača 33 |
GPIO 13 |
|
Žuta anoda |
Pribadača 35 |
GPIO 19 |
|
Bijela anoda |
Iglica 37 |
GPIO 26 |
|
Katoda sve četiri |
Pin 39 |
Prizemlje |
Ispod je shema kruga u kojoj su povezane četiri LED-a prema gornjoj tablici:

Nakon povezivanja, hardverska postavka trebala bi izgledati ovako nekako u nastavku.

Program Raspberry Python:
Kad je hardver spreman, možemo nastaviti s programom Python. U ovom programu moramo pročitati podatke (poruke) poslane s Telegram bota i u skladu s tim uključiti LED. Da bismo to učinili prirodnijim, umjesto provjere svake rečenice i tvrdog kodiranja tih rečenica u našem programu, možemo provjeriti ima li riječi i postupiti u skladu s tim.
Dakle, program će prvenstveno provjeriti dvije riječi, one su uključene i isključene. Jednom kad prepozna jednu od ove dvije riječi, potražit će druge ključne riječi poput bijele, žute, zelene i crvene. Odgovarajuća LED dioda u boji prebacivat će se samo ako se otkrije riječ. Također ćemo ažurirati niz otkrivenih riječi da bi se poslala poruka natrag u telegram bot.
Kompletan program možete pronaći na dnu ove stranice; odmah ispod objasnio sam program rastavljajući ga na male smislene smeće.
Da bi ovaj program radio, potreban nam je telepot preuzet i uvezen u našu Raspberry Pi. U našem prethodnom tutorialu već smo preuzeli teleport unutar našeg Raspberry Pi-a, tako da ga sada moramo uvesti u naš program zajedno s GPIO bibliotekom kao što je prikazano u nastavku.
import RPi.GPIO kao GPIO import telepot from telepot.loop import MessageLoop
Pomoću ovog programa kontrolirat ćemo LED svjetla, a boja LED-a bit će bijela, žuta, crvena i zelena. Oni su spojeni na iglice prikazane na shemi spojeva; neka nam definirati pin imena za te LED diode na temelju njihove boje, tako da je ih koristiti u programu.
bijela = 26 žuta = 19 crvena = 13 zelena = 6
Sljedeći bi korak bio definiranje svih ovih LED pinova kao izlaznih pinova i definiranje kao isključene prema zadanim postavkama pomoću donjih redaka.
#LED Bijeli GPIO.setup (bijeli, GPIO.OUT) GPIO.output (bijeli, 0) # Isključeno u početku #LED Žuti GPIO.setup (žuti, GPIO.OUT) GPIO.output (žuti, 0) # Isključeno u početku #LED Crvena GPIO.setup (crvena, GPIO.OUT) GPIO.output (crvena, 0) # Isključeno u početku # LED zeleno GPIO.setup (zelena, GPIO.OUT) GPIO.output (zelena, 0) # Isključeno u početku
Kao što smo saznali u prethodnom vodiču, sve radnje koje mora izvršiti Raspberry bot bit će definirane unutar radnje funkcije. Ovdje moramo napraviti bota da sluša poruku poslanu s mobitela, uspoređuje je s nekim ključnim riječima i u skladu s tim prebacuje LED.
Za svaku poruku koju pošaljemo s mobitela nalazit će se ID chata i naredba. Ovaj ID chata program zahtijeva za odgovor natrag pošiljatelju. Tako spremamo ID chata i poruku kao što je prikazano u nastavku.
chat_id = msg naredba = msg
Sad, sve što pošaljemo s telefona, bit će spremljeno kao niz u naredbi varijable. Dakle, sve što moramo učiniti je provjeriti ključne riječi u ovoj varijabli. Python ima naredbu da ovdje olakša stvari. Na primjer, ako moramo provjeriti je li riječ "on" prisutna u nizu pohranjenom u naredbi varijable, možemo jednostavno koristiti donji redak.
ako je 'on' u naredbi:
Slično provjeravamo sve ključne riječi, nakon što primimo "uključeno", nastavljamo provjeravati koju boju je korisnik spomenuo. To se također vrši istim naredbama uspoređivanjem istih ključnih riječi. Također ažuriramo niz s imenom poruke na koju se korisniku može odgovoriti kao statusna poruka.
ako je 'on' u naredbi: message = "Uključeno" ako je "white" u naredbi: message = message + "white" GPIO.izlaz (bijeli, 1) ako je "yellow" u naredbi: message = message + "yellow" GPIO.izlaz (žuti, 1) ako je 'crvena' u naredbi: poruka = poruka + "crvena" GPIO.izlaz (crvena, 1) ako je "zelena" u naredbi: poruka = poruka + "zelena" GPIO.izlaz (zelena, 1) ako je 'sve' u naredbi: poruka = poruka + "sve" GPIO.izlaz (bijeli, 1) GPIO.izlaz (žuti, 1) GPIO.izlaz (crveni, 1) GPIO.izlaz (zeleni, 1) poruka = poruka + "svjetlo (a)" telegram_bot.sendMessage (chat_id, poruka)
Kao što je gore prikazano, tražimo ključne riječi poput "zeleno", "bijelo", "crveno", "žuto" i "sve" te "Uključeno" samo tu LED diodu. Nakon završetka posla, korisniku vraćamo poruku o tome što se upravo dogodilo. Isti način se može koristiti za isključivanje svjetla dobro je.
ako je 'isključeno' u naredbi: poruka = "isključeno" ako je "bijelo" u naredbi: poruka = poruka + "bijelo" GPIO.izlaz (bijelo, 0) ako je "žuto" u naredbi: poruka = poruka + "žuto" GPIO.izlaz (žuti, 0) ako je 'crveno' u naredbi: poruka = poruka + "crveni" GPIO.izlaz (crveno, 0) ako je "zeleno" u naredbi: poruka = poruka + "zeleno" GPIO.izlaz (zeleno, 0) ako je 'sve' u naredbi: poruka = poruka + "sve" GPIO.izlaz (bijeli, 0) GPIO.izlaz (žuti, 0) GPIO.izlaz (crveni, 0) GPIO.izlaz (zeleni, 0) poruka = poruka + "svjetlo (a)" telegram_bot.sendMessage (chat_id, poruka)
Upravljanje LED diodama s Raspberry Pi i Telegram botom:
Spojite LED diode i pokrenite program na pythonu. Obavezno promijenite adresu tokena za svog bota. I počnite tipkati naredbe koje želite. Na primjer, za uključivanje crvenog i žutog svjetla možete upotrijebiti bilo koju od sljedećih naredbi.
1.Uključite crveno i žuto svjetlo
2.Uključite crvenu i žutu boju udesno
3. Na crvenoj i žutoj
4.Please staviti na mjesto žute i crvene svjetlosti
Kao što vidite, bot traži samo ključne riječi i zanemarit će ostale riječi u rečenici, na ovaj način možete s njim razgovarati prirodno. Kompletni rad projekta nalazi se u videu na kraju ove stranice.


Samo naprijed! poigrajte se sa svojim projektom i zabavite se. Sada ga možete podići na potpuno novu razinu. S oba udžbenika u kombinaciji imamo moć upravljanja bilo kojim hardverom sa svog pametnog telefona bilo gdje iz svijeta, a također dobivamo ulaze / rezultate s našeg Raspberry Pi-a u obliku poruke, zvuka, slike, pa čak i kao dokument. Ako LED zamijenite relejima i izmjeničnim uređajima, to bi mogla biti kućna automatizacija kojom upravlja pametni telefon. Dakle, iskoristite svoju kreativnost i napravite vlastite cool projekte…
Nadam se da vam se svidio projekt i uživali ste u izgradnji nečega sličnog. Javite mi ako imate bilo kakvih problema putem odjeljka za komentare i rado ću vam pomoći. Također podijelite sa mnom svoju cool ideju i dopustite nam da vidimo što možemo izgraditi.
