最近我真的開始愛我的Arduino;通過(guò)基礎(chǔ)教程,甚至制作了一個(gè)LED立方體,我已經(jīng)準(zhǔn)備好解決更復(fù)雜的事情。幸運(yùn)的是,語(yǔ)音控制Arduino項(xiàng)目確實(shí)沒(méi)有我想象的那么復(fù)雜-因此,您可以采用以下3種截然不同的方法。
使用OSX Automator和Speakable Items
我們做到這一點(diǎn)的一種方法是利用OSX中內(nèi)置的現(xiàn)有語(yǔ)音命令實(shí)用程序。設(shè)置自定義命令以觸發(fā)Automator動(dòng)作很簡(jiǎn)單。 (如果您不熟悉Automator,請(qǐng)下載免費(fèi)的PDF指南來(lái)實(shí)現(xiàn)Mac自動(dòng)化!)
在Arduino代碼方面,我們將使用詳細(xì)的字符串緩沖區(qū)在這個(gè)Arduino論壇線程上–這使我們能夠在串行通信中搜索確切的單詞–沒(méi)有這個(gè),我發(fā)現(xiàn)數(shù)字,字節(jié),和之間的類型轉(zhuǎn)換字符串有問(wèn)題。這是用于收聽串行命令的完整Arduino代碼,盡管您需要添加自己的命令和硬件來(lái)實(shí)際控制設(shè)備,因?yàn)檫@不在本Arduino項(xiàng)目教程的范圍之內(nèi)。如果您使用的是繼電器,請(qǐng)記住它們需要能夠處理 120-240vAC。。此外,如果您不熟悉所有這些,請(qǐng)務(wù)必先閱讀我們的初學(xué)者Arduino指南。
接下來(lái),下載此Arduino-serial實(shí)用程序,使我們能夠從命令行或Shell腳本直接與Arduino通信。將其放在用戶目錄的根目錄中,然后打開一個(gè)終端會(huì)話,然后鍵入:
make arduino-serial
為您的系統(tǒng)編譯軟件包。
此實(shí)用程序的用法相當(dāng)簡(jiǎn)單,但是出于我們的目的,首先輸入
ls /dev/tty.*
以弄清您的Arduino處于哪個(gè)端口(USB端口)。然后要發(fā)送命令,請(qǐng)使用:
。/arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lightsOn
將/dev/tty.usb~ 替換為您找到的與Arduino相連的USB端口的確切名稱。請(qǐng)參閱原始頁(yè)面,以獲取更多使用示例,包括獲取返回值,但是現(xiàn)在可以使用。
我確實(shí)發(fā)現(xiàn)的一件事是,我必須先使用 Arduino串行監(jiān)視器發(fā)送命令來(lái)“啟動(dòng)” Arduino,然后一切正常。如果有人知道為什么會(huì)這樣,我很想聽聽。
下一步,打開 Automator 并創(chuàng)建一個(gè)新的 Application 。找到運(yùn)行Shell腳本操作,將其添加并粘貼到串行命令中以打開燈。
將其保存到庫(kù)/語(yǔ)音/可口項(xiàng)目中文件夾,其中包含您要觸發(fā)操作的文字-在我的情況下為“亮起”。
然后,啟用可說(shuō)出的命令通過(guò) Accessibility (首選項(xiàng))面板。
2009年的本教程仍然有用,但基本上您想啟用“全球可口物品” 。
這是所有功能的演示。
Easy VR Shield(硬件)
EasyVR是一個(gè)附加的硬件保護(hù)罩,它首先對(duì)您預(yù)先錄制的語(yǔ)音樣本進(jìn)行編碼,然后使用基于硬件的解決方案對(duì)它們進(jìn)行模式匹配。設(shè)置有些復(fù)雜,每個(gè)命令僅響應(yīng)單個(gè)語(yǔ)音標(biāo)記,但是如果您希望項(xiàng)目獨(dú)立于計(jì)算機(jī),則這是最全面的選擇。 EasyVR Shield在英國(guó)的CoolComponents售價(jià)35英鎊,在美國(guó)的SparkFun售價(jià)50美元。這是一個(gè)實(shí)際的屏蔽演示以及編碼過(guò)程:
通過(guò)Ruby的SiriProxy
如果您已經(jīng)越獄了具有Siri功能的iPhone,那么Siri Proxy是一種很好的控制方法手機(jī)的語(yǔ)音識(shí)別功能。 SiriProxy是一個(gè)Ruby應(yīng)用程序,它偵聽被識(shí)別并發(fā)送到Apple服務(wù)器的命令;添加與Arduino通訊的方式,您便有了 SiriProxy-Arduino 。唯一的缺點(diǎn)是您需要將一個(gè)特殊的草圖上載到實(shí)現(xiàn)Ruby API的Arduino,因此您需要對(duì)其進(jìn)行調(diào)整,或者在計(jì)算機(jī)端用Ruby編寫所有代碼。
責(zé)任編輯:wv
-
語(yǔ)音控制
+關(guān)注
關(guān)注
5文章
497瀏覽量
28797 -
Arduino
+關(guān)注
關(guān)注
190文章
6498瀏覽量
192115
發(fā)布評(píng)論請(qǐng)先 登錄
ArkUI-X添加到現(xiàn)有Android項(xiàng)目中
ArkUI-X添加到現(xiàn)有Android項(xiàng)目中
ESP32驅(qū)動(dòng)MFRC522 RFID模塊讀寫IC卡數(shù)據(jù)

如何將VCP功能添加到UVC應(yīng)用程序代碼中?
如何將ENWF9408AVEF Wi-Fi模塊添加到1064EVK wifi_cli SDK項(xiàng)目中?
S32K344將LPUART6添加到Uart_example產(chǎn)生硬故障怎么解決?
開源項(xiàng)目!基于 Arduino 的 MIDI 架子鼓
基于Arduino的串口通信項(xiàng)目
KiCad 7中添加網(wǎng)絡(luò)類(一)

如何使用Arduino實(shí)現(xiàn)CAN總線通信
開源項(xiàng)目!基于Arduino做的“魷魚游戲”BOSS面具,支持動(dòng)作檢測(cè)
芯片知識(shí):如何將語(yǔ)音精確燒錄至語(yǔ)音芯片

評(píng)論