Оглавление:

Чтение электронной почты с помощью Arduino и Wave Shield: 4 шага
Чтение электронной почты с помощью Arduino и Wave Shield: 4 шага

Видео: Чтение электронной почты с помощью Arduino и Wave Shield: 4 шага

Видео: Чтение электронной почты с помощью Arduino и Wave Shield: 4 шага
Видео: Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино 2024, Июль
Anonim
Чтение электронной почты с помощью Arduino и Wave Shield
Чтение электронной почты с помощью Arduino и Wave Shield

В рамках моего проекта здесь https://www.instructables.com/id/Sound-Switcher/ (этот проект участвует в конкурсе, поэтому, если вам это нравится, голосуйте за это!), Который использует Arduino для прерывания внешнего источника звука (например, iPod), чтобы вы знали о том, что происходит вокруг вас, я также попросил его прерывать электронные письма и читать вам, кто и кто отправляет электронное письмо, и строку темы (чтобы вы знали, хотите ли вы прекратить то, что делаете и проверьте это). Поскольку ваша электронная почта может быть полезна для Arduino с Wave Shield, я выделил ее в отдельную инструкцию здесь. Для передачи данных используется последовательный порт. Я просто использую USB-интерфейс на Arduino, но насколько я понимаю, вы сможете сделать то же самое по беспроводной сети с XBee. Проверьте свою электронную почту 2. Если что-то новое, оно преобразуется в файл wav 3. затем он отправит его на Arduino через serial4. тогда Arduino воспроизведет его. Самый большой TODO - это ускорение передачи файлов. Моя идея состоит в том, чтобы компьютер отправлял более 100 байтов или около того, а затем ждал ответа с подтверждением от Arduino, прежде чем он отправит больше. Также было бы неплохо иметь некоторую проверку ошибок, поскольку в некоторых случаях частичный двоичный файл не намного лучше, чем его отсутствие.

Шаг 1. Утилита преобразования текста в речь из командной строки

Вот небольшая утилита, которую я написал очень быстро для преобразования текста в речь. Он написан на C # с помощью бесплатного Visual C # 2008 Express Edition. Для этого вам, вероятно, понадобится. Net 3.5. Код включен, но если вам просто нужен exe, вы можете получить его в CommandLineText2Speech / CommandLineText2Speech / bin / Release в zip-файле. Чтобы инструмент заработал, вы можете просто открыть командную строку, перейти в каталог, в который вы поместили исполняемый файл, и ввести CommandLineText2Speech.exe. Он выведет это: Использование: Для вывода списка установленных голосов: CommandLineText2Speech.exe whatvoices

Чтобы преобразовать текст в wav: CommandLineText2Speech.exe [голос] [скорость - по умолчанию 0 (от -10 до 10)] [громкость - по умолчанию 80 (от 0 до 100)] «[текст для преобразования]» [выходной файл] Другими словами вы, вероятно, захотите сначала запустить: CommandLineText2Speech.exe whatvoices Это список голосов, которые вы установили на свой компьютер. Для запуска инструмента вам понадобится имя голоса. Голоса, которые поставляются с Windows, не очень хороши, у AT&T есть довольно хорошие голоса. Далее, чтобы преобразовать текст в файл wav, сделайте этоCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Это тест" test.wav Вот что все это значит: "Microsoft Sam" - голос, это тот, который поставляется с Windows, у вас есть заключить его в кавычки, так как там пробел 0 - Нормальная скорость (может быть от -10 до 10) 80 - Нормальная громкость (может быть от 0 до 100) "Это тест" - текст, который будет преобразован в файл wav..wav - как будет называться wav файл

Шаг 2. Утилита Ruby для проверки электронной почты и загрузки Wav в Arduino

Прилагаемый код Ruby выполняет следующие проверки, чтобы узнать, есть ли новое электронное письмо, и, если оно есть, передает его в Arduino через интерфейс USB-Serial, встроенный в Arduino. У меня были проблемы с высокоскоростным подключением через последовательный порт (вероятно, размер буфера). Все настройки файла находятся в верхней части файла. Это использует мою программу C # для создания файла wav. Мне, вероятно, следует преобразовать все это на один язык, я большой поклонник Ruby, но не похоже, что он может очень легко создать wav из текста, поэтому я написал небольшое приложение на C #. Вам также понадобится ruby серийный драгоценный камень, я тоже включил это. Чтобы установить его (после того, как вы установили Ruby), введите «gem install win32-serial-0.5.1-x86-mswin32-60.gem» в командной строке каталога, в который вы загружаете гем. Это все, что вам нужно для работы этой программы.

Шаг 3: Код Arduino

Вот пример чтения данных через последовательный порт, копирования их на SD-карту и последующего воспроизведения волны. Это часть моих инструкций здесь https://www.instructables.com/id/Sound-Switcher/ (обратите внимание, что это в конкурсе Arudino, если вам нравится, проголосуйте за него!). Я добавлю еще один пример на следующий день или около того, он урезан. Посмотрите функцию check_serial для записи на SD карту. Я использую для этого библиотеку WaveRP, найденную здесь

Шаг 4. Запустите все

Хорошо, теперь у вас есть все детали. Чтобы это работало правильно, вам необходимо: 1. Установить Wave Shield на Arduino2. Подключите Arduino к компьютеру (или используйте XBee) - я предполагаю, что у вас уже установлена прошивка 3. Запустите сценарий Ruby checkEmail.rb 4. Наслаждайтесь вашим Arduino, читая вашу электронную почту.

Рекомендуемые: