Come ben sappiamo il mondo Raspberry permette di creare una moltitudine di progetti interessati (compreso bot telegram). Rispetto ad Arduino con Raspberry è possibile realizzare interfacce di invio dati tramite App su smartphone e PC in quanto l’instaurarsi di una connessione a internet è più semplice rispetto alla board Arduino dal momento che non vi è la necessità di utilizzare shield o componenti particolari per connettersi al proprio router-modem poiché il modulo per la connessione wifi è integrato negli ultimi modelli di Raspberry.
In questo articolo vedremo come scattare delle fotografie o registrare dei video utilizzando un Bot Telegram e una Raspberry Pi Cam.
Secondo la definizione classica data al termine Bot (abbreviazione di robot), esso è un codice di programmazione che permette di automatizzare un servizio e di dialogare con utenti reali, tramite chat, senza che dall’altro lato ci sia un essere umano. Un Bot, infatti, permette di programmare input di messaggi che possono aiutare coloro che fanno parte di questi gruppi o canali.
I materiali da utilizzare sono i seguenti:
- Raspberry Pi
- Pi camera
- Tastiera
- Mouse
- Monitor
- Telegram
- Connessione a internet
INSTALLAZIONI PRELIMINARI
ATTENZIONE: questa procedura è valida solo per la Raspberry Pi Camera, non funzionerà con una webcam USB
Apri il terminale.
Per sicurezza effettuiamo un update:
1 2 |
sudo apt-get update sudo apt-get upgrade |
Per l’implementazione del bot occorre una specifica libreria. Per installare questa libreria basta eseguire il comando.
pip install telepot
INSTALLAZIONE RASPBERRY PI CAMERA
Ho scritto una guida approfondito a riguardo, per leggerla potete utilizzare il seguente link: Come installare e configurare la Raspberry Pi Camera
Creazione bot
Il primo passo consiste nell’aprire l’applicazione telegram. Una volta aperta cerchiamo “BotFather” tramite la funzione cerca cliccando sull’apposita lente di ingrandimento.
“BotFather” è un bot che permette di creare altri bot.
Avviamo il bot scrivendo “/start“, poi premiamo invio.
Per creare un nuovo bot digitiamo “/newbot”.
BotFather ci chiederà di assegnare un nome al nostro nuovo Bot, basta digitare un qualsiasi nome e poi premere Invio.
Dobbiamo anche inserire un username che lo renderà riconoscibile pubblicamente. Username deve terminare in “Bot” o ” _bot”.
In seguito alla assegnazione del nome e dell’username BotFather ci comunicherà informazioni importanti in seguito per compilare il codice per il funzionamento della camera e dell’invio dati. ATTENZIONE: QUESTE INFOMAZIONI LE DOVREMMO TENERE SOLO PER NOI. La prima parte riguarda il percorso per trovare il nostro bot. La seconda è la API che sarà utilizzato nel nostro codice.
CODICE PYTHON
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
#!/usr/bin/python import time import telepot import picamera def handle(msg): chat_id = msg['chat']['id'] command = msg['text'] print ('Got command: %s' % command) if command == '/uptime': var1 = commands.getoutput("uptime") bot.sendMessage(chat_id,var1) elif command == '/start': bot.sendMessage(chat_id,"Ciao, bentornato. Digita /connesso per sapere se è tutto ok. Digita /foto o /video per ricevere foto o video") elif command == '/connesso': bot.sendMessage(chat_id,"Camera connessa") #scatto foto elif command == '/foto': bot.sendMessage(chat_id,"Ciao eccoti la foto") camera=picamera.PiCamera() camera.capture('./capture.jpg') camera.close() # Invia foto alla chat bot.sendPhoto(chat_id=chat_id, photo=open('./capture.jpg', 'rb')) elif command == '/video': bot.sendMessage(chat_id,"A breve arrivera il video") camera= picamera.PiCamera() camera.start_recording('video.h264') time.sleep(5) camera.stop_recording() # invia video alla chat bot.sendVideo(chat_id=chat_id, video=open('video.h264', 'rb')) #sostituisci la tua api key bot = telepot.Bot('yourapikey') print ('Sono pronto…') while 1: time.sleep(10) #ho preso spunto da uno script di Alfonso D’Ambrosio: http://www.lafucinadellescienze.it/wordpress/archives/4300 |
Esegui il codice e sarai pronto ad interagire con il bot. vediamo un video del funzionamento.
Iscriviti ai nostri gruppi Telegram
Link utili
- Arduino UNO R3
- Elegoo UNO R3
- Arduino Starter Kit per principianti
- Elegoo Advanced Starter Kit
- Arduino Nano