„Raspberry Pi“ visada buvo įdomus ir lengvai kuriamas projektas. Jo galinga ARM architektūra ir atviro kodo „Linux“ operacinė sistema mums labai padeda greitai pasiekti savo projektus internete. Šioje pamokoje sužinosime dar vieną įdomų būdą dalytis duomenimis (failais / nuotraukomis / vaizdo įrašais / garso įrašais / tekstu) tarp „Raspberry Pi“ ir mūsų mobiliojo telefono per populiarią pokalbių programą „Telegram“.
Tiems, kurie yra nauji „Telegram“, tai yra pokalbių programa, kurią galima įsigyti „Android“ žaidimų parduotuvėje (taip pat galima „iPhone“ ir „Windows“), kuri yra labai panaši į „Whatsapp“. „Play“ parduotuvėje atsisiųsti daugiau nei 100 milijonų (kaip ir 2017-10-05), o žmonės teigia, kad tai greitesnė ir funkcionalesnė nei „Whatsapp“ (sukryžiuoti pirštai). Viena iš šios programos ypatybių yra ta, kad jie palaiko robotus. Tai reiškia, kad šią išmaniojo telefono programą gali naudoti ne tik žmonės, bet ir mašinos. Mūsų atveju mašina bus Raspberry Pi. Kai mokysite „Raspberry Pi“, kaip elgtis kaip robotas, kiekvienas (jei tai paviešinsite) gali kalbėtis su jūsų „Raspberry Pi“, pavyzdžiui, kalbėtis su bet kuriuo normaliu žmogumi ir netgi dalytis nuotraukų nuotraukų dokumentais ir garso failais. Jūs netgi galite išmokyti jį būti savo asmeniniu asistentu, skamba gerai, tiesa? Leidžia išmokti sukurti aAviečių pi telegramos botas.
Reikalingos medžiagos:
- Bet koks „Raspberry Pi“ prisijungė prie interneto
- Mobilusis „Telegram Application“.
Šiame projekte nėra daug aparatūros, todėl atsipalaiduokite ant savo kėdės su savo Pi ir atlikite toliau nurodytus veiksmus. Jei esate „Raspberry Pi“ naujokas, vadovaukitės mūsų „Raspberry Pi“ įvadiniu straipsniu ir kitomis „Raspberry Pi“ pamokomis.
1 veiksmas: įdiekite „Telegram“ į savo mobilųjį telefoną
Pirmas žingsnis būtų įdiegti „Telegram“ į savo mobilųjį telefoną. Telegramą galima naudoti „Android“, IOS ir net „Windows“ platformoje, todėl tiesiog atsisiųskite savo „Telegram“ programą. Kaip ir visose programose, bus atliekama nedidelė registracijos procedūra norint pradėti naudoti „Telegram“, tęskite ją, kol pasieksite savo pagrindinį ekraną.
2 žingsnis: Pasikalbėkite su Bot tėvu
Kitas žingsnis būtų paprašyti botų tėvo, kad jis sukurtų mums naują botą. Viršutiniame dešiniajame pagrindinio ekrano kampe bus paieškos piktograma, spustelėkite ją, norėdami ieškoti pavadinimo „botfather“. „Botfather“ yra pats robotas, jis padės jums sukurti naują botą. Spustelėkite pradėti ir pasirinkite / newbot, kaip parodyta paveikslėlyje žemiau. Dabar robotas paprašys kelios informacijos, pvz., Jūsų roboto vardo ir roboto vartotojo vardo. Užpildykite šią informaciją ir prisiminkite naudotojo vardą, kurio mums prireiks ateityje.
3 žingsnis: Gaukite prieigos raktą
Aš pavadinau botą kaip circuitdigest, o vartotojo vardą - circuitdigestBot. Po šio proceso botatėvis suteiks jums prieigos žetoną. Tai yra tarsi jūsų roboto slaptažodis. Žmonės gali valdyti jūsų robotą naudodami šį raktinį raktą. Taigi saugokite ir nesidalykite niekuo. Gavę šį raktinį raktą, laikas pereiti prie „Raspberry Pi“.
4 žingsnis: Teleprotas, skirtas įdiegti telegramą „Raspberry Pi“
Naudojant „Telegram Bot“ „Raspberry Pi“ leidžia python paketas „Telepot“. Šį paketą turime įdiegti „Raspberry Pi“ naudodami šias komandas „Lx“ terminale
sudo apt-get install python-pip sudo pip įdiegti telepotą
Kai „Telepot“ bus importuotas į „Raspberry“, mes galėsime naudoti šį paketą savo „python“ programoje norėdami bendrauti su savo „Telegram Bot“.
5 žingsnis: „Raspberry Pi“ programavimas
Robotas, kurį ką tik sukūrėme „Telegram“, yra lygus kūdikis, jis pats nieko negali padaryti, nebent išmokysime, ką ir kaip daryti. Šį mokymą galima atlikti naudojant „Raspberry Pi“ ir „Python“ scenarijus. Šioje pamokoje aš užprogramavau robotą atlikti keletą pagrindinių veiksmų, tokių kaip pranešimo, nuotraukos, garso ir dokumento siuntimas. Taigi, kai sakote tam tikrą komandą, ji atsakys tam tikru veiksmu, komanda ir veiksmas yra išvardyti toliau pateiktoje lentelėje
Komanda iš telegramos |
Raspberry Pi atsakymas |
/ labas |
Atsako eilute „Sveiki! „CircuitDigest“ |
/laikas |
Atsako su dabartiniu laiku |
/ logotipas |
Atsakymai su vaizdu („CircuitDigest“ logotipas) |
/ failas |
Atsakymai su failu (kuriame yra dabartinė programa) |
/ audio |
Atsakymai pateikiami su demonstraciniu garso failu |
Visa programa, skirta aukščiau nurodytiems veiksmams atlikti, pateikiama šio puslapio apačioje. Bet šiek tiek žemiau aš paaiškinau svarbius programos fragmentus, kad galėčiau suprasti, kaip programa veikia.
Pirmas žingsnis yra visų bibliotekų importavimas, čia mums akivaizdžiai reikės teleportų bibliotekos, kad galėtume naudoti „Telegram“ robotą. Mes taip pat naudojame laiko ir laiko biblioteką, norėdami perskaityti dabartinį „Raspberry pi“ laiką. Tada mes sukuriame objektą, kuriame saugoma vertė.
importavimo laikas, datos laikas importuoti telepotą iš telepot.loop importuoti „MessageLoop“ dabar = datetime.datetime.now ()
Kitas žingsnis - sukurti funkciją, skirtą veiksmams atlikti pagal gaunamas komandas iš „Telegram“ programos mobiliajame telefone. Čia funkcijos pavadinimas yra veiksmas. Būtent šioje funkcijoje botas atgyja. Mūsų robotas negali pats pradėti pokalbio, jis gali atsakyti tik tuo atveju, jei ko nors paklausime. Taigi kiekvieną kartą, kai ko nors paklausime, bus pokalbio ID. Šis pokalbio ID yra kažkas panašaus į adresą, tik naudodamas šį pokalbio ID robotas gali mums atsakyti. Taigi pirmiausia reikia perskaityti pokalbio ID ir pranešimą, kurį mums bandoma pasakyti. Mes taip pat atspausdiname gautą pranešimą derinimo tikslais.
def action (msg): chat_id = msg command = msg print 'Gauta:% s'% komanda
Toliau funkcijos viduje mes palyginame šią komandą su iš anksto nustatytu tekstu ir atliekame tam tikras užduotis. Ši pirmoji komanda bus / hi, į kurią mes atsakome „Sveiki! „CircuitDigest“
jei komanda == '/ hi': telegram_bot.sendMessage (chat_id, str ("Sveiki! CircuitDigest"))
Kita komanda bus / laikas , į kurią atsakysime esamą laiką. Dabar jau turime laiką ir datą, čia paprasčiausiai padalykite jį pagal valandą ir minutę ir pridėkite kaip naudodami str funkciją.
elif komanda == '/ laikas': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
Kita komanda bus / logo , kuriai robotas atims vaizdą iš URL ir išsiųs mums. Paveikslėlį galima siųsti iš URL arba iš standžiojo disko. Čia ką tik naudojau URL, kuriame rodomas „CircuitDigest“ logotipas.
elif komanda == '/ logotipas: telegram_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
Kita komanda bus / file , kuri iš kietojo disko nusiųs failą Aisha.py . Galite išsiųsti bet kurį failą, kurio norite, pakeisdami katalogo adresą
elif komanda == '/ failas': telegram_bot.sendDocument (pokalbio_id, dokumentas = atviras ('/ home / pi / Aisha.py'))
Paskutinė komanda bus / audio . Tai gali siųsti bet kurį mp3 failą iš standžiojo disko, aš ką tik naudoju garso failą, vadinamą test.mp3, kaip demonstracinę versiją
elif komanda == '/ audio': telegram_bot.sendAudio (chat_id, audio = open ('/ home / pi / test.mp3'))
Gerai, dabar yra svarbiausias žingsnis, čia mes suteikiame prieigą prie „Telegram“ roboto prie „Python“ scenarijaus. Čia botą įvardijame kaip telegram_bot ir priskiriame jam žetono adresą, kurį 3 etape nurodė mūsų botatėvis. Žemiau esančioje eilutėje privatumo sumetimais pašalinau kelis paskutinius savo prieigos rakto skaitmenis. Mes taip pat naudojame spaudą „get me“, kad ekrano ekrane būtų rodoma „Bot“ informacija. Tai padės mums pastebėti, kad viskas veikia.
telegram_bot = telepot. Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') spausdinti (telegram_bot.getMe ())
Tikimės, kad supratote, kaip programa veikia, dabar pereikime prie kito žingsnio.
6 veiksmas: paleiskite programą savo „Raspberry Pi“
Kaip minėta anksčiau, visa programa pateikiama šio puslapio pabaigoje, taip pat galite atsisiųsti tą pačią iš čia. Atidarę kodą, būtinai pakeiskite programos prieigos raktą į savo prieigos raktą.
Dabar paleiskite „python“ kodą ir turėtumėte pamatyti išsamią informaciją apie savo robotą „shell“ lange
Čia mano roboto vartotojo vardas yra circuitdigestBot. Jei čia gaunate savo robotų vardą, tai reiškia, kad viskas gerai.
Kai pamatysite „ veikia ir veikia “, tai reiškia, kad robotas yra pasirengęs veikti ir dabar galite atsakyti į jūsų komandas.
7 žingsnis: mėgautis rezultatu
Dabar belieka patikrinti, ar jūsų robotas reaguoja į jūsų programą. Ieškokite savo roboto vardo, mano atveju, jis yra „circuitdigestBot“. Ieškokite vartotojo vardo, o ne „Bot“ vardo, vartotojo vardas turėtų baigtis bot.
Atidarę robotą, spustelėkite „Pradėti“ ir įveskite visas komandas, tokias kaip / hi, / time, / file, / logo arba / audio, ir jums turėtų būti atitinkamai atsakyta.
Galite naudoti apvalkalo scenarijų, kad pamatytumėte, į ką jūsų scenarijus šiuo metu reaguoja. Visą darbą galite rasti vaizdo įraše, pateiktame šio puslapio pabaigoje.
8 žingsnis: duok man penketuką
Tikiuosi, kad supratote pamoką ir dabar galėsite sukurti šį „ Raspberry pi“ telegramos robotą ir bendrauti su „Raspberry Pi“ naudodami „Telegram App“. Deja! Jei turite kokių nors problemų, praneškite man per komentarų skiltį ir aš pabandysiu susisiekti su jumis. Be to, praneškite man, kaip jums patiko šis projektas arba ką norėtumėte, kad pastatyčiau naudodamas tai būsimuose projektuose.
Be to, mūsų kitoje pamokoje. Tai padarysime šauniau, pakeisdami komandų siuntimo būdą ir kažką daugiau susijusio su „Raspberry Pi“ aparatine įranga.