- Nepieciešamie materiāli:
- Ķēdes shēma:
- Aveņu Python programma:
- Gaismas diodes vadīšana ar Raspberry Pi un Telegram bot:
Telegram ir optimāla lietojumprogramma, kuru var kombinēt ar Raspberry Pi visiem mūsu mobilās vadības mērķiem. Tam ir ļoti labs izstrādātāju atbalsts, un drīz tiek plānots izlaist daudzas funkcijas, lai uzlabotu Telegram Bots veiktspēju. Iepriekšējā apmācībā mēs uzzinājām, kā mēs varam izveidot telegrammas robotu aveņu pi, kā arī iemācījāmies ar to tērzēt un kopīgot attēlus, dokumentus un audio failus.
Tagad mēs turpināsim nākamo soli, uzzinot, kā mēs varam kontrolēt GPIO tapas uz aveņu tapām, izmantojot telegrammu, lai mēs sniegtu zināmu aparatūras atbalstu mūsu robotam. Šajā apmācībā mēs savienosim četrus gaismas diodes ar Raspberry Pi GPIO tapām un pārslēgsim tos, izmantojot dabisko valodu (piemēram, čatā) no Telegram. Izklausās interesanti vai ne? Ļaujiet mums sākt darbu.
Nepieciešamie materiāli:
- Četri LED (jebkura krāsa)
- Aveņu Pi (ar interneta pieslēgumu)
- Maizes dēlis
- Savienojošie vadi
Iepriekšēji rekvizīti:
Pirms turpināt apmācību, pārliecinieties, ka jūsu Raspberry Pi ir savienots ar internetu un vai jūs varat palaist python programmas savā Pi. Izlasiet arī iepriekšējo apmācību, lai uzzinātu, kā iestatīt Telegram bot ar Raspberry Pi Pi, jo es pieņemu, ka jūs esat iepazinies ar šīm lietām, lai turpinātu darbu.
Ja esat jauns Raspberry Pi lietotājs, izpildiet mūsu rakstu Raspberry Pi un citus Raspberry Pi apmācības materiālus.
Ķēdes shēma:
Gaismas diodes vadības shēma, izmantojot Raspberry Pi un Telegram Android App, ir nekas vairāk kā četri gaismas diodes un daži savienojošie vadi. Pašreizējie ierobežojošie rezistori mums nebūs vajadzīgi, jo Raspberry Pi GPIO tapas darbojas ar 3.3V TTL. Izpildiet zemāk esošo shēmu un pievienojiet savu LED.
Šī tabula palīdzēs jums noteikt piespraudes numuru un GPIO numuru četru LED savienojumam.
Led Terminal |
PIN kods |
GPIO numurs |
Zaļais anods |
31. tapa |
GPIO 6 |
Sarkanais anods |
33. tapa |
GPIO 13 |
Dzeltenais anods |
35. tapa |
GPIO 19 |
Baltais anods |
37. tapa |
GPIO 26 |
Katode visiem četriem |
39. tapa |
Zeme |
Zemāk ir shēma, kurā četras gaismas diodes ir savienotas saskaņā ar iepriekš sniegto tabulu:
Kad savienojumi būs izveidoti, aparatūras iestatījumam vajadzētu izskatīties šādi.
Aveņu Python programma:
Kad aparatūra ir gatava, mēs varam turpināt programmu Python. Šajā programmā mums ir jāizlasa dati (ziņojums), kas nosūtīti no bota Telegram, un attiecīgi jāpārslēdz LED. Lai padarītu to dabiskāku, tā vietā, lai pārbaudītu katru teikumu un stingri kodētu šos teikumus mūsu programmā, mēs varam pārbaudīt vārdus un attiecīgi rīkoties.
Tātad programma galvenokārt pārbaudīs divus vārdus, tie ir ieslēgti un izslēgti. Atklājot vienu no šiem diviem vārdiem, tas meklēs citus atslēgvārdus, piemēram, baltu, dzeltenu, zaļu un sarkanu. Attiecīgā krāsu gaismas diode tiks pārslēgta tikai tad, ja tiks atklāts vārds. Mēs arī atjaunināsim virkni atklātajiem vārdiem, lai nosūtītu ziņojumu atpakaļ uz telegrammas robotu.
Pilnu programmu var atrast pie šīs lapas apakšā; nedaudz zemāk es esmu izskaidrojis programmu, sadalot to mazos nozīmīgos džungļos.
Lai šī programma darbotos, mums ir nepieciešams mūsu Raspberry Pi lejupielādētais un importētais telepots . Iepriekšējā apmācībā mēs jau esam lejupielādējuši teleportu mūsu Raspberry Pi iekšpusē, tāpēc tagad tas vienkārši jāimportē mūsu programmā kopā ar GPIO bibliotēku, kā parādīts zemāk.
importēt RPi.GPIO kā GPIO importēt telepotu no telepot.loop importēt MessageLoop
Izmantojot šo programmu, mēs kontrolēsim LED gaismas, un gaismas diode būs balta, dzeltena, sarkana un zaļa. Tie ir savienoti ar ķēdes shēmā parādītajām tapām; ļaujiet mums noteikt pin nosaukumi šīm LED, pamatojoties uz savu krāsu, lai tā tos izmantot programmā.
balts = 26 dzeltens = 19 sarkans = 13 zaļš = 6
Nākamais solis būtu definēt visas šīs LED tapas kā izejas tapas un definēt tās kā izslēgtas pēc noklusējuma, izmantojot zemāk redzamās rindas.
#LED Balta GPIO.setup (balta, GPIO.OUT) GPIO.output (balta, 0) # Sākotnēji izslēgta #LED Dzeltenā GPIO.setup (dzeltena, GPIO.OUT) GPIO.output (dzeltena, 0) #Off sākotnēji #LED Sarkana GPIO.iestatīšana (sarkana, GPIO.OUT) GPIO.izvade (sarkana, 0) # Sākotnēji izslēgta # LED zaļa GPIO.iestatīšana (zaļa, GPIO.OUT) GPIO.izeja (zaļa, 0) # Sākotnēji izslēgta
Kā mēs uzzinājām savā iepriekšējā apmācībā, visas darbības, kas jāveic Raspberry bot, tiks definētas funkcijas darbības iekšpusē. Šeit mums ir jāizdara robots, lai klausītos ziņojumu, kas tiek nosūtīts no mobilā, salīdziniet to ar dažiem atslēgvārdiem un attiecīgi pārslēdziet LED.
Katram ziņojumam, kuru mēs nosūtām no mobilā tālruņa, būs tērzēšanas ID un komanda. Šis tērzēšanas ID ir nepieciešams programmai, lai atbildētu atpakaļ sūtītājam. Tāpēc mēs saglabājam tērzēšanas ID un ziņojumu, kā parādīts zemāk.
chat_id = msg komanda = msg
Tagad viss, ko mēs sūtīsim no tālruņa, tiks saglabāts kā virkne mainīgā komandā . Tātad mums atliek tikai pārbaudīt, vai šajā mainīgajā nav atslēgas vārdu. Python ir komanda, kas šeit atvieglo lietas. Piemēram, ja mums jāpārbauda, vai komandā mainīgajā saglabātajā virknē ir vārds “ieslēgts”, mēs varam vienkārši izmantot zemāk esošo rindu.
ja komandā ir ieslēgts:
Līdzīgi mēs pārbaudām visus atslēgvārdus, kad esam saņēmuši ieslēgtu taustiņu, mēs pārbaudām, kuru krāsu lietotājs ir pieminējis. To dara arī tās pašas komandas, salīdzinot tos pašus atslēgvārdus. Mēs arī atjauninām virkni ar nosaukumu ziņojums, uz kuru var atbildēt lietotājam kā statusa ziņojumu.
ja komandā ir ieslēgts: ziņojums = "Ieslēgts", ja komandā ir "balts": ziņojums = ziņojums + "balts" GPIO.output (balts, 1), ja komandā ir "dzeltens": ziņojums = ziņojums + "dzeltens" GPIO.output (dzeltens, 1), ja komandā ir “sarkans”: message = message + "sarkans" GPIO.output (sarkans, 1) ja komandā "green": ziņojums = message + "green" GPIO.output (zaļš, 1) ja komandā 'visi': ziņojums = ziņojums + "visi" GPIO.output (balts, 1) GPIO.output (dzeltens, 1) GPIO.output (sarkans, 1) GPIO.output (zaļš, 1) message = ziņojums + "light (s)" telegram_bot.sendMessage (tērzēšanas_ID, ziņojums)
Kā parādīts iepriekš, mēs meklējam tādus atslēgvārdus kā “zaļš”, “balts”, “sarkans”, “dzeltens” un “visi” un “Ieslēgts” tikai šis konkrētais LED. Kad darbs ir pabeigts, mēs nosūtām atpakaļ lietotājam ziņojumu par tikko notikušo. To pašu metodi var izmantot, lai labi izslēgtu apgaismojumu.
ja komandā 'izslēgts': ziņojums = "Izslēgts", ja komandā "balts": ziņojums = ziņojums + "balts" GPIO.output (balts, 0), ja komandā ir "dzeltens": ziņojums = ziņojums + "dzeltens" GPIO.output (dzeltens, 0), ja komandā ir “sarkans”: message = message + "sarkans" GPIO.output (sarkans, 0) ja komandā "green": ziņojums = message + "green" GPIO.output (zaļš, 0) ja komandā 'visi': ziņojums = ziņojums + "viss" GPIO.output (balts, 0) GPIO.output (dzeltens, 0) GPIO.output (sarkans, 0) GPIO.output (sarkans, 0) GPIO.output (zaļš, 0) message = ziņojums + "light (s)" telegram_bot.sendMessage (tērzēšanas_ID, ziņojums)
Gaismas diodes vadīšana ar Raspberry Pi un Telegram bot:
Pievienojiet gaismas diodes un palaidiet programmu pitonā. Pārliecinieties, vai esat mainījis sava robota marķiera adresi. Un sāciet rakstīt vēlamās komandas. Piemēram, lai ieslēgtu sarkano un dzelteno gaismu, varat izmantot jebkuru no šīm komandām.
1. Ieslēdziet sarkano un dzelteno gaismu
2. Ieslēdziet sarkano un dzelteno krāsu pa labi
3. Uz sarkanā un dzeltenā krāsā
4.Please likts uz to dzeltenās un sarkanās gaismas
Kā redzat, robots meklē tikai atslēgas vārdus un ignorēs citus teikuma vārdus, tādējādi jūs varat ar to runāt dabiski. Pilnīga projekta darbība ir atrodama videoklipā, kas sniegts šīs lapas beigās.
Uz priekšu! spēlēties ar savu projektu un izklaidēties. Tagad jūs varat to pacelt pilnīgi jaunā līmenī. Izmantojot abas apmācības kombinācijas, mums ir tiesības kontrolēt jebkuru aparatūru no mūsu viedtālruņa jebkur pasaulē, kā arī iegūt mūsu Raspberry Pi ievades / rezultātus ziņojuma, audio, attēla formā un pat kā dokumentu. Ja jūs nomainīsit gaismas diodes ar relejiem un maiņstrāvas ierīcēm, tā varētu būt viedtālruņa kontrolēta mājas automatizācija. Tātad, izmantojiet savu radošumu un izveidojiet savus foršos projektus…
Ceru, ka jums patika projekts un jums patika veidot kaut ko līdzīgu. Informējiet mani, ja jums ir kādas problēmas, izmantojot komentāru sadaļu, un es ar prieku jums palīdzēsim. Dalieties arī ar savu foršo ideju ar mani un ļaujiet mums redzēt, ko mēs varam uzbūvēt.