- Potrebné materiály:
- Schéma zapojenia:
- Raspberry Python Program:
- Ovládanie LED diód pomocou robota Raspberry Pi a Telegram:
Telegram je optimálna aplikácia na kombinovanie s Raspberry Pi pre všetky naše účely mobilného ovládania. Má veľmi dobrú podporu vývojárov a čoskoro sa plánuje vydanie mnohých funkcií na zvýšenie výkonu Telegram Bots. V našom predchádzajúcom tutoriáli sme sa naučili, ako môžeme nastaviť telegramového robota pre malinu pi, a tiež sme sa s ním museli rozprávať a zdieľať obrázky, dokumenty a zvukové súbory.
Teraz prejdeme k ďalšiemu kroku, keď sa dozvieme, ako môžeme ovládať piny GPIO na malinových kolíkoch pomocou telegramu, aby sme nášmu botovi poskytli určitú hardvérovú podporu. V tomto tutoriáli pripojíme štyri LED diódy k pinom GPIO Raspberry Pi a prepneme ich pomocou prirodzeného jazyka (chatovanie) z Telegramu. Znie to zaujímavo, že? Začnime.
Potrebné materiály:
- Štyri LED (ľubovoľná farba)
- Raspberry Pi (s pripojením na internet)
- Nepál
- Pripojovacie vodiče
Predbežné požiadavky:
Pred pokračovaním v tomto výučbe sa uistite, či je vaše Raspberry Pi pripojené k internetu a či môžete na svojom Pi spúšťať programy v jazyku python. Prečítajte si tiež predchádzajúci návod, aby ste vedeli, ako nastaviť robota Telegram s Raspberry Pi Pi, pretože predpokladám, že ste oboznámení s týmito vecami, aby ste mohli pokračovať v projekte.
Ak ste v Raspberry Pi nováčikom, postupujte podľa nášho úvodného článku o Raspberry Pi a ďalších návodov na Raspberry Pi.
Schéma zapojenia:
Schéma zapojenia ovládania LED diód pomocou aplikácie Raspberry Pi a Telegram pre Android nie je nič iné ako štyri LED diódy a niektoré pripojovacie vodiče. Nebudeme potrebovať súčasné obmedzujúce odpory, pretože GPIO piny Raspberry Pi fungujú na 3,3 V TTL. Postupujte podľa nižšie uvedeného obvodu a pripojte svoju LED.
Nasledujúca tabuľka vám pomôže určiť číslo kolíka a číslo GPIO pre pripojenie štyroch LED diód.
LED terminál |
PIN kód |
Číslo GPIO |
Zelená anóda |
Pin 31 |
GPIO 6 |
Červená anóda |
Pin 33 |
GPIO 13 |
Žltá anóda |
Kolík 35. |
GPIO 19 |
Biela anóda |
Pin 37 |
GPIO 26 |
Katóda všetkých štyroch |
Pin 39 |
Uzemnenie |
Ďalej je uvedená obvodová schéma, v ktorej sú pripojené štyri LED diódy podľa vyššie uvedenej tabuľky:
Po pripojení by vaše nastavenie hardvéru malo vyzerať asi takto:
Raspberry Python Program:
Keď je hardvér pripravený, môžeme pokračovať v programe Python. V tomto programe musíme prečítať údaje (správy) odoslané z telegramového robota a podľa toho prepnúť LED. Aby to bolo prirodzenejšie, namiesto kontroly každej vety a pevného kódovania tejto vety v našom programe môžeme vyhľadávať slová a postupovať podľa nich.
Program teda primárne skontroluje, či sú dve slová zapnuté alebo vypnuté. Po zistení jedného z týchto dvoch slov bude hľadať ďalšie kľúčové slová, ako je biela, žltá, zelená a červená. Príslušná farebná LED sa prepne, iba ak je slovo rozpoznané. Aktualizujeme tiež reťazec detegovaných slov, aby sme odoslali správu späť do telegramového robota.
Kompletný program možno nájsť v dolnej časti tejto stránky; hneď nižšie som vysvetlil program tak, že som ho rozdelil na malé zmysluplné džunky.
Aby tento program fungoval, potrebujeme telepot stiahnutý a importovaný v našom Raspberry Pi. V našom predchádzajúcom tutoriáli sme si už stiahli teleport do nášho Raspberry Pi, takže ho teraz musíme len importovať do nášho programu spolu s knižnicou GPIO, ako je uvedené nižšie.
import RPi.GPIO ako GPIO import telepot z telepot.loop import MessageLoop
Pomocou tohto programu budeme ovládať LED svetlá a farba LED bude biela, žltá, červená a zelená. Sú pripojené k pinom uvedeným v schéme zapojenia; dajte nám definovať názvy pin pre tieto LED na základe ich farby tak, že je ich použitie v programe.
biela = 26 žltá = 19 červená = 13 zelená = 6
Ďalším krokom by bolo definovať všetky tieto LED piny ako výstupné piny a definovať ich ako predvolene vypnuté pomocou nasledujúcich riadkov.
#LED White GPIO.setup (biela, GPIO.OUT) GPIO.output (biela, 0) #Off spočiatku #LED žltá GPIO.setup (žltá, GPIO.OUT) GPIO.output (žltá, 0) #Off spočiatku #LED Červené GPIO.setup (červené, GPIO.OUT) GPIO.output (červené, 0) # pôvodne vypnuté #LED zelené GPIO.setup (zelené, GPIO.OUT) GPIO.output (zelené, 0) # pôvodne vypnuté
Ako sme sa dozvedeli v našom predchádzajúcom tutoriáli, všetky akcie, ktoré musí vykonať robot Raspberry, budú definované vo vnútri akcie funkcie. Tu musíme robota prinútiť, aby si vypočul správu odoslanú z mobilu, porovnal ju s niektorými kľúčovými slovami a podľa toho prepínal LED.
Pri každej správe, ktorú pošleme z mobilu, bude ID chatu a príkaz. Program vyžaduje toto ID četu, aby mohol odpovedať späť odosielateľovi. Uložíme teda ID chatu a správu, ako je uvedené nižšie.
chat_id = msg príkaz = msg
Všetko, čo pošleme z telefónu, sa teraz uloží ako reťazec v príkaze premennej. Všetko, čo musíme urobiť, je skontrolovať kľúčové slová v tejto premennej. Python tu má príkaz na uľahčenie práce. Napríklad, ak musíme skontrolovať, či sa v reťazci uloženom v príkazovej premennej nachádza slovo „on“, môžeme jednoducho použiť nasledujúci riadok.
ak je zapnuté v príkaze:
Podobne skontrolujeme všetky kľúčové slová, akonáhle dostaneme „zapnuté“, pokračujeme v kontrole, ktorú farbu používateľ uviedol. To sa tiež deje pomocou rovnakých príkazov porovnaním rovnakých kľúčových slov. Aktualizujeme tiež reťazec s názvom správa, na ktorú je možné odpovedať používateľovi ako stavová správa.
if 'on' in command: message = "Turned" if if 'white' in command: message = message + "white" GPIO.output (white, 1) if 'yellow' in command: message = message + "yellow" GPIO.výstup (žltá, 1), ak je „červená“ v príkaze: message = správa + „červená“ GPIO.output (červená, 1), ak je „zelená“ v príkaze: message = správa + „zelená“ GPIO.output (zelená, 1) ak je v príkaze 'all': message = message + "all" GPIO.output (biela, 1) GPIO.output (žltá, 1) GPIO.output (červená, 1) GPIO.output (zelená, 1) message = správa + „svetlo“ telegram_bot.sendMessage (chat_id, správa)
Ako je uvedené vyššie, hľadáme kľúčové slová ako „zelená“, „biela“, „červená“, „žltá“ a „všetky“ a „Zapnuté“ iba pre túto konkrétnu LED. Po dokončení práce pošleme používateľovi správu o tom, čo sa práve stalo. Rovnaká metóda môže byť použitá pre vypnutie svetla z dobre.
if 'off' in command: message = "Turned off" if 'white' in command: message = message + "white" GPIO.output (white, 0) if 'yellow' in command: message = message + "yellow" GPIO.výstup (žltá, 0), ak je „červená“ v príkaze: message = správa + „červená“ GPIO.output (červená, 0), ak je „zelená“ v príkaze: message = správa + „zelená“ GPIO.output (zelená, 0) ak je v príkaze 'all': message = message + "all" GPIO.output (biela, 0) GPIO.output (žltá, 0) GPIO.output (červená, 0) GPIO.output (zelená, 0) správa = správa + „svetlo“ telegram_bot.sendMessage (chat_id, správa)
Ovládanie LED diód pomocou robota Raspberry Pi a Telegram:
Pripojte svoje LED diódy a spustite program na pythone. Uistite sa, že ste zmenili adresu tokenu svojho robota. A začnite písať požadované príkazy. Napríklad na rozsvietenie červeného a žltého svetla môžete použiť ktorýkoľvek z nasledujúcich príkazov.
1. Zapnite červené a žlté svetlo
2. Zapnite červenú a žltú farbu vpravo
3. Na červenú a žltú
4.Please dať na na žlté a červené svetlo
Ako vidíte, robot vyhľadáva iba kľúčové slová a ostatné slová vo vete bude ignorovať, takže k nemu môžete hovoriť prirodzene. Kompletné fungovanie projektu nájdete na videu na konci tejto stránky.
Do toho! hrajte sa so svojim projektom a bavte sa. Teraz ju môžete posunúť na úplne novú úroveň. S oboma kombinovanými výučbami máme oprávnenie ovládať akýkoľvek hardvér z nášho inteligentného telefónu kdekoľvek na svete a tiež získavať vstupy / výsledky z nášho Raspberry Pi vo forme správ, zvuku, obrazu a dokonca ako dokumentu. Ak LED nahradíte relé a striedavými spotrebičmi, mohlo by ísť o domácu automatizáciu riadenú inteligentným telefónom. Použite teda svoju kreativitu a vytvorte si vlastné super projekty…
Dúfam, že sa vám projekt páčil a páčilo sa vám budovanie niečoho podobného. Dajte mi vedieť, ak máte nejaké problémy, prostredníctvom sekcie komentárov a rád vám pomôžem. Podeľte sa so mnou aj o svoj skvelý nápad a pozrime sa, čo môžeme vytvoriť.