Raspberry Pi har alltid varit roligt och enkelt att bygga projekt. Dess kraftfulla ARM-arkitektur och open-source Linux-baserade operativsystem har hjälpt oss mycket att få våra projekt online på nolltid. I den här handledningen lär vi oss ett annat intressant sätt att dela data (filer / foton / videor / ljud / text) mellan Raspberry Pi och vår mobiltelefon via en populär chattapplikation som heter Telegram.
För dem som är nya inom Telegram är det en chattbaserad applikation tillgänglig i Play Store för Android (finns även för Iphone och Windows) som liknar Whatsapp. Den har över 100 miljoner nedladdningar (som 5-10-2017) i Play Store och folk hävdar att den är snabbare och mer funktionell än Whatsapp (korsade fingrar). En speciell egenskap hos denna applikation är att de stöder bots. Det betyder att denna smarta telefonapplikation inte bara kan användas av människor utan också av maskin. I vårt fall kommer maskinen att vara Raspberry Pi. När du tränat Raspberry Pi om hur du fungerar som en bot kan vem som helst (om du gör det offentligt) chatta med din Raspberry Pi som att chatta med vilken normal person som helst och till och med dela foton Bilder Dokument och ljudfiler. Du kan till och med träna det till att vara din egen personliga assistent, låter coolt, eller hur? Låt oss lära oss hur man bygger enHallon Pi telegram bot.
Material som krävs:
- Alla Raspberry Pi anslutna till Internet
- En mobil som kör Telegram Application.
Det är inte mycket maskinvara involverat i det här projektet, så koppla av på din stol med din Pi och följ stegen nedan. Om du är ny på Raspberry Pi följ sedan vår Raspberry Pi introduktionsartikel och andra Raspberry Pi-handledning.
Steg 1: Installera Telegram på din mobil
Det första steget skulle vara att installera Telegram på din mobil. Telegram är tillgängligt för Android, IOS och till och med för Windows-plattformen, så ladda bara ner din Telegram-applikation. Precis som alla applikationer kommer det att finnas ett litet registreringsprocedur för att börja använda Telegram, fortsätt med det tills du når din startskärm.
Steg 2: Prata med Botfar
Nästa steg skulle vara att be Bot-fadern att skapa oss en ny Bot. I det övre högra hörnet på hemskärmen finns en sökikon, klicka på den för att söka efter namnet "botfar". Botfather är en Bot i sig, den kommer att vägleda dig att skapa en ny bot åt dig. Klicka på start och välj / newbot som visas på bilden nedan. Nu kommer boten att be om få detaljer som namnet på din bot och användarnamnet på boten. Fyll i dessa uppgifter och kom ihåg användarnamnet för vi kommer att behöva det i framtiden.
Steg 3: Få din token för åtkomst
Jag har nämnt bot som circuitdigest och användarnamnet som circuitdigestBot. Efter denna process ger botfadern dig en Token för åtkomst. Det här är som lösenordet för din bot, människor kan styra programmera din bot med den här tokenyckeln. Så håll det säkert och dela det inte med någon. När du väl har fått denna token-nyckel är det dags att gå vidare till Raspberry Pi.
Steg 4: Telepot för installation av Telegram på Raspberry Pi
Att använda Telegram Bot i Raspberry Pi möjliggörs av pythonpaketet Telepot. Vi måste installera detta paket på Raspberry Pi med följande kommandon på Lx-terminalen
sudo apt-get install python-pip sudo pip installera telepot
När Telepot har importerats till Raspberry kan vi använda detta paket i vårt pythonprogram för att kommunicera med vår Telegram Bot.
Steg 5: Programmera din Raspberry Pi
Bot som vi just skapade på Telegram är precis som en bebis, den kan inte göra någonting ensam om vi inte lär den vad och hur man gör saker. Denna undervisning kan göras genom Raspberry Pi och Python-skript. I denna handledning har jag programmerat botten att utföra några grundläggande åtgärder som att skicka ett meddelande, Foto, Ljud och Dokument. Så när du säger ett visst kommando kommer det att svara med en viss åtgärd kommandot och åtgärden listas i tabellen nedan
Kommando från Telegram |
Svar från Raspberry Pi |
/Hej |
Svarar med en sträng “Hej! CircuitDigest ” |
/tid |
Svar med aktuell tid |
/logotyp |
Svar med en bild (logotyp för CircuitDigest) |
/fil |
Svar med en fil (som innehåller nuvarande program) |
/audio |
Svar med en demo-ljudfil |
Det fullständiga programmet för att göra ovanstående åtgärder ges längst ner på denna sida. Men strax nedanför har jag förklarat de viktiga utdragen i programmet för att hjälpa dig att förstå hur programmet fungerar.
Det första steget är att importera alla bibliotek, här behöver vi uppenbarligen teleportbiblioteket för att använda Telegram-botten. Vi använder också tidsbiblioteket för att läsa aktuell tid för Raspberry pi. Sedan skapar vi ett objekt nu där värdet lagras.
importera tid, datetime importera telepot från telepot.loop importera MessageLoop nu = datetime.datetime.now ()
Nästa steg är att skapa en funktion för att utföra åtgärder baserat på inkommande kommandon från Telegram-appen på mobil. Här är funktionens namn åtgärd. Det är inuti denna funktion där boten kommer till liv. Vår bot kan inte initiera en konversation på egen hand, den kan bara svara om vi frågar något. Så varje gång vi frågar något kommer det att finnas chatt-id. Detta chatt-id är något som liknar en adress, bara med hjälp av detta chatt-id kan en bot svara tillbaka till oss. Så det första steget är att läsa chatt-id och meddelandet som det försöker säga till oss. Vi skriver också ut det mottagna meddelandet för felsökningsändamål.
def action (msg): chat_id = msg command = msg print 'Mottaget:% s'% command
Längre ner i funktionen jämför vi kommandot med en fördefinierad text och utför vissa uppgifter. Detta första kommando kommer att vara / hej som vi svarar ”Hej! CircuitDigest ”
if command == '/ hi': telegram_bot.sendMessage (chat_id, str ("Hej! CircuitDigest"))
Nästa kommando kommer att vara / tid , som vi svarar på aktuell tid. Vi har redan tid och datum in nu, här dela det helt enkelt baserat på timme och minut och lägg till det som att använda str- funktionen.
elif-kommando == '/ tid': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
Nästa kommando är / logo , till vilken bot hämtar en bild från en webbadress och skickar den till oss. En bild kan skickas antingen från en URL eller från hårddisken. Här har jag just använt webbadressen som visar CircuitDigest-logotypen.
elif-kommando == '/ logo': telegram_bot.sendPhoto (chat_id, foto = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
Nästa kommando kommer att vara / fil , som skickar filen med namnet Aisha.py från hårddisken. Du kan skicka vilken fil du vill genom att ändra adress i katalogen
elif-kommando == '/ fil': telegram_bot.sendDocument (chat_id, document = open ('/ home / pi / Aisha.py'))
Det sista kommandot kommer att vara / ljud . Detta kan skicka vilken mp3-fil som helst från hårddisken, jag har precis använt en ljudfil som heter test.mp3 som en demo här
elif-kommando == '/ ljud': telegram_bot.sendAudio (chat_id, ljud = öppen ('/ home / pi / test.mp3'))
Okej nu kommer det viktigaste steget, det är här vi ger tillgång till vår Telegram-botten till Python-skriptet. Här namnger vi ut bot som telegram_bot och tilldelar den tokenadressen som gavs av vår botfar i steg 3. I raden nedan har jag tagit bort de sista siffrorna i min token som en fråga om integritet. Vi använder också utskriften för att få mig att visa detaljerna om Bot på skalskärmen, detta hjälper oss att märka att saker fungerar.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') skriv ut (telegram_bot.getMe ())
Hoppas att du förstod hur programmet fungerar, låt oss nu gå vidare till nästa steg.
Steg 6: Köra programmet i din Raspberry Pi
Som sagt tidigare ges hela programmet i slutet av denna sida, du kan också ladda ner detsamma härifrån. När du har öppnat koden måste du ändra programmets tokenadress till din tokenadress.
Kör nu pythonkoden och du bör se detaljerna om din bot i skalfönstret så här
Här är mitt botanvändarnamn circuitdigestBot. Om du får ditt bots namn här betyder det att allt går bra.
När du väl ser " igång " betyder det att din bot är redo för åtgärder och nu kan svara på dina kommandon.
Steg 7: Njut av utdata
Nu återstår bara att kontrollera hur bra din bot svarar för ditt program. Sök efter ditt botnamn i mitt fall är det “circuitdigestBot”. Sök efter användarnamn och inte eller Botnamn, ditt användarnamn ska sluta med bot.
När du har öppnat din bot klickar du på start och skriver in kommandon som / hi, / time, / file, / logo, eller / audio och du ska besvaras därefter.
Du kan använda skalskriptet för att se vad ditt skript just nu svarar på. Hela arbetet finns i videon i slutet av denna sida.
Steg 8: Ge mig en High Five
Hoppas att du förstod handledningen och nu kommer att kunna skapa denna Raspberry pi telegram bot och kommunicera med Raspberry Pi med Telegram App. Ack! Låt mig veta om du har några problem genom kommentarsektionen så kommer jag att försöka komma tillbaka till dig. Låt mig också veta hur du gillade det här projektet eller vad du vill att jag ska bygga med det här i kommande projekt.
Också i vår nästa handledning. Vi kommer att göra det här coolare genom att ändra hur vi skickar kommandon och till något mer relaterat till hårdvara på Raspberry Pi.