Usare un bot Telegram per ricevere dati da un canale Thingspeak

        

    Usare un bot Telegram per ricevere dati da un canale Thingspeak

           
       

    Python + Botfather telegram

    Usare un bot Telegram per ricevere dati da un canale Thingspeak





    Ultimamente mi sono cimentato in Telegram e le sue vastissime funzioni, tra cui, quella molto interessante dei bot.
    Avendo in precedenza collegato un Arduino UNO ad un canale Thingspeak, avrei voluto creare uno script per programmare un bot Telegram sul mio RPI Zero che fosse in grado di rispondere ad alcuni semplici comandi.
    Non essendoci alcuna guida (o che almeno io abbia trovato) ho deciso di pubblicarla qui.

    SI ASSUME:

    • Che tu abbia un canale personale o pubblico di Thingspeak la quale ricavare i dati
    • Che tu abbia una macchina sulla quale far girare Python 3.6 Es. RPI

    Cosa Serve: 

    • Telegram ed un bot creato su di essi
    • Raspberry Pi 
    • Thingspeak account

    Per creare n bot bisogna innanzitutto aggiungere @BotFather e creare un bot inviando il comando /newbot, una volta inserito tutti i dati richiesti vi sarà inviato un messaggio con su scritto il token del bot, copiatelo che servirà più tardi.


    Per una guida più dettagliata sulla creazione del bot cliccate qui


    Botfather telegram

    Scriviamo lo script

    Essendo Telegram open source è possibile accedere alle API da questo link.
    Ci sono molti moduli in giro in grado di facilitare tutto il lavoro, in questo caso mi è corso in aiuto Telepot (Github o Sito Ufficiale), questa fantastica libreria rende molto facile la creazione di un bot.

    Passiamo al Codice:



    Non mi prolungo sulla spiegazione in quanto ho tentato di fare il mio meglio cercando di tenere lo script il più ristretto e di commentarlo il più possibile.

    Una volta copiato lo script e salvato in un file con estensione .py apritelo con IDLE inserendo il vostro token ed il link ad un canale thingspeak ed ovviamente modificare il vostro menu inline , salvatelo ed avviatelo in una Python Shell.


    Bot telegram final


    Conclusioni


    Le possibilità sono infinite con i bot di telegram una ricerca su Google vi riporterà a tutti i moduli disponibili per la creazione di un bot su telegram.

    Al solo script qui su potremmo aggiungere diverse funzioni automatiche a seconda dei dati o qualsiasi cosa ti venga in mente.


     Lo so non è il massimo ma funziona!

    Spero vi sia piaciuto il post e se avete qualche domanda lasciatemi un commento , alla prossima!


    E Non Dimenticare Di Iscriverti!😇



    un noob come me





    Commenti

    1. non capisco come mai ma ho per questa linea
      if(query_data == 'temp'):
      bot.sendMessage(from_id, text='La Temperatura è di:' + data['feeds'][0]['field1'] + '°C')
      il seguente errore:
      SyntaxError: Non-ASCII character '\xc3' in file test.py on line 27, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
      hai qualche idea? grazie :)

      RispondiElimina
      Risposte
      1. Ciao Erich,

        In alto nel tuo file test.py prima degli import prova ad inserire

        # coding=utf-8

        Questo dovrebbe risolvere il problema.

        Fammi sapere!

        Elimina

    Posta un commento

    Potrebbe interessarti anche:

    Mostrare Temperatura & Umidità su uno schermo OLED 128x64 pi

    Controllare un Relay con Arduino in base alla temperatura

    Stazione Meteo Fatta in casa Con Arduino

    Translate