Innholdsfortegnelse:

Les e -post med Arduino og Wave Shield: 4 trinn
Les e -post med Arduino og Wave Shield: 4 trinn

Video: Les e -post med Arduino og Wave Shield: 4 trinn

Video: Les e -post med Arduino og Wave Shield: 4 trinn
Video: DC-DC 5V to 3.5V/12V USB Step Down Power Supply Module Adjustable Boost Buck Converter Out 1.2V-24V 2024, Juli
Anonim
Les e -post med Arduino og Wave Shield
Les e -post med Arduino og Wave Shield

Som en del av prosjektet mitt her https://www.instructables.com/id/Sound-Switcher/ (det prosjektet er i en konkurranse, så hvis du liker dette, så stem på det!) Som bruker en Arduino for å avbryte en ekstern lydkilde (dvs. iPod) for å fortelle deg om ting som skjer rundt deg, jeg fikk det også til å avbryte på e -post og lese deg hvem e -posten er fra og emnelinjen (så du vet om du vil stoppe det du gjør og sjekk det). Siden en Arduino med Wave Shield har lest e -posten din kan være nyttig for andre, har jeg spunnet den inn i sin egen instruerbare her. Dette bruker seriell for å overføre dataene. Jeg bruker bare USB -interacen på Arduino, men du bør kunne oppnå det samme trådløst med XBees fra det jeg forstår. Så i utgangspunktet tingene i denne instruerbare viljen1. Sjekk e -posten din 2. Hvis noe er nytt, vil det konvertere det til en wav -fil3. så sender den den til arduinoen via serial4. så spiller Arduino den Den største TODO er å øke hastigheten på filoverføringen. Min idé er å få datamaskinen til å sende over 100 byte eller så, og deretter vente på et bekreftelsessvar fra Arduino før den sender mer. Det ville også være fint å ha litt feilkontroll, siden en delvis binær fil ikke er mye bedre enn ingen i det hele tatt.

Trinn 1: Kommandolinjetekst til taleverktøy

Her er et lite verktøy jeg skrev veldig raskt for å skjule tekst til tale. Den er skrevet i C# med gratis Visual C# 2008 Express Edition. Du trenger sannsynligvis. Net 3.5 for å kjøre dette. Koden er inkludert, men hvis du bare vil ha exe, kan du få den i CommandLineText2Speech/CommandLineText2Speech/bin/Release i zip -filen. For å få verktøyet til å fungere kan du bare åpne en ledetekst, navigere til katalogen der du la exe -en og skrive CommandLineText2Speech.exe. Den sender ut dette: Bruk: Slik viser du installerte stemmer: CommandLineText2Speech.exe whatvoices

For å konvertere tekst til en wav: CommandLineText2Speech.exe [stemme] [rate - standard 0 (-10 til 10)] [volum - standard 80 (0 til 100)] "[tekst å konvertere]" [utdatafil] Med andre ord du vil sannsynligvis først kjøre: CommandLineText2Speech.exe whatvoices Dette viser en liste over hvilke stemmer du har installert på datamaskinen din. Du trenger navnet på en stemme for å kjøre verktøyet. Stemmene som følger med Windows er ikke gode, AT&T har noen som er ganske gode. Ved siden av å konvertere tekst til en wav -fil, gjør denneCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Dette er en test" test.wavHer er hva det betyr: "Microsoft Sam" - stemmen, dette er en som følger med Windows, du har å sette det i anførselstegn siden det er et mellomrom 0 - Normal hastighet (kan gå fra -10 til 10) 80 - Normal volum (kan gå fra 0 til 100) "Dette er en test" - Teksten som blir til en wav -filtest.wav - hva wav -filen skal hete

Trinn 2: Ruby -verktøy for å sjekke e -post og laste opp Wav til Arduino

Den vedlagte Ruby -koden gjør følgende kontroller for å se om det er ny e -post, og om det er den, overfører den til Arduino via USB til Serial -grensesnittet som er innebygd i Arduino. Jeg har hatt problemer med å gjøre høyhastighetsforbindelser over Serial (sannsynligvis størrelsen på bufferen). Innstillingene for filen er alle øverst i filen. Dette bruker C# -programmet mitt til å lage en wav -fil. Jeg burde sannsynligvis konvertere alt til ett språk, jeg er en stor fan av Ruby, men det så ikke ut til at det lett kunne lage wav fra tekst så jeg skrev den lille C# appen. Du trenger også rubinen serieperle, jeg har inkludert det også. For å installere den (etter at du har installert Ruby), skriver du "gem install win32-serial-0.5.1-x86-mswin32-60.gem" i ledeteksten i katalogen du laster ned perlen til. Det er alt du trenger for at dette programmet skal fungere.

Trinn 3: Arduino -kode

Her er et eksempel på å lese inn dataene via serie, kopiere dem til SD -kortet og deretter spille bølgen. Dette er en del av min instruerbare her https://www.instructables.com/id/Sound-Switcher/ (legg merke til at den er i Arudino-konkurransen, hvis du liker den, stem på den!). Jeg vil legge til et annet eksempel neste dag eller så som er trimmet ned. Se på funksjonen check_serial for å skrive til SD -kortet. Jeg bruker WaveRP -biblioteket som finnes her for å gjøre det

Trinn 4: Kjør alt

Ok, nå har du alle delene. For å få dette til å fungere riktig må du 1. Installer Wave Shield på Arduino2. Koble Arduino til datamaskinen (eller bruk XBee) - Jeg antar at du allerede har fastvaren installert3. Kjør Ruby checkEmail.rb -skriptet4. Kos deg med Arduino når du leser e -posten din.

Anbefalt: