Inhoudsopgave:

E-mail lezen met Arduino en Wave Shield: 4 stappen
E-mail lezen met Arduino en Wave Shield: 4 stappen

Video: E-mail lezen met Arduino en Wave Shield: 4 stappen

Video: E-mail lezen met Arduino en Wave Shield: 4 stappen
Video: Using Digispark Attiny85 Mini Arduino boards: Lesson 108 2024, Juli-
Anonim
E-mail lezen met Arduino en Wave Shield
E-mail lezen met Arduino en Wave Shield

Als onderdeel van mijn project hier https://www.instructables.com/id/Sound-Switcher/ (dat project doet mee aan een wedstrijd, dus als je dit leuk vindt, stem daar dan op!) dat een Arduino gebruikt om een externe geluidsbron te onderbreken (dwz iPod) om je te laten weten wat er om je heen gebeurt, ik had het ook onderbreken op e-mails en je voorlezen van wie de e-mail is en de onderwerpregel (zodat je weet of je wilt stoppen met wat je doet en controleer het). Omdat een Arduino met een Wave Shield je e-mail kan lezen, kan dit nuttig zijn voor anderen, heb ik het hier in zijn eigen instructable omgezet. Dit gebruikt serieel om de gegevens over te dragen. Ik gebruik gewoon de USB-interace op de Arduino, maar je zou in staat moeten zijn om hetzelfde draadloos te bereiken met XBees van wat ik begrijp. Dus eigenlijk de dingen in deze instructable will1. Controleer uw e-mail2. Als iets nieuw is, wordt het geconverteerd naar een wav-bestand3. dan zal het het via serial4 naar de arduino sturen. dan zal de Arduino het spelen. De grootste TODO is het versnellen van de bestandsoverdracht. Mijn idee is om de computer meer dan 100 bytes of zo te laten verzenden en vervolgens te wachten op een bevestigingsreactie van de Arduino voordat deze meer verzendt. Het zou ook leuk zijn om ook wat foutcontrole te hebben, aangezien een gedeeltelijk binair bestand in sommige gevallen niet veel beter is dan helemaal geen.

Stap 1: Opdrachtregel tekst-naar-spraakhulpprogramma

Hier is een klein hulpprogramma dat ik heel snel heb geschreven om tekst naar spraak te verbergen. Het is geschreven in C# met de gratis Visual C# 2008 Express Edition. Je hebt waarschijnlijk. Net 3.5 nodig om dit uit te voeren. De code is inbegrepen, maar als je alleen de exe wilt, kun je deze krijgen in CommandLineText2Speech/CommandLineText2Speech/bin/Release in het zip-bestand. Om de tool te laten werken, opent u gewoon een opdrachtprompt, navigeert u naar de map waar u de exe plaatst en typt u CommandLineText2Speech.exe. Het zal dit uitvoeren: Gebruik: Om geïnstalleerde stemmen weer te geven: CommandLineText2Speech.exe whatvoices

Om tekst naar een wav te converteren:CommandLineText2Speech.exe [stem] [snelheid - standaard 0 (-10 tot 10)] [volume - standaard 80 (0 tot 100)] "[te converteren tekst]" [uitvoerbestand] Met andere woorden u zult waarschijnlijk eerst willen uitvoeren:CommandLineText2Speech.exe whatvoicesDit zal een lijst geven van welke stemmen u op uw computer hebt geïnstalleerd. U hebt de naam van een stem nodig om de tool uit te voeren. De stemmen die bij Windows worden geleverd zijn niet geweldig, AT&T heeft er enkele die behoorlijk goed zijn. Doe dit naast het converteren van tekst naar een wav-bestand CommandLineText2Speech.exe "Microsoft Sam" 0 80 "This is a test" test.wavDit is wat het allemaal betekent: "Microsoft Sam" - de stem, dit is er een die bij Windows wordt geleverd, je hebt om het tussen aanhalingstekens te zetten omdat er een spatie is0 - Normale snelheid (kan van -10 tot 10 gaan)80 - Normaal volume (kan van 0 tot 100 gaan)"Dit is een test" - De tekst die wordt omgezet in een wav-bestandstest.wav - hoe het wav-bestand zal heten

Stap 2: Ruby Utility om e-mail te controleren en Wav naar Arduino te uploaden

De bijgevoegde Ruby-code voert de volgende controles uit om te zien of er nieuwe e-mail is en als die er is, wordt deze naar de Arduino overgebracht via de USB-naar-serieel-interface die in de Arduino is ingebouwd. Ik heb problemen gehad met het maken van snelle verbindingen via serieel (waarschijnlijk de grootte van de buffer). De instellingen voor het bestand staan allemaal bovenaan het bestand. Dit gebruikt mijn C#-programma om een wav-bestand te maken. Ik zou dit waarschijnlijk allemaal naar één taal moeten converteren, ik ben een grote fan van Ruby, maar het zag er niet naar uit dat het de wav van tekst heel gemakkelijk kon maken, dus schreef ik de kleine C#-app. Je hebt ook de ruby nodig seriële edelsteen, ik heb dat ook opgenomen. Om het te installeren (nadat je Ruby hebt geïnstalleerd) typ je "gem install win32-serial-0.5.1-x86-mswin32-60.gem" in de opdrachtprompt van de map waar je het juweeltje naartoe downloadt. Dat is alles wat je nodig hebt om dit programma te laten werken.

Stap 3: Arduino-code

Hier is een voorbeeld van het inlezen van de data via serieel, het kopiëren naar de SD-kaart en het afspelen van de wave. Dit maakt deel uit van mijn instructable hier https://www.instructables.com/id/Sound-Switcher/ (let op het is in de Arudino-wedstrijd, als je het leuk vindt, stem erop!). Ik zal de volgende dag nog een voorbeeld toevoegen dat is ingekort. Kijk naar de check_serial-functie om naar de SD-kaart te schrijven. Ik gebruik de WaveRP-bibliotheek die ik hier vind om dit te doen

Stap 4: Voer het allemaal uit

Oké, nu heb je alle onderdelen. Om dit correct te laten werken moet je 1. Wave Shield installeren op Arduino2. Sluit Arduino aan op computer (of gebruik XBee) -- ik neem aan dat je de firmware al hebt geïnstalleerd3. Voer het Ruby checkEmail.rb script4 uit. Geniet van je Arduino die je e-mail leest.

Aanbevolen: