- Reikalingos medžiagos:
- Grandinės schema:
- „Raspberry Python“ programa:
- Šviesos diodų valdymas naudojant „Raspberry Pi“ ir „Telegram bot“:
„Telegram“ yra optimali programa, kurią galima derinti su „Raspberry Pi“ visais mūsų mobiliojo valdymo tikslais. Jis turi labai gerą kūrėjų palaikymą, todėl netrukus planuojama išleisti daugybę funkcijų, kad pagerintų „Telegram Bots“ našumą. Ankstesnėje mūsų pamokoje mes sužinojome, kaip mes galime sukurti aviečių pi telegramos robotą, taip pat išmokome su juo kalbėtis ir dalytis vaizdais, dokumentais ir garso failais.
Dabar pereisime prie kito žingsnio mokydamiesi, kaip mes galime valdyti aviečių smeigtukų GPIO kaiščius naudodami „Telegram“, kad mes teikiame tam tikrą aparatinės įrangos palaikymą savo robotui. Šioje pamokoje mes sujungsime keturis šviesos diodus su „Raspberry Pi GPIO“ kaiščiais ir perjungsime juos naudodamiesi „Telegram“ natūralia kalba (pavyzdžiui, kalbėdami). Skamba įdomiai, tiesa? Pradėkime.
Reikalingos medžiagos:
- Keturi šviesos diodai (bet kokios spalvos)
- Raspberry Pi (su interneto ryšiu)
- Bandomoji Lenta
- Jungiamieji laidai
Išankstiniai rekvizitai:
Prieš tęsdami mokymo programą įsitikinkite, kad „Raspberry Pi“ yra prijungtas prie interneto ir kad „Pi“ galite paleisti „python“ programas. Taip pat perskaitykite ankstesnę pamoką, kad sužinotumėte, kaip nustatyti „Telegram“ robotą su „Raspberry Pi Pi“, nes manysiu, kad esate susipažinę su šia medžiaga, kad galėtumėte tęsti projektą.
Jei esate „Raspberry Pi“ naujokas, vadovaukitės mūsų „Raspberry Pi“ įvadiniu straipsniu ir kitomis „Raspberry Pi“ pamokomis.
Grandinės schema:
Šviesos diodų valdymo naudojant „Raspberry Pi“ ir „Telegram Android App “ grandinės schema yra ne daugiau kaip keturi šviesos diodai ir kai kurie jungiamieji laidai. Mums nereikės srovės ribojančių rezistorių, nes „Raspberry Pi GPIO“ kaiščiai veikia su 3.3V TTL. Vykdykite žemiau pateiktą grandinę ir prijunkite savo šviesos diodą.
Ši lentelė padės jums nustatyti smeigtuko numerį ir GPIO numerį keturių lempučių prijungimui.
Šviesos terminalas |
PIN kodas |
GPIO numeris |
Žaliasis anodas |
31 kaištis |
GPIO 6 |
Raudonasis anodas |
33 kaištis |
GPIO 13 |
Geltonasis anodas |
35 kaištis |
GPIO 19 |
Baltas anodas |
37 kaištis |
GPIO 26 |
Visų keturių katodas |
39 kaištis |
Žemė |
Žemiau yra grandinės schema, kurioje keturi šviesos diodai yra prijungti pagal aukščiau pateiktą lentelę:
Kai prisijungsite, aparatūros sąranka turėtų atrodyti panašiai kaip nurodyta toliau.
„Raspberry Python“ programa:
Kai aparatinė įranga bus paruošta, galime tęsti „Python“ programą. Šioje programoje turime perskaityti duomenis (pranešimą), siunčiamus iš „Telegram“ roboto, ir atitinkamai perjungti šviesos diodą. Kad tai būtų natūraliau, užuot tikrinę kiekvieną sakinį ir griežtai koduodami tuos sakinius savo programoje, galime patikrinti žodžius ir atitinkamai elgtis.
Taigi programa pirmiausia tikrins du žodžius, jie yra įjungti ir išjungti. Aptikęs vieną iš šių dviejų žodžių, jis ieškos kitų raktinių žodžių, tokių kaip balta, geltona, žalia ir raudona. Atitinkamas spalvotas šviesos diodas bus įjungtas tik aptikus žodį. Mes taip pat atnaujinsime aptiktų žodžių eilutę, kad išsiųstume pranešimą atgal į telegramos robotą.
Visa programa, galima rasti šio puslapio apačioje; šiek tiek žemiau aš paaiškinau programą suskaidydamas ją į mažus prasmingus jauniklius.
Kad ši programa veiktų, mums reikia atsisiųsti ir importuoti telepotę iš mūsų „Raspberry Pi“. Ankstesnėje mokymo programoje mes jau atsisiuntėme teleportą savo „Raspberry Pi“ viduje, todėl dabar mes tiesiog turime jį importuoti į savo programą kartu su GPIO biblioteka, kaip parodyta žemiau.
importuoti RPi.GPIO kaip GPIO importuoti telepotą iš telepot.loop importuoti MessageLoop
Mes kontroliuosime LED žibintus naudodami šią programą, o šviesos diodų spalva bus balta, geltona, raudona ir žalia. Jie yra prijungti prie kaiščių, parodytų schemoje; Praneškite mums apibrėžti pin vardus šių LED remiantis jų spalvą taip, kad ji yra naudoti juos į programą.
balta = 26 geltona = 19 raudona = 13 žalia = 6
Kitas žingsnis būtų apibrėžti visus šiuos LED kaiščius kaip išvesties kaiščius ir apibrėžti juos kaip išjungtus pagal numatytuosius nustatymus, naudojant toliau pateiktas eilutes.
#LED Balta GPIO.setup (balta, GPIO.OUT) GPIO.output (balta, 0) # Iš pradžių #LED Geltona GPIO.setup (geltona, GPIO.OUT) GPIO.output (geltona, 0) #Off iš pradžių #LED Raudona GPIO.setup (raudona, GPIO.OUT) GPIO.output (raudona, 0) # Iš pradžių #LED žalia GPIO.setup (žalia, GPIO.OUT) GPIO.output (žalia, 0) #Off iš pradžių
Kaip sužinojome ankstesnėje mokymo programoje, visi veiksmai, kuriuos turi atlikti aviečių botas, bus apibrėžti funkcijos veiksmo viduje. Čia mes turime priversti robotą klausytis iš mobiliojo telefono siunčiamo pranešimo, palyginti jį su kai kuriais raktiniais žodžiais ir atitinkamai perjungti LED.
Kiekvienam pranešimui, kurį siunčiame iš mobiliojo telefono, bus pateiktas pokalbio ID ir komanda. Programa reikalauja šio pokalbio ID, kad atsakytų siuntėjui. Taigi išsaugome pokalbio ID ir pranešimą, kaip parodyta žemiau.
chat_id = msg komanda = msg
Dabar viskas, ką siųsime iš telefono, bus išsaugota kaip eilutė kintamojoje komandoje . Taigi, viskas, ką turime padaryti, yra patikrinti, ar šiame kintamajame nėra raktinių žodžių. „Python“ turi komandą, kad čia viskas būtų lengva. Pavyzdžiui, jei turime patikrinti, ar komandoje kintamajame saugomoje eilutėje yra žodis „įjungta“, galime tiesiog naudoti žemiau esančią eilutę.
jei komandoje „įjungta“:
Panašiai tikriname visus raktinius žodžius, gavę „įjungta“, mes tikriname, kurią spalvą vartotojas minėjo. Tai taip pat daroma tomis pačiomis komandomis, lyginant tuos pačius raktinius žodžius. Mes taip pat atnaujiname eilutę pavadinimu pranešimas , į kurį galima atsakyti vartotojui kaip būsenos pranešimą.
jei komandoje „įjungta“: pranešimas = „Įjungtas“, jei komandoje „baltas“: pranešimas = pranešimas + „baltas“ GPIO.output (baltas, 1), jei komandoje „geltonas“: pranešimas = pranešimas + „geltonas“ GPIO.output (geltona, 1) jei komandoje „raudona“: pranešimas = pranešimas + „raudonas“ GPIO.output (raudonas, 1) jei komandoje „žalias“: pranešimas = pranešimas + „žalias“ GPIO.output (žalias, 1) jei komandoje „viskas“: pranešimas = pranešimas + „visi“ GPIO.output (baltas, 1) GPIO.output (geltonas, 1) GPIO.output (raudonas, 1) GPIO.output (žalias, 1) message = pranešimas + "light (s)" telegram_bot.sendMessage (chat_id, message)
Kaip parodyta aukščiau, ieškome tokių raktinių žodžių kaip „žalia“, „balta“, „raudona“, „geltona“ ir „visi“ ir „Įjungta“. Atlikę darbą, mes išsiunčiame vartotojui pranešimą apie tai, kas ką tik įvyko. Tuo pačiu metodu galima gerai išjungti žibintus.
jei komandoje „išjungta“: pranešimas = „Išjungtas“, jei komandoje „baltas“: pranešimas = pranešimas + „baltas“ GPIO.output (baltas, 0), jei komandoje „geltonas“: pranešimas = pranešimas + "geltonas" GPIO.output (geltona, 0) jei komandoje „raudona“: pranešimas = pranešimas + „raudonas“ GPIO.output (raudonas, 0) jei komandoje „žalias“: pranešimas = pranešimas + „žalias“ GPIO.output (žalias, 0) jei komandoje „viskas“: pranešimas = pranešimas + „visi“ GPIO.output (balta, 0) GPIO.output (geltona, 0) GPIO.output (raudona, 0) GPIO.output (žalia, 0) message = žinutė + "light (s)" telegram_bot.sendMessage (chat_id, message)
Šviesos diodų valdymas naudojant „Raspberry Pi“ ir „Telegram bot“:
Prijunkite savo šviesos diodus ir paleiskite programą „Python“. Įsitikinkite, kad pakeitėte roboto žetono adresą. Ir pradėkite rašyti norimas komandas. Pavyzdžiui, norėdami įjungti raudoną ir geltoną šviesą, galite naudoti bet kurią iš šių komandų.
1. Įjunkite raudoną ir geltoną šviesą
2. Įjunkite raudonos ir geltonos spalvos dešinę
3. Ant raudonos ir geltonos spalvos
4.Please įdėti į su geltona ir raudona šviesos
Kaip matote, robotas ieško tik raktinių žodžių ir nepaisys kitų sakinyje esančių žodžių, tokiu būdu galite su juo kalbėti natūraliai. Išsamų projekto darbą galite rasti vaizdo įraše, pateiktame šio puslapio pabaigoje.
Pirmyn! žaisk su savo projektu ir linksminkis. Dabar galite tai pakelti į visiškai naują lygį. Naudodami abi pamokas, mes galime valdyti bet kokią aparatinę įrangą iš savo išmaniojo telefono bet kurioje pasaulio vietoje, taip pat gauti informacijos apie „Raspberry Pi“ įvestį / rezultatus pranešimų, garso, vaizdo ir net kaip dokumento pavidalu. Jei pakeisite šviesos diodus relėmis ir kintamosios srovės prietaisais, tai gali būti „Smart Phone“ valdoma namų automatika. Taigi, pasinaudokite savo kūrybiškumu ir kurkite savo šaunius projektus…
Tikiuosi, kad jums patiko projektas ir patiko kurti kažką panašaus. Praneškite man, jei turite kokių nors problemų per komentarų skiltį, ir aš mielai jums padėsiu. Taip pat pasidalykite savo šaunia idėja su manimi ir leiskite mums pamatyti, ką galime sukurti.