Vadelma Pi on aina ollut hauskaa ja helppoa rakentaa projekteja. Sen tehokas ARM-arkkitehtuuri ja avoimen lähdekoodin Linux-pohjainen käyttöjärjestelmä ovat auttaneet meitä saamaan projektimme verkossa nopeasti. Tässä opetusohjelmassa opitaan toinen mielenkiintoinen tapa jakaa tietoja (tiedostoja / valokuvia / videoita / ääniä / tekstiä) Raspberry Pi: n ja matkapuhelimemme välillä suositun Telegram-nimisen chat-sovelluksen kautta.
Niille, jotka ovat uusia Telegramille, se on chat-pohjainen sovellus, joka on saatavana Android-pelikaupassa (saatavana myös Iphoneille ja Windowsille), joka on hyvin samanlainen kuin Whatsapp. Sillä on yli 100 miljoonaa latausta (kuten 5-10-2017) Play Kaupassa, ja ihmiset väittävät sen olevan nopeampi ja toimivampi kuin Whatsapp (sormet ristissä). Yksi tämän sovelluksen erityispiirteistä on, että ne tukevat botteja. Tämä tarkoittaa, että ihmiset eivät voi käyttää tätä älypuhelinsovellusta myös koneella. Meidän tapauksessamme kone on Vadelma Pi. Kun olet kouluttanut Raspberry Pi: n toimimaan botkina, kuka tahansa (jos teet sen julkiseksi) voi keskustella Vadelma Pi: n kanssa, kuten chattailla minkä tahansa normaalin ihmisen kanssa, ja jopa jakaa Valokuvat-kuvat-asiakirjoja ja äänitiedostoja. Voit jopa kouluttaa sen omaksi henkilökohtaiseksi avustajaksi, kuulostaa hyvältä? Antaa oppia rakentamaanVadelma pi sähke botti.
Tarvittavat materiaalit:
- Mikä tahansa Vadelma Pi on yhteydessä Internetiin
- Matkapuhelin, joka käyttää sähkeohjelmaa.
Tässä projektissa ei ole paljon laitteistoa, joten rentoudu tuolillasi Pi: n kanssa ja noudata alla olevia ohjeita. Jos olet uusi Raspberry Pi -ohjelmassa, seuraa Raspberry Pi -esittelyartikkeliamme ja muita Raspberry Pi -oppaita.
Vaihe 1: Asenna sähke matkapuhelimeesi
Ensimmäinen askel olisi asentaa sähke matkapuhelimeesi. Telegram on saatavana Androidille, IOS: lle ja jopa Windows-alustalle, joten siirry eteenpäin ja lataa Telegram-sovelluksesi. Aivan kuten kaikissa sovelluksissa, sähkeen käytön aloittamiseksi on pieni kirjautumismenettely, jatka sitä, kunnes pääset aloitusnäyttöön.
Vaihe 2: Keskustele botin isän kanssa
Seuraava askel olisi pyytää Bot-isää luomaan meille uusi Bot. Aloitusnäytön oikeassa yläkulmassa on hakukuvake, napsauta sitä etsiäksesi nimeä "botfather". Botfather on itse botti, se opastaa sinua luomaan uuden botin sinulle. Napsauta Käynnistä-painiketta ja valitse / newbot alla olevan kuvan mukaisesti. Nyt botti kysyy muutamia yksityiskohtia, kuten botin nimi ja botin käyttäjänimi. Täytä nämä tiedot ja muista käyttäjänimi, jota tarvitsemme sitä tulevaisuudessa.
Vaihe 3: Tunnuksen saaminen pääsyä varten
Olen nimittänyt botin circuitdigestiksi ja käyttäjänimen circuitdigestBotiksi. Tämän prosessin jälkeen botfather antaa sinulle tunnuksen pääsyyn. Tämä on kuin botin salasana. Ihmiset voivat hallita botiasi käyttämällä tätä tunnuskoodia. Joten pidä se turvassa ja älä jaa sitä kenellekään. Kun olet saanut tämän tunnuskoodiavaimen, on aika siirtyä Raspberry Pi -ohjelmaan.
Vaihe 4: Telepotti sähkeen asentamiseksi Raspberry Pi: lle
Telegram Botin käyttäminen Vadelma Pi: ssä on mahdollista python-paketilla nimeltä Telepot. Meidän on asennettava tämä paketti Raspberry Pi: lle käyttämällä seuraavia komentoja Lx-päätelaitteessa
sudo apt-get install python-pip sudo pip asenna telepotti
Kun Telepot on tuotu Vadelmaan, voimme käyttää tätä pakettia python-ohjelmassa kommunikoida Telegram Botin kanssa.
Vaihe 5: Raspberry Pi -ohjelmointi
Äskettäin sähkeellä luomamme botti on kuin vauva, se ei voi tehdä mitään yksin, ellemme opeta sille mitä ja miten tehdä asioita. Tämä opetus voidaan tehdä Raspberry Pi- ja Python-komentosarjojen avulla. Tässä opetusohjelmassa olen ohjelmoinut botin suorittamaan joitain perustoimintoja, kuten viestin, valokuvan, äänen ja asiakirjan lähettäminen. Joten kun sanot tietyn komennon, se vastaa tietyllä toiminnolla, komento ja toiminto on lueteltu alla olevassa taulukossa
Komento sähkeeltä |
Vastaus: Raspberry Pi |
/Hei |
Vastaa merkkijonolla “Hi! CircuitDigest ” |
/aika |
Vastaa nykyiseen aikaan |
/logo |
Vastaukset kuvalla (CircuitDigestin logo) |
/ tiedosto |
Vastaukset tiedostolla (joka sisältää nykyisen ohjelman) |
/audio |
Vastaukset demo-äänitiedostolla |
Täydellinen ohjelma tehdä edellä mainitut toimet annetaan alareunassa tämän sivun. Mutta juuri alla, olen selittänyt tärkeät katkelmat ohjelmassa auttaaksesi sinua ymmärtämään, miten ohjelma toimii.
Ensimmäinen askel on tuoda kaikki kirjastot, tässä tarvitsemme tietysti teleporttikirjaston, jotta voimme käyttää Telegram-bottia. Hyödynnämme myös aika-, ajastettu-kirjastoa lukeaksesi vadelma-ajan nykyisen ajan. Sitten luomme objektin, johon arvo on tallennettu.
tuonti aika, päivämäärä tuoda telepotti telepotista. loop tuoda MessageLoop nyt = datetime.datetime.now ()
Seuraava vaihe on luoda toiminto toimintojen suorittamiseksi Telegram-sovelluksen mobiililaitteella saapuvien komentojen perusteella. Tässä toiminnon nimi on toiminto. Tämän toiminnon sisällä botti herää eloon. Botti ei voi aloittaa keskustelua yksin, se voi vastata vain, jos pyydämme jotain. Joten joka kerta kun kysymme jotain, tulee chat-tunnus. Tämä chat-tunnus on jotain samankaltaista kuin osoite, vain tämän chat-tunnuksen avulla botti voi vastata meille. Joten ensimmäinen askel on lukea chat-tunnus ja viesti, jonka se yrittää sanoa meille. Tulostamme myös vastaanotetun viestin virheenkorjausta varten.
def action (msg): chat_id = msg command = msg print 'Vastaanotettu:% s'% -komento
Toiminnon sisällä verrataan komentoa ennalta määritettyyn tekstiin ja suoritetaan tiettyjä tehtäviä. Tämä ensimmäinen komento on / hi , johon vastaamme “Hei! CircuitDigest ”
jos komento == '/ hi': sähke_bot.sendMessage (chat_id, str ("Hei! CircuitDigest"))
Seuraava komento on / time , johon vastaamme nykyisen ajan. Meillä on jo aika ja päivämäärä nyt, jaa se yksinkertaisesti tuntien ja minuuttien perusteella ja lisää se str- funktiona.
elif-komento == '/ time': sähkeen_robot.lähetä viesti (chat_id, str (nyt.tunti) + str (":") + str (nyt.minute))
Seuraava komento on / logo , johon botti hakee kuvan URL-osoitteesta ja lähettää sen meille. Kuva voidaan lähettää joko URL-osoitteesta tai kiintolevyltä. Tässä olen juuri käyttänyt URL-osoitetta, joka näyttää CircuitDigestin logon.
elif-komento == '/ logo': sähke_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
Seuraava komento on / file , joka lähettää tiedoston nimeltä Aisha.py kiintolevyltä. Voit lähettää haluamasi tiedoston muuttamalla hakemiston osoitetta
elif-komento == '/ tiedosto': sähkeen_bot.sendDocument (chat_id, asiakirja = avoin ('/ home / pi / Aisha.py'))
Viimeinen komento on / audio . Tämä voi lähettää minkä tahansa mp3-tiedoston kiintolevyltä, olen juuri käyttänyt demona täällä äänitiedostoa nimeltä test.mp3
elif-komento == '/ audio': sähkeen_robot.sendAudio (chat_id, ääni = avoin ('/ home / pi / test.mp3'))
Okei on nyt tärkein askel, tässä annamme pääsyn Telegram-botillemme Python-komentosarjaan. Tässä nimetään botti telegram_botiksi ja osoitetaan sille tunnisteosoite, jonka botti-isämme antoi vaiheessa 3. Alla olevalla rivillä olen poistanut tunnukseni muutaman viimeisen numeron yksityisyyden vuoksi. Käytämme myös tulosta saada minut näyttämään Botin yksityiskohdat kuoritusnäytöllä, mikä auttaa meitä huomaamaan asioiden toimivuuden.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') tulosta (telegram_bot.getMe ())
Toivottavasti ymmärrät ohjelman toiminnan, siirtykäämme nyt seuraavaan vaiheeseen.
Vaihe 6: Ohjelman suorittaminen Raspberry Pi -laitteellasi
Kuten aiemmin mainittiin, koko ohjelma on tämän sivun lopussa, voit myös ladata saman täältä. Kun avaat koodin, muista vaihtaa ohjelman tunnusosoite tunnussoitteeksi.
Suorita nyt python-koodi ja sinun pitäisi nähdä botin tiedot kuori-ikkunassa näin
Tässä bottini käyttäjänimi on circuitdigestBot. Jos saat bottien nimen täältä, se tarkoittaa, että kaikki menee hyvin.
Kun näet " käynnissä ", se tarkoittaa, että botti on valmis toimintaan ja voi nyt vastata komentoihisi.
Vaihe 7: Nauti tuotoksesta
Nyt on jäljellä vain tarkistaa, kuinka hyvin botti reagoi ohjelmaasi. Etsi botin nimeä minun tapauksessani se on “circuitdigestBot”. Etsi käyttäjätunnusta eikä botin nimeä, käyttäjänimesi tulisi päättyä botilla.
Kun olet avannut botin, napsauta Käynnistä-painiketta ja kirjoita kaikki komennot, kuten / hi, / time, / file, / logo tai / audio, ja sinulle pitäisi vastata vastaavasti.
Voit käyttää komentosarjakomentosarjaa nähdäksesi, mihin komentosarjasi parhaillaan vastaa. Koko työ löytyy tämän sivun lopussa olevasta videosta.
Vaihe 8: Anna minulle viisikko
Toivottavasti ymmärrät opetusohjelman ja pystyt nyt luomaan tämän Raspberry pi -sähtörobotin ja kommunikoimaan Raspberry Pi: n kanssa Telegram App -sovelluksen avulla. Valitettavasti! Jos sinulla on ongelmia, ilmoita siitä minulle kommenttiosion kautta ja yritän ottaa sinuun yhteyttä. Kerro minulle myös, kuinka pidit tästä projektista tai mitä haluaisit minun rakentavan käyttämällä tätä tulevissa projekteissa.
Myös seuraavassa opetusohjelmassa. Teemme tästä tyylikkäämmästä muuttamalla komentojen lähetystapaa ja jotain muuta, joka liittyy enemmän laitteistoon Raspberry Pi: ssä.