Ang Raspberry Pi ay palaging naging masaya at madaling bumuo ng mga proyekto. Ang malakas na arkitektura ng ARM at open-source Linux based Operating System ay nakatulong sa amin ng malaki sa pagkuha ng aming mga proyekto sa online nang walang oras. Sa tutorial na ito matututunan namin ang isa pang kawili-wiling paraan upang magbahagi ng data (mga file / larawan / video / audio / teksto) sa pagitan ng Raspberry Pi at ng aming Mobile phone sa pamamagitan ng isang tanyag na application ng chat na tinatawag na Telegram.
Para sa mga bago sa Telegram, ito ay isang application na nakabatay sa chat na magagamit sa play store para sa Android (magagamit din para sa Iphone at windows) na halos kapareho ng Whatsapp. Mayroon itong higit sa 100 milyong mga pag-download (tulad ng sa 5-10-2017) sa play store at inaangkin ito ng mga tao na ito ay mas mabilis at mas gumagana kaysa sa Whatsapp (tumawid ang mga daliri). Ang isang espesyal na tampok ng application na ito ay sinusuportahan nila ang mga bot. Ibig sabihin ang application ng smart phone na ito ay hindi lamang magagamit ng mga Tao kundi pati na rin ng makina. Sa aming kaso ang makina ay magiging Raspberry Pi. Sa sandaling sanayin mo ang Raspberry Pi kung paano kumilos bilang isang bot, ang sinuman (kung gagawin mo itong pampubliko) ay maaaring makipag-chat sa iyong Raspberry Pi tulad ng pakikipag-chat sa anumang normal na tao at magbahagi pa ng Mga Larawan ng Mga Larawan Mga Dokumento at mga file ng Audio. Maaari mo ring sanayin ito upang maging iyong sariling Personal na katulong, parang cool diba? Hinahayaan nating malaman kung paano bumuo ng aRaspberry pi telegram bot.
Mga Materyal na Kinakailangan:
- Anumang Raspberry Pi na konektado sa Internet
- Isang mobile na nagpapatakbo ng Application ng Telegram.
Walang gaanong kasangkot na hardware sa proyektong ito kaya't mamahinga ka sa iyong upuan gamit ang iyong Pi at sundin ang mga hakbang sa ibaba. Kung bago ka sa Raspberry Pi pagkatapos sundin ang aming artikulo sa Panimula ng Raspberry Pi at iba pang Mga Tutorial sa Raspberry Pi.
Hakbang 1: Pag-install ng Telegram sa iyong Mobile
Ang unang hakbang ay ang pag-install ng Telegram sa iyong Mobile. Magagamit ang Telegram para sa Android, IOS at kahit para sa Windows platform kaya't magpatuloy lang at i-download ang iyong aplikasyon sa Telegram. Tulad ng lahat ng aplikasyon ay magkakaroon ng isang maliit na pamamaraan ng Pag-sign Up upang simulang gamitin ang Telegram, magpatuloy hanggang sa maabot mo ang iyong home screen.
Hakbang2: Makipag-usap sa Bot Father
Ang susunod na hakbang ay ang paghiling sa Bot Father na lumikha sa amin ng isang bagong Bot. Sa kanang sulok sa itaas ng Home screen magkakaroon ng isang icon ng paghahanap, mag-click dito upang maghanap para sa pangalang "botfather". Ang Botfather ay isang Bot nang mag-isa, gagabayan ka nito upang lumikha ng isang bagong bot para sa iyo. Mag-click sa pagsisimula at piliin ang / newbot tulad ng ipinakita sa larawan sa ibaba. Ngayon, hihilingin ng bot ang ilang mga detalye tulad ng pangalan ng iyong Bot at ang pangalan ng gumagamit ng bot. Punan ang mga detalyeng iyon at tandaan ang username para kakailanganin namin ito sa hinaharap.
Step3: Pagkuha ng iyong token para sa pag-access
Pinangalanan ko ang bot bilang circuitdigest at ang username bilang circuitdigestBot. Matapos ang prosesong ito bibigyan ka ng botfather ng isang Token para sa pag-access. Ito ay tulad ng password para sa iyong bot, maaaring makontrol ng mga tao ang programa ng iyong bot gamit ang token key na ito. Kaya't panatilihing ligtas ito at huwag ibahagi ito sa sinuman. Kapag natanggap mo ang token key na ito ay oras na upang magpatuloy sa Raspberry Pi.
Step4: Telepot para sa pag-install ng Telegram sa Raspberry Pi
Ang paggamit ng Telegram Bot sa Raspberry Pi ay ginawang posible ng python package na tinatawag na Telepot. Kailangan naming i-install ang package na ito sa Raspberry Pi sa pamamagitan ng paggamit ng mga sumusunod na utos sa Lx terminal
sudo apt-get install python-pip sudo pip install telepot
Kapag ang Telepot ay na-import sa Raspberry maaari naming gamitin ang package na ito sa aming programa sa sawa upang makipag-usap sa aming Telegram Bot.
Hakbang 5: Pag-program ng iyong Raspberry Pi
Ang bot na nilikha lamang namin sa Telegram ay tulad ng isang sanggol, wala itong magagawa nang mag-isa maliban kung turuan namin ito kung ano at paano gumawa ng mga bagay. Ang pagtuturo na ito ay maaaring magawa sa pamamagitan ng Raspberry Pi at Python script. Sa tutorial na ito na na-program ko ang bot upang maisagawa ang ilang mga pangunahing aksyon tulad ng pagpapadala ng isang mensahe, Larawan, Audio at Dokumento. Kaya't kapag sinabi mong isang partikular na utos ay tutugon ito sa isang partikular na pagkilos ang utos at pagkilos ay nakalista sa talahanayan sa ibaba
Command mula sa Telegram |
Tugon ni Raspberry Pi |
/ hi |
Tumutugon sa isang string na “Hi! CircuitDigest ” |
/ oras |
Tumutugon sa kasalukuyang oras |
/ logo |
Tumutugon sa isang Larawan (logo ng CircuitDigest) |
/ file |
Tumutugon sa isang file (na naglalaman ng kasalukuyang programa) |
/ audio |
Tumutugon sa isang demo audio file |
Ang kumpletong programa upang magawa ang mga pagkilos sa itaas ay ibinibigay sa ilalim ng pahinang ito. Ngunit sa ibaba lamang, ipinaliwanag ko ang mga mahahalagang snippet sa programa upang matulungan kang maunawaan kung paano gumagana ang programa.
Ang unang hakbang ay ang pag- import ng lahat ng mga aklatan, dito malinaw na kakailanganin natin ang teleport library upang magamit ang Telegram bot. Ginagamit din namin ang oras, nag-time na library upang basahin ang kasalukuyang oras para sa Raspberry pi. Pagkatapos ay lumikha kami ng isang bagay ngayon kung saan naka-imbak ang halaga.
oras ng pag-import, pag-import ng datime ng telepot mula sa telepot.loop import na MessageLoop ngayon = datime.datetime.now ()
Ang susunod na hakbang ay upang lumikha ng isang pagpapaandar para sa paggawa ng mga aksyon batay sa mga papasok na utos mula sa Telegram app sa Mobile. Narito ang pangalan ng pagpapaandar ay aksyon. Nasa loob ito ng pagpapaandar na ito kung saan mabubuhay ang bot. Hindi maaaring simulan ng aming bot ang isang pag-uusap nang mag-isa, maaari lamang itong tumugon kung may hiniling kami. Kaya sa tuwing tatanungin namin ang isang bagay ay magkakaroon ng chat id. Ang chat id na ito ay isang bagay na katulad sa isang address, ang paggamit lamang sa chat id na ito ng isang bot ay maaaring tumugon sa amin. Kaya ang unang hakbang ay basahin ang chat id at ang mensahe na sinusubukan nitong sabihin sa amin. Nai-print din namin ang natanggap na mensahe para sa layunin ng pag-debug.
def action (msg): chat_id = msg command = msg print 'Natanggap:% s'% utos
Karagdagang pababa sa loob ng pagpapaandar na ihinahambing namin ang utos na ito sa isang paunang natukoy na teksto at nagsasagawa ng mga partikular na gawain. Ang unang utos na ito ay magiging / hi kung saan tumugon kami ng “Hi! CircuitDigest ”
kung command == '/ hi': telegram_bot.sendMessage (chat_id, str ("Hi! CircuitDigest"))
Ang susunod na utos ay magiging / oras , kung saan tumugon kami sa kasalukuyang oras. Mayroon na kaming oras at petsa sa ngayon, narito lamang nahati ito batay sa oras at minuto at idagdag ito bilang paggamit ng str function.
elif command == '/ time': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
Ang susunod na utos ay / logo , kung saan ang bot ay kukuha ng isang imahe mula sa isang url at ipadala ito sa amin. Ang isang imahe ay maaaring maipadala alinman sa isang URL o mula sa hard disk. Dito ko lang nagamit ang URL na nagpapakita ng logo ng CircuitDigest.
elif command == '/ logo': telegram_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
Ang susunod na utos ay magiging / file , na magpapadala ng file na pinangalanang Aisha.py mula sa hard disk. Maaari kang magpadala ng anumang file na nais mong sa pamamagitan ng pagbabago ng address ng direktoryo
elif command == '/ file': telegram_bot.sendDocument (chat_id, dokumento = open ('/ home / pi / Aisha.py'))
Ang huling utos ay / audio . Maaari itong magpadala ng anumang mp3 file mula sa hard disk, ginamit ko lang ang isang audio file na tinatawag na test.mp3 bilang isang demo dito
elif command == '/ audio': telegram_bot.sendAudio (chat_id, audio = open ('/ home / pi / test.mp3'))
Okay ngayon ay dumating ang pinakamahalagang hakbang, dito namin binibigyan ng access ang aming Telegram bot sa script ng Python. Dito pinangalanan namin ang bot bilang telegram_bot at itatalaga dito ang token address na ibinigay ng aming botfather sa hakbang 3. Sa linya sa ibaba ay tinanggal ko ang huling ilang mga digit ng aking token bilang isang bagay ng privacy. Ginagamit din namin ang print na magpakita sa akin ng mga detalye ng Bot sa shell screen, makakatulong ito sa amin na mapansin ang mga bagay na gumagana.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') print (telegram_bot.getMe ())
Inaasahan kong naintindihan mo kung paano gumagana ang programa, ngayon ay ilipat natin sa susunod na hakbang.
Step6: Pagpapatakbo ng Program sa iyong Raspberry Pi
Tulad ng sinabi nang mas maaga ang kumpletong programa ay ibinibigay sa pagtatapos ng pahinang ito, maaari mo ring i-download ang pareho mula rito. Kapag binuksan mo ang code siguraduhing binago mo ang token address ng programa sa iyong token address.
Patakbuhin ngayon ang code ng sawa at dapat mong makita ang mga detalye ng iyong bot sa shell window na tulad nito
Dito, ang pangalan ng gumagamit ng bot ko ay circuitdigestBot. Kung makuha mo ang pangalan ng iyong mga bot dito nangangahulugan ito na ang lahat ay maayos.
Kapag nakita mo na ang " up and running " nangangahulugan ito na ang bot mo ay handa na para sa pagkilos at maaari na ngayong tumugon sa iyong mga utos.
Hakbang 7: Masisiyahan sa Output
Ngayon, ang natitira lamang ay upang suriin kung gaano kabuti ang pagtugon ng iyong bot para sa iyong programa. Paghahanap para sa iyong pangalan ng bot sa aking kaso ito ay "circuitdigestBot". Maghanap para sa username at hindi o Pangalan ng bot, ikaw ang pangalan ng gumagamit ay dapat magtapos sa bot.
Kapag binuksan mo ang iyong bot, mag-click sa simula at i-type ang anumang mga utos tulad ng / hi, / oras, / file, / logo, o / audio at dapat kang sagutin nang naaayon.
Maaari mong gamitin ang shell script upang makita kung ano ang kasalukuyang tumutugon sa iyong script. Ang kumpletong pagtatrabaho ay matatagpuan sa video na ibinigay sa pagtatapos ng pahinang ito.
Hakbang 8: Bigyan mo ako ng Mataas na Limang
Inaasahan kong naintindihan mo ang tutorial at ngayon ay makakagawa ng Raspberry pi telegram bot na ito at makipag - usap sa Raspberry Pi gamit ang Telegram App. Naku! Kung mayroon kang anumang mga problema ipaalam sa akin sa pamamagitan ng seksyon ng komento at susubukan kong bumalik sa iyo. Gayundin, ipaalam sa akin kung paano mo nagustuhan ang proyektong ito o kung ano ang nais mong buuin ko gamit ito sa mga paparating na proyekto.
Gayundin, sa aming susunod na tutorial. Gagawin namin itong mas cool sa pamamagitan ng pagbabago ng paraan ng pagpapadala ng mga utos at sa isang bagay na higit na nauugnay sa hardware sa Raspberry Pi.