Raspberry Pi – Anmelde neue E-Mails und Kalendertermine

Pasaros ist seit langem ein paar Skripte wollte, dass ich für einen Raspberry Pi verwenden, die an einen Lautsprecher mit mir reden angeschlossen haben; nur in diesem Dokument wird beschrieben, wie das Pi eingestellt für uns für den Sprecher und sagen Sie uns zu sprechen, wenn wir eine E-Mail erhalten haben,, und wenn ja, wird der Absender angeben und die E-Mail-Betreff; und wenn wir einen Termin auf dem Kalender in den nächsten 5 Minuten, wir werden für die Lautsprecher erinnern!

Raspberry Calendario Post 01 Bujar

 

Umwandlung von Text in Sprache,

Wir begannen das System Reiten wird uns sagen,, mit einem Text-to-Speech, un Text-to-Speech (TTS) Wir werden die ‚Festival‘ Sprachsynthesizer verwenden, installieren Sie es in unserem Raspberry Pi, was es ist kompatibel mit jeder Sprache, dann werden wir die Diphone in Kastilisch von Schmieden Guadalinex nach unten gehen, wir haben zwei Stimmen, weiblich (Silvia) und ein anderes Männchen (Pedro), jeder verwendet den, den er am meisten mag 😉

 

Wir installieren Festival in unserem Raspberry Pi:

sudo apt-get -y install festival

Wenn wir wollen, verwenden&Ampere;nbsp;Ausfahrt 3,5 Audio-Buchse für Audio statt HDMI ausführen:

amixer cset numid=3 1

 

Es wird interessant sein, das Volumen wir gut hören wollen setzen, und Satzänderungen:

alsamixer
sudo alsactl store

 

gut, jetzt wir entladen die Sprachen, die uns interessieren, Sie bitte setzen, Ich verlasse, um erste weibliche Stimme und ein Männchen. Darüber hinaus, die die installierten und angegeben in der Konfigurationsdatei verwenden:

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 

 

Am Ende fügen wir, dass uns interessiert, und diskutieren andere:

;(set! voice_default 'voice_JuntaDeAndalucia_es_pa_diphone)
(set! voice_default 'voice_JuntaDeAndalucia_es_sf_diphone)

 

Und wir können versuchen, Text in Audio zu konvertieren:

echo Hola manolo que tal estas | festival --tts

 

Wenn wir daran interessiert sind, Wir können ein Skript erzeugen mit einem Parameter führen wir die Parameter lesen, nützlicher und es dann von anderen Skripten aufrufen, in meinem Fall ich rufe ‘textoAvoz.sh‘:

echo $1 | festival --tts

 

Lesen Sie Kalender aus dem Raspberry Pi,

Wenn wir lesen Sie unseren Kalender, die beste Erfahrung, die ich mit ‚gcalcli‘ gehabt haben, da Sie einen Kalender verwalten, Wir können so viele Kalender in unserem Google Mail-Konto hinzufügen, die uns interessieren, sind unsere Exchange oder andere Systeme, und Kalender abonnieren, die uns interessieren…

 

Gcalcli installieren oder Google Kalender Command Line Interface:

sudo apt-get install git python-pip python-gdata python-dateutil python-gflags python-vobject python-parsedatetime
sudo pip install gcalcli

 

einmal installiert, Führen Sie den folgenden Befehl, um die URL zu erhalten, die uns den Aktivierungscode zu erhalten erlaubt und geben Berechtigungen auf Ihrem Google Mail-Konto. Wir führen Sie den folgenden Befehl ein und öffnen Sie die URL in einem Browser, klebt den Code und bereit!

gcalcli list --noauth_local_webserver

 

Wir haben versucht, zu sehen, ob wir unsere eigenen Kalender zu sehen:

gcalcli list

 

Und wir versuchen, uns zu zeigen, wenn wir Termine der nächsten haben 15 Minuten:

gcalcli remind 15 'echo %s'

 

Erstellen Sie das folgende Skript ‘lee_calendario.sh’ und wir tun es ausführbar:

#!/bin/bash

CITA=`/usr/local/bin/gcalcli remind 4 'echo %s' --cal=Personal`
echo $CITA

if [ "$CITA" == "" ]; then
 echo "No hay citas"
else
 echo "Hay citas"
 HORA=$(cut -c-7 <<< "$CITA")
 echo $HORA
 ASUNTO=${CITA:7:1000}
 FRASE1="Hector, en cinco minutos, a las "
 FRASE2=" acuerdate de "
 FRASE="$FRASE1 $HORA $FRASE2 $ASUNTO"
 echo $FRASE
 echo $FRASE | /usr/bin/festival --tts
fi

Und versuchte zu laufen!

./lee_calendario.sh

Wir haben es in crontab jeder laufen 5 Minuten und bereit!

*/5 * * * * /home/pi/lee_calendario.sh

Lesen Sie die E-Mail von dem Raspberry Pi,

Mit dieser einfachen Python-Skript können wir ungelesene Mails bekommen eine IMAP-Verbindung zu unserem Mail-Server, lesen wir den Absender und den Betreff jeder E-Mail. Wir haben die ‚lee_mail.py‘ Datei:

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(None, "UNSEEN")
new = new[0].split()

if len(new) > 1:
  Mails = 'Tienes ' + str(len(new)) + ' correos nuevos'
  import subprocess
  subprocess.call(["/home/pi/textoAvoz.sh", Mails])
elif len(new) == 1:
  Mails = 'Tienes un correo nuevo'
  import subprocess
  subprocess.call(["/home/pi/textoAvoz.sh", Mails])

if (len(new) > 0):
  res = list()
  res1 = list()
  for msg in new:
    typ, data = mail.fetch(msg, '(BODY[HEADER.FIELDS (SUBJECT)])') # FROM, DATE, etc
    data = data[0][1].strip()
    decoded = decode_header(data[9:])[0] # "Subject: " is 9 characters long
    text = decoded[0].replace("\r\n", "")
    if (decoded[1] != None):
      text = unicode(text, decoded[1])
    res.append(text.encode('utf-8'))

    typ, data1 = mail.fetch(msg, '(BODY[HEADER.FIELDS (FROM)])') # FROM, DATE, etc
    data1 = data1[0][1].strip()
    Arroba = data1.index('<')
    decoded1 = decode_header(data1[6:Arroba-1])[0] # "Subject: " is 9 characters long
    text1 = decoded1[0].replace('"', "")
    if (decoded1[1] != None):
      text1 = unicode(text1, decoded1[1])
    res1.append(text1.encode('utf-8'))
    text1 = unicode(text1)
    text = unicode(text)
    import unicodedata
    text1output = unicodedata.normalize('NFKD', text1).encode('ascii','ignore')
    textoutput = unicodedata.normalize('NFKD', text).encode('ascii','ignore')
    Texto = '"Correo de ' + text1output  + ', con asunto: ' + textoutput + '"'
    print (Texto)
    import subprocess
    subprocess.call(["/home/pi/textoAvoz.sh", Texto])

Denken Sie daran, es ausführbar zu machen, Cron setzen sie auch auf, wenn wir in die Programmierung wollen, die uns interessiert.

Leicht und einfach wie sagen, ob wir Termine oder E-Mails Kalender, und wir wollen eine süße Stimme sagt uns,! Ich hoffe, es gefällt euch!

Letzte Artikel von Hector Herrero (Alle anzeigen)