Sommario:

Leggi e-mail con Arduino e Wave Shield: 4 passaggi
Leggi e-mail con Arduino e Wave Shield: 4 passaggi

Video: Leggi e-mail con Arduino e Wave Shield: 4 passaggi

Video: Leggi e-mail con Arduino e Wave Shield: 4 passaggi
Video: Usare un sensore di pressione con Arduino e filtro a media mobile - Video 331 2024, Dicembre
Anonim
Leggi e-mail con Arduino e Wave Shield
Leggi e-mail con Arduino e Wave Shield

Come parte del mio progetto qui https://www.instructables.com/id/Sound-Switcher/ (quel progetto è in un contest quindi se ti piace vota per quello!) che usa un Arduino per interrompere una sorgente sonora esterna (cioè iPod) per farti sapere cosa succede intorno a te, ho anche interrotto le e-mail e ti ho letto da chi proviene l'e-mail e la riga dell'oggetto (così sai se vuoi interrompere quello che stai facendo e controlla). Dal momento che avere un Arduino con Wave Shield leggere la tua email potrebbe essere utile ad altri, l'ho trasformato in un proprio istruibile qui. Questo utilizza seriale per trasferire i dati. Sto solo usando l'interfaccia USB su Arduino, ma dovresti essere in grado di realizzare la stessa cosa in modalità wireless con XBees da quello che ho capito. Quindi fondamentalmente le cose in questo istruibile will1. Controlla la tua email2. Se qualcosa è nuovo, lo convertirà in un file wav3. quindi lo invierà all'arduino tramite serial4. quindi l'Arduino lo riprodurrà. Il più grande TODO è accelerare il trasferimento dei file. La mia idea è di fare in modo che il computer invii più di 100 byte circa, quindi attendi una risposta di conferma da Arduino prima che ne invii altri. Sarebbe anche bello avere anche un controllo degli errori poiché un file binario parziale non è molto meglio di niente in alcuni casi.

Passaggio 1: utilità di sintesi vocale da riga di comando

Ecco una piccola utility che ho scritto molto velocemente per convertire il testo in parlato. È scritto in C# con la versione gratuita di Visual C# 2008 Express Edition. Probabilmente avrai bisogno di. Net 3.5 per eseguirlo. Il codice è incluso, ma se vuoi solo l'exe puoi ottenerlo in CommandLineText2Speech/CommandLineText2Speech/bin/Release nel file zip. Per far funzionare lo strumento, puoi semplicemente aprire un prompt dei comandi, accedere alla directory in cui hai inserito l'exe e digitare CommandLineText2Speech.exe. Verrà visualizzato questo: Utilizzo: Per elencare le voci installate: CommandLineText2Speech.exe whatvoices

Per convertire il testo in un wav: CommandLineText2Speech.exe [voce] [tasso - valore predefinito 0 (da -10 a 10)] [volume - valore predefinito 80 (da 0 a 100)] "[testo da convertire]" [file di output]In altre parole probabilmente vorrai prima eseguire: CommandLineText2Speech.exe whatvoicesQuesto elencherà quali voci hai installato sul tuo computer. Avrai bisogno del nome di una voce per eseguire lo strumento. Le voci fornite con Windows non sono eccezionali, AT&T ne ha alcune che sono piuttosto buone. Accanto a convertire il testo in un file wav fai questoCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Questo è un test" test.wavEcco cosa significa:"Microsoft Sam" - la voce, questa è quella che viene fornita con Windows, hai per metterlo tra virgolette poiché c'è uno spazio0 - Normal Speed (può andare da -10 a 10)80 - Normal Volume (può andare da 0 a 100)"This is a test" - Il testo che verrà trasformato in un file wavtest.wav - come verrà chiamato il file wav

Passaggio 2: Utility Ruby per controllare la posta elettronica e caricare Wav su Arduino

Il codice Ruby allegato esegue i seguenti controlli per vedere se c'è una nuova email e se c'è la trasferisce ad Arduino tramite l'interfaccia da USB a seriale integrata nell'Arduino. Ho avuto problemi con le connessioni ad alta velocità su seriale (probabilmente la dimensione del buffer). Le impostazioni per il file sono tutte nella parte superiore del file. Questo usa il mio programma C# per creare un file wav. Probabilmente dovrei convertire tutto questo in una lingua, sono un grande fan di Ruby, ma non sembrava che potesse creare il wav dal testo molto facilmente, quindi ho scritto la piccola app C#. Avrai anche bisogno del rubino gioiello seriale, ho incluso anche quello. Per installarlo (dopo aver installato Ruby) digita "gem install win32-serial-0.5.1-x86-mswin32-60.gem" nel prompt dei comandi della directory in cui scarichi il gem. Questo è tutto ciò di cui hai bisogno per far funzionare questo programma.

Passaggio 3: codice Arduino

Ecco un esempio di lettura dei dati via seriale, copiandoli sulla scheda SD, quindi riproduzione dell'onda. Questo fa parte del mio istruibile qui https://www.instructables.com/id/Sound-Switcher/ (nota che è nel concorso Arudino, se ti piace votalo!). Aggiungerò un altro esempio nel prossimo giorno o giù di lì che è ridotto. Guarda la funzione check_serial per scrivere sulla scheda SD. Sto usando la libreria WaveRP trovata qui per farlo

Passaggio 4: esegui tutto

Ok, ora hai tutte le parti. Per farlo funzionare correttamente è necessario 1. Installare Wave Shield su Arduino2. Collega Arduino al computer (o usa XBee): presumo che tu abbia già installato il firmware3. Eseguire lo script Ruby checkEmail.rb4. Goditi il tuo Arduino leggendo la tua email.

Consigliato: