İçindekiler:

Arduino ve Wave Shield ile E-posta Okuyun: 4 Adım
Arduino ve Wave Shield ile E-posta Okuyun: 4 Adım

Video: Arduino ve Wave Shield ile E-posta Okuyun: 4 Adım

Video: Arduino ve Wave Shield ile E-posta Okuyun: 4 Adım
Video: Lesson 2: Getting Arduino Software and using Documentation for SunFounder Arduino Kit | SunFounder 2024, Temmuz
Anonim
Arduino ve Wave Shield ile E-posta Okuyun
Arduino ve Wave Shield ile E-posta Okuyun

Buradaki projemin bir parçası olarak, harici bir ses kaynağını kesmek için bir Arduino kullanan https://www.instructables.com/id/Sound-Switcher/ (bu proje bir yarışmada, bu yüzden bunu beğendiyseniz buna oy verin!) (yani iPod) çevrenizde olup bitenleri size bildirmek için, e-postaları kesmesini ve e-postanın kimden geldiğini ve konu satırını okumasını sağladım (böylece yaptığınız şeyi durdurmak isteyip istemediğinizi bilirsiniz). ve kontrol edin). Dalga Kalkanlı bir Arduino'nun e-postanızı okuması başkaları için yararlı olabileceğinden, burada kendi talimatına dönüştürdüm. Bu, verileri aktarmak için seri kullanır. Ben sadece Arduino'da USB arabirimini kullanıyorum, ancak anladığım kadarıyla aynı şeyi XBees ile kablosuz olarak gerçekleştirebilmelisiniz. E-postanızı kontrol edin2. Yeni bir şey varsa, onu bir wav dosyasına dönüştürür3. daha sonra serial4 aracılığıyla arduino'ya gönderir. O zaman Arduino oynayacak En büyük YAPILACAKLAR dosya aktarımını hızlandırmaktır. Benim fikrim, bilgisayarın 100 bayttan fazla göndermesini sağlamak, ardından Arduino'dan daha fazlasını göndermeden önce bir onay yanıtı beklemek. Kısmi bir ikili dosya bazı durumlarda hiç olmamasından çok daha iyi olmadığından, bazı hata kontrollerinin de olması güzel olurdu.

Adım 1: Komut Satırı Metninden Konuşmaya Yardımcı Program

İşte metni konuşmaya çevirmek için çok hızlı yazdığım küçük bir yardımcı program. Ücretsiz Visual C# 2008 Express Edition ile C# ile yazılmıştır. Bunu çalıştırmak için muhtemelen. Net 3.5'e ihtiyacınız olacak. Kod dahildir, ancak yalnızca exe'yi istiyorsanız, zip dosyasındaki CommandLineText2Speech/CommandLineText2Speech/bin/Release içinde alabilirsiniz. Aracı çalıştırmak için bir komut istemi açabilir, exe'yi koyduğunuz dizine gidebilir ve CommandLineText2Speech.exe yazabilirsiniz. Bunun çıktısını verecektir: Kullanım: Kurulu sesleri listelemek için:CommandLineText2Speech.exe whatvoices

Metni bir wav'a dönüştürmek için:CommandLineText2Speech.exe [ses] [hız - varsayılan 0 (-10 ila 10)] [hacim - varsayılan 80 (0 ila 100)] "[dönüştürülecek metin]" [çıktı dosyası]Başka bir deyişle muhtemelen ilk önce şunu çalıştırmak isteyeceksiniz:CommandLineText2Speech.exe whatvoicesBu, bilgisayarınıza hangi sesleri yüklediğinizi listeleyecektir. Aracı çalıştırmak için bir sesin adına ihtiyacınız olacak. Windows ile gelen sesler harika değil, AT&T'de oldukça iyi olan sesler var. Metni bir wav dosyasına dönüştürmenin yanında şunu yapınCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Bu bir testtir" test.wavİşte bunun anlamı şudur:"Microsoft Sam" - ses, bu Windows ile birlikte gelen ses, sahip olduğunuz boşluk olduğu için tırnak içine almak0 - Normal Hız (-10'dan 10'a gidebilir)80 - Normal Hacim (0'dan 100'e gidebilir)"Bu bir testtir" - Bir wav dosya testine dönüştürülecek metin.wav - wav dosyasının adı ne olacak

Adım 2: E-postayı Kontrol Etmek ve Wav'ı Arduino'ya Yüklemek için Ruby Yardımcı Programı

Ekli Ruby kodu, yeni bir e-posta olup olmadığını görmek için aşağıdaki kontrolleri yapar ve varsa bunu Arduino'da yerleşik USB'den Seri arabirime aracılığıyla Arduino'ya aktarır. Seri (muhtemelen arabellek boyutu) üzerinden yüksek hızlı bağlantılar yaparken sorunlar yaşadım. Dosyanın ayarlarının tümü dosyanın en üstündedir. Bu, bir wav dosyası oluşturmak için C# programımı kullanır. Muhtemelen hepsini tek bir dile dönüştürmeliyim, Ruby'nin büyük bir hayranıyım, ancak metinden wav'ı çok kolay oluşturacak gibi görünmüyordu, bu yüzden küçük C# uygulamasını yazdım. Ayrıca ruby'ye de ihtiyacınız olacak. seri mücevher, onu da dahil ettim. Kurmak için (Ruby'yi kurduktan sonra) gem'i indirdiğiniz dizinin komut istemine "gem install win32-serial-0.5.1-x86-mswin32-60.gem" yazın. Bu programın çalışması için ihtiyacınız olan tek şey bu.

Adım 3: Arduino Kodu

İşte verileri seri yoluyla okuma, SD karta kopyalama ve ardından dalgayı oynatma örneği. Bu, buradaki talimatımın bir parçası https://www.instructables.com/id/Sound-Switcher/ (Oy vermeyi seviyorsanız, Arudino yarışmasında olduğuna dikkat edin!). Ertesi gün başka bir örnek ekleyeceğim, bu da kısaltıldı. SD karta yazmak için check_serial işlevine bakın. Bunu yapmak için burada bulunan WaveRP kitaplığını kullanıyorum

Adım 4: Hepsini Çalıştırın

Tamam, şimdi tüm parçalara sahipsiniz. Bunun doğru şekilde çalışmasını sağlamak için 1. Arduino2'ye Wave Shield yüklemeniz gerekir. Arduino'yu Bilgisayara Bağlayın (veya XBee'yi kullanın) - Donanım yazılımının zaten kurulu olduğunu varsayıyorum3. Ruby checkEmail.rb komut dosyasını çalıştırın4. Arduino'nuzun e-postanızı okumasının keyfini çıkarın.

Önerilen: