树莓派 – 通知新电子邮件和日历约会

Hace tiempo que quería pasaros un par de scripts que suelo usar para que una Raspberry Pi que tengo conectada a un altavoz me hable; en este documento únicamente veremos cómo configurar la Pi para que nos hable por el altavoz y nos diga si hemos recibido algún correo electrónico, y si es así nos indicará el remitente y el asunto del correo; así como si tenemos alguna cita en el calendario en los próximos 5 纪要, nos lo recordará por el altavoz!

Raspberry Calendario Mail 01 布哈拉

 

Convirtiendo el texto en voz,

Empezamos montando el sistema que nos hablará, mediante un conversor de texto a voz, un Text-to-Speech (TTS) usaremos el sintetizador de voz ‘festival’, lo instalaremos en nuestra Raspberry Pi, que es compatible con cualquier idioma, posteriormente nos bajaremos los dífonos en castellano desde la forja de guadalinex, tendremos dos voces, una femenina (Silvia) y otra masculina (Pedro), cada cual que use la que más le guste 😉

 

Instalamos festival en nuestras Raspberry Pi:

[源码语言=”平原”]sudo apt-get -y install festival[/源代码]

Si queremos usar&放大 器;中文;la salida 3,5 del jack de audio para el sonido en vez del HDMI ejecutaremos:

[源码语言=”平原”]amixer cset numid=3 1[/源代码]

 

Será interesante poner bien el volumen que queremos oir, 我们记录更改:

[源码语言=”平原”]alsamixer
sudo alsactl store[/源代码]

 

不错, ahora descargaremos los idiomas que nos interesen, poner el que queráis, os dejo en orden primero voz femenina y el otro la masculina. Además los instalamos e indicamos en el fichero de configuración cual usar:

[源码语言=”平原”]
wget https://github.com/guadalinex-archive/hispavoces/raw/master/packages/festvox-sflpc16k_1.0-1_all.deb
wget https://github.com/guadalinex-archive/hispavoces/raw/master/packages/festvox-palpc16k_1.0-1_all.deb
sudo dpkg -i festvox-sflpc16k_1.0-1_all.deb
sudo dpkg -i festvox-palpc16k_1.0-1_all.deb
sudo vim /etc/festival.scm [/源代码]

 

Al final añadimos la que nos interese, y comentamos las demás:

[源码语言=”平原”];(set! voice_default ‘voice_JuntaDeAndalucia_es_pa_diphone)
(set! voice_default ‘voice_JuntaDeAndalucia_es_sf_diphone)[/源代码]

 

Y ya podremos probar a convertir un texto en audio con:

[源码语言=”平原”]echo Hola manolo que tal estas | festival –TTS[/源代码]

 

如果我们感兴趣, podremos generar un script que al ejecutarlo con un parámetro nos lea dicho parámetro, más útil para luego llamarlo desde otros scripts, en mi caso le llamotextoAvoz.sh’:

[源码语言=”平原”]回波 $1 | festival –TTS[/源代码]

 

Leer calendario desde la Raspberry Pi,

Si queremos leer nuestro calendario, la mejor experiencia la he tenido con ‘gcalcli’, ya que se puede gestionar cualquier calendario, podremos agregar tantos calendarios a nuestra cuenta de Gmail que nos interesen, sean de nuestros Exchange u otros sistemas, así como suscribirnos a calendarios que nos interesen

 

Instalamos gcalcli o Google Calendar Command Line Interface:

[源码语言=”平原”]sudo apt-get install git python-pip python-gdata python-dateutil python-gflags python-vobject python-parsedatetime
sudo pip install gcalcli[/源代码]

 

安装后, ejecutaremos el siguiente comando para obtener la URL que nos permita obtener el código de activación y darle permisos en nuestra cuenta de Gmail. Ejecutamos el siguiente comando y abrimos la URL en un navegador, pegaremos el código y listo!

[源码语言=”平原”]gcalcli listnoauth_local_webserver[/源代码]

 

Probamos a ver si vemos los calendarios de nuestra cuenta:

[源码语言=”平原”]gcalcli list[/源代码]

 

Y probamos a que nos muestre si tenemos eventos en los próximos 15 纪要:

[源码语言=”平原”]gcalcli remind 15 ‘echo %s'[/源代码]

 

Creamos el siguiente scriptlee_calendario.sh’ 并使其可执行:

[源码语言=”平原”]
#!/bin/bash

CITA=`/usr/local/bin/gcalcli remind 4 ‘echo %s’ –cal=Personal`
echo $CITA

如果 [ "$CITA" == "" ]; 然后
echo "No hay citas"

echo "Hay citas"
HORA=$(cut -c-7 &放大 器;中尉;&放大 器;中尉;&放大 器;中尉; "$CITA")
echo $HORA
ASUNTO=${CITA:7:1000}
FRASE1="Hector, en cinco minutos, 在 "
FRASE2=" acuerdate de "
FRASE="$FRASE1 $HORA $FRASE2 $ASUNTO"
echo $FRASE
echo $FRASE | /usr/bin/festival –TTS
fi
[/源代码]

我们试图执行它!

[源码语言=”平原”]./lee_calendario.sh[/源代码]

Lo ponemos en crontab para que se ejecute cada 5 minutos y listo!

[源码语言=”平原”]*/5 * * * * /home/pi/lee_calendario.sh[/源代码]

Leer el mail desde la Raspberry Pi,

Con este sencillo script de python podremos obtener los mails no leidos mediante una conexión IMAP a nuestro servidor de correo, nos leerá el remitente y el asunto de cada correo. Creamos el archivo ‘lee_mail.py’:

[源码语言=”平原”]
import imaplib
from email.header import decode_header

mail = imaplib.IMAP4_SSL(‘FQDN_SERVIDOR_CORREO’)
mail.login(‘USUARIO@DOMINIO’, ‘CONTRASEÑA’)
mail.select(‘INBOX’, readonly=True)
typ, new = mail.search(没有, "UNSEEN")
new = new[0].分裂()

如果 Len(新增功能) > 1:
Mails = ‘Tienes ‘ + str(莱恩(新增功能)) + ‘ correos nuevos
Import 子流程
subprocess.call 调用(["/home/pi/textoAvoz.sh", Mails])
elif len(新增功能) == 1:
Mails = ‘Tienes un correo nuevo
Import 子流程
subprocess.call 调用(["/home/pi/textoAvoz.sh", Mails])

如果 (莱恩(新增功能) > 0):
res = list()
res1 = list()
for msg in new:
typ, data = mail.fetch(味精, ‘(BODY[HEADER.FIELDS (SUBJECT)])’) # 从, 日期, 等
data = data[0][1].strip()
decoded = decode_header(日期[9:])[0] # "Subject: " is 9 characters long
text = decoded[0].取代("\r\n", "")
如果 (decoded[1] != None):
text = unicode(发短信, decoded[1])
res.append(text.encode(‘utf-8’))

typ, data1 = mail.fetch(味精, ‘(BODY[HEADER.FIELDS (从)])’) # 从, 日期, 等
data1 = data1[0][1].strip()
Arroba = data1.index(‘<‘)
decoded1 = decode_header(data1[6:Arroba-1])[0] # "Subject: " is 9 characters long
text1 = decoded1[0].取代(‘"’, "")
如果 (decoded1[1] != None):
text1 = unicode(text1, decoded1[1])
res1.append(text1.encode(‘utf-8’))
text1 = unicode(text1)
text = unicode(发短信)
import unicodedata
text1output = unicodedata.normalize(‘NFKD’, text1).encode(‘ascii’,’ignore’)
textoutput = unicodedata.normalize(‘NFKD’, 发短信).encode(‘ascii’,’ignore’)
Texto = ‘"Correo de ‘ + text1output + ‘, con asunto: ‘ + textoutput + ‘"
打印 (发短信)
Import 子流程
subprocess.call 调用(["/home/pi/textoAvoz.sh", 发短信])
[/源代码]

Recordamos hacerlo ejecutable, ponerlo en el cron igualmente si nos interesa con la programación que nos interese.

Fácil y sencillo cómo saber si tenemos citas en el calendario o mails y queremos que una dulce voz nos lo indique! 我希望你喜欢它!

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!

Citrix NetScaler 统一网关

24 的 May de 2016