Buildroot, Telegram e FOX Board G20

In questo articolo viene descritto come realizzare un hardware bot Telegram utilizzando Python, Linux, Buildroot e una FOX Board G20

Procedura rapida partendo dai file compilati

Tempo richiesto: Circa 10 minuti

Per seguire questa pocedura occorre:

  • Una microSD da almeno 1GB
  • Una macchina Linux Ubuntu con Gparted installato

Formattare la microSD con due partizzioni fat32 e ext4 come descritto in questo articolo:

Creare una directory nella vostra home directory e copiarci detro i seguenti files:

Montare la microSD quindi dare i i seguenti comandi all'interno della directory appena creata:

tar -xvjpSf boot.tar.bz2 -C /media/$USER/boot 
sudo tar -xvjpSf rootfs.tar.bz2 -C /media/$USER/rootfs 

Smontare la microSD e provare a fare il boot sulla FOX

Nella directory /root c'e' il programma apricancello.py basta cambiare il token nel sorgente con il token del vostro bot per provarlo.

Procedura passo passo partendo dai sorgenti

Tempo richiesto: Circa 2 ore

Preparare il Kernel e la rootfs seguendo questi due tutorial ad eccezione del lancio del comando make di Buildroot che faremo alla fine in modo da poter inserire prima tutti i pacchetti necessari.

Copiare questo file nella directory buildroot-2016.02/configs facendo eventualmente un backup della versione originale.

Aggiungere alla distribuzione Buildrooot standard il pacchetto Python-telegram-bot creando in buildroot-2016.02/package la directory python-telegram-bot e copiandoci dentro questi files:

Aggiungere anche il pacchetto Python-future richiesto da Python-telegram-bot creando nella directory buildroot-2016.02/package la directory python-future e copiandoci dentro i files:

Modificare il file package/config.in aggiungendo le seguenti righe in grassetto:

    source "package/python-flup/Config.in"
    source "package/python-future/Config.in"
    source "package/python-gobject/Config.in"
    source "package/python-spidev/Config.in"
    source "package/python-telegram-bot/Config.in"
    source "package/python-thrift/Config.in"

Lanciare il comando make di Buildroot, copiare i file nella microSD e fare il boot con il cavo di rete collegato ad un router in grado di accedere ad Internet.

Copiare il programma di prova echobot2.py sulla microSD.

Creare un Bot con BotFather e sostiturlo nella riga 51 del sorgente Python al posto di TOKEN.

# Create the EventHandler and pass it your bot's token.
    updater = Updater("TOKEN")