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!
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
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!
empfohlene Beiträge:
- Dashboards mit Crowdsec: Metabase oder Prometheus con Grafana - 31 von Januar von 2023
- Libro Windows Server 2022 in Spanisch - 27 von Januar von 2023
- Multi-Server-Umgebung mit Crowdsec - 24 von Januar von 2023