Spisu treści:

Przeczytaj e-mail za pomocą Arduino i Wave Shield: 4 kroki
Przeczytaj e-mail za pomocą Arduino i Wave Shield: 4 kroki

Wideo: Przeczytaj e-mail za pomocą Arduino i Wave Shield: 4 kroki

Wideo: Przeczytaj e-mail za pomocą Arduino i Wave Shield: 4 kroki
Wideo: [LIVE 21.03.2017] ARDUINO - przebudowa samochodu bluetooth 2024, Listopad
Anonim
Czytaj e-mail z Arduino i Wave Shield
Czytaj e-mail z Arduino i Wave Shield

W ramach mojego projektu tutaj https://www.instructables.com/id/Sound-Switcher/ (ten projekt jest w konkursie, więc jeśli ci się to podoba, zagłosuj na to!), który używa Arduino do przerwania zewnętrznego źródła dźwięku (np. iPod), aby poinformować Cię o tym, co dzieje się wokół Ciebie, kazałem też przerywać e-maile i czytać Ci, od kogo pochodzi e-mail i temat (więc wiesz, czy chcesz przerwać to, co robisz i sprawdź to). Ponieważ Arduino z Wave Shield przeczytało twój e-mail, może być przydatne dla innych, oddzieliłem go do jego własnej instrukcji tutaj. Wykorzystuje port szeregowy do przesyłania danych. Po prostu używam interfejsu USB na Arduino, ale z tego, co rozumiem, powinieneś być w stanie osiągnąć to samo bezprzewodowo z XBees. Zasadniczo więc rzeczy w tym instruktażowym będą1. Sprawdź swój e-mail2. Jeśli coś jest nowe, skonwertuje to do pliku wav3. następnie wyśle go do arduino przez serial4. wtedy Arduino to odtworzy Największą TODO jest przyspieszenie transferu plików. Mój pomysł polega na tym, aby komputer wysyłał ponad 100 bajtów, a następnie czekał na odpowiedź potwierdzającą od Arduino, zanim wyśle więcej. Byłoby również miło mieć pewne sprawdzanie błędów, ponieważ częściowy plik binarny nie jest w niektórych przypadkach dużo lepszy niż żaden.

Krok 1: Narzędzie tekstu na mowę wiersza poleceń

Oto małe narzędzie, które napisałem bardzo szybko, aby zamienić tekst na mowę. Jest napisany w języku C# z bezpłatną wersją Visual C# 2008 Express Edition. Prawdopodobnie będziesz potrzebować. Net 3.5 do uruchomienia tego. Kod jest dołączony, ale jeśli chcesz tylko plik exe, możesz go pobrać w CommandLineText2Speech/CommandLineText2Speech/bin/Release w pliku zip. Aby narzędzie działało, wystarczy otworzyć wiersz polecenia, przejść do katalogu, w którym umieściłeś plik exe, i wpisać CommandLineText2Speech.exe. Wyświetli to: Zastosowanie: Aby wyświetlić zainstalowane głosy: CommandLineText2Speech.exe whatvoices

Aby przekonwertować tekst na wav:CommandLineText2Speech.exe [głos] [ocena - domyślnie 0 (-10 do 10)] [głośność - domyślnie 80 (0 do 100)] "[tekst do konwersji]" [plik wyjściowy] Innymi słowy prawdopodobnie będziesz chciał najpierw uruchomić: CommandLineText2Speech.exe whatvoicesTo wyświetli listę głosów, które zainstalowałeś na swoim komputerze. Aby uruchomić narzędzie, będziesz potrzebować nazwy głosu. Głosy dostarczane z systemem Windows nie są świetne, AT&T ma kilka, które są całkiem dobre. Następnie, aby przekonwertować tekst na plik wav wykonaj thisCommandLineText2Speech.exe "Microsoft Sam" 0 80 "To jest test" test.wav Oto, co to wszystko oznacza: "Microsoft Sam" - głos, to jest ten, który jest dostarczany z systemem Windows, masz umieścić go w cudzysłowie, ponieważ jest spacja0 - Normalna prędkość (może przejść od -10 do 10)80 - Normalna głośność (może przejść od 0 do 100)"To jest test" - Tekst, który zostanie przekształcony w test pliku wav.wav - jak będzie się nazywał plik wav

Krok 2: Narzędzie Ruby do sprawdzania poczty e-mail i przesyłania Wav do Arduino

Załączony kod Ruby wykonuje następujące kontrole, aby sprawdzić, czy jest nowy e-mail, a jeśli jest, przesyła go do Arduino za pośrednictwem interfejsu USB do szeregowego wbudowanego w Arduino. Miałem problemy z wykonywaniem szybkich połączeń przez Serial (prawdopodobnie rozmiar bufora). Wszystkie ustawienia pliku znajdują się na początku pliku. Używa mojego programu C# do tworzenia pliku wav. Powinienem prawdopodobnie przekonwertować to wszystko na jeden język, jestem wielkim fanem Rubiego, ale nie wyglądało na to, że może bardzo łatwo utworzyć wav z tekstu, więc napisałem małą aplikację C#. seryjna perełka, ja też to włączyłem. Aby go zainstalować (po zainstalowaniu Rubiego) wpisz "gem install win32-serial-0.5.1-x86-mswin32-60.gem" w wierszu poleceń katalogu, do którego pobierasz gem. To wszystko, czego powinieneś potrzebować, aby ten program działał.

Krok 3: Kod Arduino

Oto przykład wczytywania danych przez port szeregowy, kopiowania ich na kartę SD, a następnie odtwarzania fali. Jest to część mojego instruktażu tutaj https://www.instructables.com/id/Sound-Switcher/ (zauważ, że jest w konkursie Arudino, jeśli Ci się spodoba, zagłosuj na to!). Dodam kolejny przykład mniej więcej następnego dnia, który jest skrócony. Spójrz na funkcję check_serial do zapisywania na karcie SD. Używam do tego biblioteki WaveRP znalezionej tutaj

Krok 4: Uruchom wszystko

Ok, teraz masz wszystkie części. Aby to działało poprawnie, musisz 1. Zainstalować Wave Shield na Arduino2. Podłącz Arduino do komputera (lub użyj XBee) - zakładam, że masz już zainstalowane oprogramowanie3. Uruchom skrypt Ruby checkEmail.rb4. Ciesz się, że Arduino czyta e-maile.

Zalecana: