Aveņu Pi vienmēr ir bijis jautrs un viegli būvējams. Tās jaudīgā ARM arhitektūra un atvērtā koda operētājsistēma, kas balstīta uz Linux, mums ļoti palīdzēja ātri iegūt mūsu projektus tiešsaistē. Šajā apmācībā mēs iemācīsimies vēl vienu interesantu veidu, kā koplietot datus (failus / fotoattēlus / videoklipus / audio / tekstus) starp Raspberry Pi un mūsu mobilo tālruni, izmantojot populāru tērzēšanas lietojumprogrammu ar nosaukumu Telegram.
Tiem, kas ir jauni Telegram, tā ir tērzēšanas lietojumprogramma, kas pieejama Android spēļu veikalā (pieejama arī iPhone un Windows), kas ir ļoti līdzīga Whatsapp. Spēļu veikalā tam ir vairāk nekā 100 miljoni lejupielāžu (tāpat kā 2017. gada 5. oktobrī), un cilvēki apgalvo, ka tas ir ātrāks un funkcionālāks nekā Whatsapp (sakrustoti pirksti). Viena šīs programmas īpašā iezīme ir tā, ka tie atbalsta robotus. Nozīmē, ka šo viedtālruņa lietojumprogrammu var izmantot ne tikai cilvēki, bet arī mašīna. Mūsu gadījumā mašīna būs Raspberry Pi. Kad esat apmācījis Raspberry Pi par to, kā rīkoties kā botam, ikviens (ja to darāt publiski pieejamu) var tērzēt ar savu Raspberry Pi, piemēram, tērzēt ar jebkuru normālu cilvēku un pat kopīgot fotoattēlu attēlu dokumentus un audio failus. Jūs pat varat apmācīt to par savu personīgo palīgu, izklausās forši, vai ne? Ļauj iemācīties veidotAveņu pi telegrammas bots.
Nepieciešamie materiāli:
- Jebkurš Raspberry Pi ir savienots ar internetu
- Mobilā telegrammas lietojumprogramma.
Šajā projektā nav daudz aparatūras, tāpēc atpūtieties uz sava krēsla ar savu Pi un izpildiet tālāk norādītās darbības. Ja esat jauns Raspberry Pi lietotājs, izpildiet mūsu rakstu Raspberry Pi un citus Raspberry Pi apmācības materiālus.
1. darbība: instalējiet telegrammu savā mobilajā ierīcē
Pirmais solis būtu instalēt Telegram savā mobilajā ierīcē. Telegramma ir pieejama Android, IOS un pat Windows platformai, tāpēc vienkārši turpiniet un lejupielādējiet savu Telegram lietojumprogrammu. Tāpat kā visās lietojumprogrammās, būs neliela reģistrēšanās procedūra, lai sāktu lietot Telegram, turpiniet to turpināt, līdz sasniegsiet sākuma ekrānu.
2. solis: runājiet ar Bot Tēvu
Nākamais solis būtu pieprasīt Bot Tēvam izveidot mums jaunu Bot. Sākuma ekrāna augšējā labajā stūrī būs meklēšanas ikona, noklikšķiniet uz tās, lai meklētu vārdu “botfather”. Botfather ir pats bot, tas palīdzēs jums izveidot jaunu bot. Noklikšķiniet uz Sākt un atlasiet / newbot, kā parādīts attēlā zemāk. Tagad robots lūgs nelielu informāciju, piemēram, jūsu robota vārdu un robota lietotāja vārdu. Aizpildiet šo informāciju un atcerieties lietotājvārdu, kas mums būs vajadzīgs nākotnē.
3. darbība: piekļuves pilnvaras iegūšana
Es esmu nosaucis bot kā circuitdigest un lietotājvārdu kā circuitdigestBot. Pēc šī procesa robotēvs jums piešķirs piekļuves marķieri. Tas ir kā jūsu robota parole. Cilvēki var kontrolēt jūsu robotu, izmantojot šo marķiera atslēgu. Tāpēc saglabājiet to drošībā un nedalieties ar to nevienam. Kad esat saņēmis šo marķiera atslēgu, ir pienācis laiks pāriet uz Raspberry Pi.
4. solis: Telepots telegrammas instalēšanai Raspberry Pi
Telegram Bot izmantošanu Raspberry Pi nodrošina pitona pakotne ar nosaukumu Telepot. Šī pakotne mums jāinstalē Raspberry Pi, izmantojot šādas komandas Lx terminālā
sudo apt-get install python-pip sudo pip instalēt telepotu
Kad Telepot ir importēts Raspberry, mēs varam izmantot šo pakotni savā python programmā, lai sazinātos ar mūsu Telegram Bot.
5. solis: Raspberry Pi programmēšana
Bots, kuru mēs tikko izveidojām Telegram, ir gluži kā zīdainis, tas pats neko nevar izdarīt, ja vien mēs viņam nemācām, ko un kā darīt. Šo mācīšanu var veikt, izmantojot Raspberry Pi un Python skriptu. Šajā apmācībā es esmu ieprogrammējis robotu veikt dažas pamata darbības, piemēram, sūtīt ziņojumu, fotoattēlu, audio un dokumentu. Tātad, sakot konkrētu komandu, tā atbildēs ar konkrētu darbību, komanda un darbība ir norādīta zemāk esošajā tabulā
Komanda no telegrammas |
Raspberry Pi atbilde |
/Sveiki |
Atbild ar virkni “Sveiki! CircuitDigest ” |
/laiks |
Atbild ar pašreizējo laiku |
/ logo |
Atbildes ar attēlu (CircuitDigest logotips) |
/ fails |
Atbildes ar failu (kas satur pašreizējo programmu) |
/ audio |
Atbild ar demonstrācijas audio failu |
Pabeigta programma, lai veiktu minētās darbības tiek dots pie šīs lapas apakšā. Bet tieši zemāk es esmu izskaidrojis svarīgos programmas fragmentus, lai palīdzētu jums saprast, kā programma darbojas.
Pirmais solis ir visu bibliotēku importēšana, šeit mums acīmredzot būs nepieciešama teleporta bibliotēka, lai izmantotu Telegram bot. Mēs arī izmantojam laika un laika bibliotēku, lai nolasītu Raspberry pi pašreizējo laiku. Tad mēs izveidojam objektu, kurā vērtība tiek saglabāta.
importēšanas laiks, datetime importējiet telepotu no telepot.loop importējiet MessageLoop tagad = datetime.datetime.now ()
Nākamais solis ir izveidot funkciju darbību veikšanai, pamatojoties uz ienākošajām komandām no lietotnes Telegram mobilajā ierīcē. Šeit funkcijas nosaukums ir darbība. Bots atdzīvojas tieši šīs funkcijas iekšpusē. Mūsu robots pats nevar uzsākt sarunu, tas var atbildēt tikai tad, ja mēs kaut ko pajautājam. Tāpēc katru reizi, kad kaut ko jautājam, būs tērzēšanas ID. Šis tērzēšanas ID ir kaut kas līdzīgs adresei, tikai izmantojot šo tērzēšanas ID robots var mums atbildēt. Tāpēc pirmais solis ir izlasīt tērzēšanas ID un ziņojumu, kuru tas mums mēģina pateikt. Arī drukājam saņemto ziņojumu atkļūdošanas nolūkā.
def darbība (msg): chat_id = msg komanda = msg print 'Saņemta:% s' komanda%
Tālāk funkcijas iekšpusē mēs salīdzinām šo komandu ar iepriekš noteiktu tekstu un veicam noteiktus uzdevumus. Šī pirmā komanda būs / hi, uz kuru mēs atbildam “Čau! CircuitDigest ”
ja komanda == '/ hi': telegram_bot.sendMessage (chat_id, str ("Sveiki! CircuitDigest"))
Nākamā komanda būs / laiks , uz kuru mēs atbildam uz pašreizējo laiku. Tagad mums jau ir laiks un datums, šeit vienkārši sadaliet to atkarībā no stundas un minūtes un pievienojiet to kā funkciju str .
elif komanda == '/ laiks': telegram_bot.sendMessage (tērzēšanas_ID, str (tagad.stunda) + str (":") + str (tagad.minūte))
Nākamā komanda būs / logotips , uz kuru robots iegūs attēlu no URL un nosūtīs to mums. Attēlu var nosūtīt vai nu no URL, vai no cietā diska. Šeit es tikko izmantoju URL, kas parāda CircuitDigest logotipu.
elif komanda == '/ logo': telegram_bot.sendPhoto (tērzēšanas_ID, foto = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
Nākamā komanda būs / file , kas no cietā diska nosūtīs failu ar nosaukumu Aisha.py . Varat nosūtīt jebkuru vēlamo failu, mainot direktorijas adresi
elif komanda == '/ fails': telegram_bot.sendDocument (tērzēšanas_ID, dokuments = atvērts ('/ home / pi / Aisha.py'))
Pēdējā komanda būs / audio . Tas var nosūtīt jebkuru mp3 failu no cietā diska, es tikko kā demonstrāciju šeit izmantoju audio failu ar nosaukumu test.mp3
elif komanda == '/ audio': telegram_bot.sendAudio (tērzēšanas_ID, audio = atvērts ('/ home / pi / test.mp3'))
Labi tagad ir vissvarīgākais solis, tieši šeit mēs piešķiram mūsu Telegram bot piekļuvi Python skriptam. Šeit mēs nosaucam robotu kā telegrammas_botu un piešķiram tam marķiera adresi, kuru mūsu botfather deva 3. solī. Zemāk esošajā rindiņā privātuma labad esmu noņēmis dažus pēdējos sava marķiera ciparus. Mēs arī izmantojam izdruku get me, lai ekrāna ekrānā parādītu informāciju par Bot, tas mums palīdzēs pamanīt, ka viss darbojas.
telegram_bot = telepot. Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') drukāt (telegram_bot.getMe ())
Ceru, ka sapratāt, kā programma darbojas, tagad ļaujiet mums pāriet uz nākamo soli.
6. solis: Programmas palaišana jūsu Raspberry Pi
Kā jau minēts iepriekš, visa programma ir dota šīs lapas beigās, to pašu varat lejupielādēt arī šeit. Pēc koda atvēršanas noteikti nomainiet programmas marķiera adresi uz savu marķiera adresi.
Tagad palaidiet pitona kodu, un jums vajadzētu redzēt sīkāku informāciju par jūsu botu čaulas logā šādi
Šeit mans robota lietotājvārds ir circuitdigestBot. Ja šeit saņemat savu robotu vārdu, tas nozīmē, ka viss notiek labi.
Kad redzat “ darbojas un darbojas ”, tas nozīmē, ka robots ir gatavs darbībai un tagad var atbildēt uz jūsu komandām.
7. solis: izbaudiet rezultātu
Tagad atliek tikai pārbaudīt, cik labi robots reaģē uz jūsu programmu. Meklējiet sava robota vārdu manā gadījumā tas ir “circuitdigestBot”. Meklējiet lietotājvārdu, nevis Bot kodu, jūsu lietotājvārdam jābeidzas ar bot.
Kad esat atvēris robotu, noklikšķiniet uz Sākt un ierakstiet visas komandas, piemēram, / hi, / time, / file, / logo vai / audio, un jums uz to jāatbild.
Jūs varat izmantot čaulas skriptu, lai redzētu, uz ko jūsu skripts pašlaik reaģē. Pilnīgu darbu var atrast video, kas sniegts šīs lapas beigās.
8. solis: Dodiet man piecinieku
Ceru, ka sapratāt apmācību un tagad varēsit izveidot šo Raspberry pi telegrammas botu un sazināties ar Raspberry Pi, izmantojot Telegram App. Ak vai! Ja jums ir kādas problēmas, informējiet mani, izmantojot komentāru sadaļu, un es centīšos sazināties ar jums. Turklāt dariet man zināmu, kā jums patika šis projekts vai ko jūs gribētu, lai es uzbūvētu, izmantojot to nākamajos projektos.
Arī mūsu nākamajā apmācībā. Mēs padarīsim šo izskatu vēsāku, mainot komandu sūtīšanas veidu un kaut ko vairāk saistītu ar Raspberry Pi aparatūru.