Raspberry Pi har alltid vært morsom og enkel å bygge prosjekter. Den kraftige ARM-arkitekturen og open source Linux-baserte operativsystemet har hjulpet oss mye med å få prosjektene våre online på kort tid. I denne opplæringen lærer vi en annen interessant måte å dele data (filer / bilder / videoer / lyd / tekst) mellom Raspberry Pi og mobiltelefonen vår gjennom et populært chat-program kalt Telegram.
For de som er nye i Telegram, er det en chatbasert applikasjon tilgjengelig i spillbutikken for Android (også tilgjengelig for Iphone og windows) som ligner veldig på Whatsapp. Den har over 100 millioner nedlastinger (som på 5-10-2017) på play store, og folk hevder at den er raskere og mer funksjonell enn Whatsapp (fingrene krysset). En spesiell funksjon ved dette programmet er at de støtter roboter. Betydningen av dette smarttelefonapplikasjonen kan ikke bare brukes av mennesker, men også av maskinen. I vårt tilfelle vil maskinen være Raspberry Pi. Når du har trent Raspberry Pi om hvordan du fungerer som en bot, kan alle (hvis du gjør det offentlig) chatte med Raspberry Pi som å chatte med en vanlig person og til og med dele bilder Bilder dokumenter og lydfiler. Du kan til og med trene det til å være din egen personlige assistent, høres kult ut, ikke sant? La oss lære å bygge enBringebær pi telegram bot.
Nødvendige materialer:
- Enhver Raspberry Pi koblet til Internett
- En mobil som kjører Telegram Application.
Det er ikke mye maskinvare involvert i dette prosjektet, så slapp av på stolen din med Pi og følg trinnene nedenfor. Hvis du er ny på Raspberry Pi, følg vår Raspberry Pi Introduksjonsartikkel og andre Raspberry Pi-veiledninger.
Trinn 1: Installere Telegram på mobilen din
Det første trinnet ville være å installere Telegram på mobilen din. Telegram er tilgjengelig for Android, IOS og til og med for Windows-plattformen, så bare fortsett og last ned Telegram-applikasjonen. Akkurat som alle applikasjoner vil det være en liten registreringsprosedyre for å begynne å bruke Telegram, fortsett med den til du kommer til startskjermen.
Trinn 2: Snakk med Bot-faren
Det neste trinnet ville være å be Botefaren om å lage oss en ny Bot. Øverst til høyre på startskjermen vil det være et søkeikon, klikk på det for å søke etter navnet "botfather". Botfather er en Bot i seg selv, den vil lede deg til å lage en ny bot for deg. Klikk på start og velg / newbot som vist på bildet nedenfor. Nå vil boten be om få detaljer som navnet på boten din og brukernavnet til boten. Fyll ut disse detaljene og husk brukernavnet, for vi trenger det i fremtiden.
Steg 3: Få symbolet ditt for tilgang
Jeg har kalt bot som circuitdigest og brukernavnet som circuitdigestBot. Etter denne prosessen vil faren gi deg et token for tilgang. Dette er som passordet for boten din, folk kan kontrollere programvaren din ved hjelp av denne tokenøkkelen. Så hold det trygt og ikke del det med noen. Når du har mottatt denne tokenøkkelen, er det på tide å gå videre til Raspberry Pi.
Trinn 4: Telepot for installasjon av Telegram på Raspberry Pi
Å bruke Telegram Bot i Raspberry Pi er mulig med pythonpakken kalt Telepot. Vi må installere denne pakken på Raspberry Pi ved å bruke følgende kommandoer på Lx-terminalen
sudo apt-get install python-pip sudo pip installer telepot
Når Telepot er importert til Raspberry, kan vi bruke denne pakken i vårt pythonprogram for å kommunisere med Telegram Bot.
Trinn 5: Programmering av Raspberry Pi
Boten vi nettopp opprettet på Telegram er akkurat som en baby, den kan ikke gjøre noe alene, med mindre vi lærer den hva og hvordan du gjør ting. Denne undervisningen kan gjøres gjennom Raspberry Pi og Python-skript. I denne opplæringen har jeg programmert boten til å utføre noen grunnleggende handlinger som å sende en melding, foto, lyd og dokument. Så når du sier en bestemt kommando, vil den svare med en bestemt handling, kommandoen og handlingen er oppført i tabellen nedenfor
Kommando fra Telegram |
Svar fra Raspberry Pi |
/ hei |
Svar med streng “Hei! CircuitDigest ” |
/tid |
Svar med gjeldende tid |
/ logo |
Svar med et bilde (logo for CircuitDigest) |
/fil |
Svar med en fil (som inneholder gjeldende program) |
/ lyd |
Svar med en demo-lydfil |
Hele programmet for å utføre handlingene ovenfor er gitt nederst på denne siden. Men rett nedenfor har jeg forklart de viktige kodene i programmet for å hjelpe deg med å forstå hvordan programmet fungerer.
Det første trinnet er å importere alle bibliotekene, her trenger vi åpenbart teleportbiblioteket for å bruke Telegram-bot. Vi bruker også tidsbiblioteket til å lese gjeldende tid for Raspberry pi. Så lager vi et objekt nå hvor verdien er lagret.
importtid, datetime importerer telepot fra telepot.loop importerer MessageLoop nå = datetime.datetime.now ()
Det neste trinnet er å lage en funksjon for å utføre handlinger basert på innkommende kommandoer fra Telegram-appen på Mobile. Her er funksjonens navn handling. Det er inne i denne funksjonen der boten blir levende. Vår bot kan ikke starte en samtale alene, den kan bare svare hvis vi spør om noe. Så hver gang vi spør om noe, vil det være chat-ID. Denne chat-ID-en er noe som ligner på en adresse. Bare ved å bruke denne chat-ID-en kan en bot svare på oss. Så det første trinnet er å lese chat-ID-en og meldingen den prøver å si til oss. Vi skriver også ut den mottatte meldingen for feilsøking.
def handling (msg): chat_id = msg command = msg print 'Mottatt:% s'% kommando
Lenger nede i funksjonen sammenligner vi denne kommandoen med en forhåndsdefinert tekst og utfører bestemte oppgaver. Denne første kommandoen vil være / hei som vi svarer “Hei! CircuitDigest ”
hvis kommando == '/ hei': telegram_bot.sendMessage (chat_id, str ("Hei! CircuitDigest"))
Neste kommando vil være / tid , som vi svarer på gjeldende tid. Vi har allerede tid og dato nå, her er det bare å dele den basert på time og minutt og legge den til som ved hjelp av str- funksjonen.
elif-kommando == '/ tid': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
Neste kommando vil være / logo , som boten henter et bilde fra en url og sender det til oss. Et bilde kan sendes enten fra en URL eller fra harddisken. Her har jeg nettopp brukt URL-en som viser logoen til CircuitDigest.
elif-kommando == '/ logo': telegram_bot.sendPhoto (chat_id, foto = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
Den neste kommandoen vil være / file , som sender filen Aisha.py fra harddisken. Du kan sende hvilken som helst fil du ønsker ved å endre adressen til katalogen
elif-kommando == '/ fil': telegram_bot.sendDocument (chat_id, document = open ('/ home / pi / Aisha.py'))
Den siste kommandoen vil være / lyd . Dette kan sende hvilken som helst mp3-fil fra harddisken, jeg har nettopp brukt en lydfil kalt test.mp3 som en demo her
elif-kommando == '/ lyd': telegram_bot.sendAudio (chat_id, lyd = åpen ('/ home / pi / test.mp3'))
Ok, nå kommer det viktigste trinnet, det er her vi gir tilgang til vår Telegram-bot til Python-skriptet. Her navngir vi bot som telegram_bot og tildeler den tokenadressen som ble gitt av vår botfar i trinn 3. I linjen nedenfor har jeg fjernet de siste sifrene i symbolet mitt som et spørsmål om personvern. Vi bruker også utskriften for å få detaljene til Bot på skjermskjermen, dette vil hjelpe oss med å legge merke til at ting fungerer.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') skriv ut (telegram_bot.getMe ())
Håper du forsto hvordan programmet fungerer, la oss nå gå videre til neste trinn.
Trinn 6: Kjører programmet i Raspberry Pi
Som sagt tidligere er hele programmet gitt på slutten av denne siden, du kan også laste ned det samme herfra. Når du har åpnet koden, må du sørge for å endre token-adressen til programmet til din token-adresse.
Kjør nå pythonkoden, og du bør se detaljene til boten din i skallvinduet slik
Her er bot-brukernavnet mitt circuitdigestBot. Hvis du får botsnavnet ditt her, betyr det at alt går bra.
Når du ser " oppe og går " betyr det at du er klar til handling og kan nå svare på kommandoene dine.
Trinn 7: Kos deg med utdataene
Nå er det bare å sjekke hvor bra boten din svarer for programmet ditt. Søk etter botnavnet ditt i mitt tilfelle er det “circuitdigestBot”. Søk etter brukernavn og ikke eller Botnavn, ditt brukernavn skal ende med bot.
Når du har åpnet boten, klikker du på start og skriver inn eventuelle kommandoer som / hei, / tid, / fil, / logo eller / lyd, og du bør bli svart tilsvarende.
Du kan bruke skallskriptet for å se hva skriptet ditt svarer på for øyeblikket. Komplett arbeid finner du i videoen som er gitt på slutten av denne siden.
Trinn 8: Gi meg en High Five
Håper du har forstått opplæringen, og nå kan lage denne Raspberry pi telegram bot og kommunisere med Raspberry Pi ved hjelp av Telegram App. Akk! Hvis du har noen problemer, gi meg beskjed gjennom kommentarseksjonen, og jeg vil prøve å komme tilbake til deg. Gi meg også beskjed om hvordan du likte dette prosjektet, eller hva du vil at jeg skal bygge ved hjelp av dette i kommende prosjekter.
Også i vår neste opplæring. Vi vil få dette til å se kulere ut ved å endre måten vi sender kommandoer på og til noe mer relatert til maskinvare på Raspberry Pi.