0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样将语音控制添加到Arduino项目

454398 来源:网络整理 作者:网络整理 2019-12-02 16:51 次阅读

最近我真的开始爱我的Arduino;通过基础教程,甚至制作了一个LED立方体,我已经准备好解决更复杂的事情。幸运的是,语音控制Arduino项目确实没有我想象的那么复杂-因此,您可以采用以下3种截然不同的方法。

使用OSX Automator和Speakable Items

我们做到这一点的一种方法是利用OSX中内置的现有语音命令实用程序。设置自定义命令以触发Automator动作很简单。 (如果您不熟悉Automator,请下载免费的PDF指南来实现Mac自动化!)

在Arduino代码方面,我们将使用详细的字符串缓冲区在这个Arduino论坛线程上–这使我们能够在串行通信中搜索确切的单词–没有这个,我发现数字,字节,和之间的类型转换字符串有问题。这是用于收听串行命令的完整Arduino代码,尽管您需要添加自己的命令和硬件来实际控制设备,因为这不在本Arduino项目教程的范围之内。如果您使用的是继电器,请记住它们需要能够处理 120-240vAC。。此外,如果您不熟悉所有这些,请务必先阅读我们的初学者Arduino指南。

怎样将语音控制添加到Arduino项目

接下来,下载此Arduino-serial实用程序,使我们能够从命令行或Shell脚本直接与Arduino通信。将其放在用户目录的根目录中,然后打开一个终端会话,然后键入:

make arduino-serial

为您的系统编译软件包。

此实用程序的用法相当简单,但是出于我们的目的,首先输入

ls /dev/tty.*

以弄清您的Arduino处于哪个端口USB端口)。然后要发送命令,请使用:

。/arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lightsOn

将/dev/tty.usb~ 替换为您找到的与Arduino相连的USB端口的确切名称。请参阅原始页面,以获取更多使用示例,包括获取返回值,但是现在可以使用。

我确实发现的一件事是,我必须先使用 Arduino串行监视器发送命令来“启动” Arduino,然后一切正常。如果有人知道为什么会这样,我很想听听。

下一步,打开 Automator 并创建一个新的 Application 。找到运行Shell脚本操作,将其添加并粘贴到串行命令中以打开灯。

将其保存到库/语音/可口项目中文件夹,其中包含您要触发操作的文字-在我的情况下为“亮起”。

然后,启用可说出的命令通过 Accessibility (首选项)面板。

2009年的本教程仍然有用,但基本上您想启用“全球可口物品” 。

这是所有功能的演示。

Easy VR Shield(硬件)

EasyVR是一个附加的硬件保护罩,它首先对您预先录制的语音样本进行编码,然后使用基于硬件的解决方案对它们进行模式匹配。设置有些复杂,每个命令仅响应单个语音标记,但是如果您希望项目独立于计算机,则这是最全面的选择。 EasyVR Shield在英国的CoolComponents售价35英镑,在美国的SparkFun售价50美元。这是一个实际的屏蔽演示以及编码过程:

通过Ruby的SiriProxy

如果您已经越狱了具有Siri功能的iPhone,那么Siri Proxy是一种很好的控制方法手机语音识别功能。 SiriProxy是一个Ruby应用程序,它侦听被识别并发送到Apple服务器的命令;添加与Arduino通讯的方式,您便有了 SiriProxy-Arduino 。唯一的缺点是您需要将一个特殊的草图上载到实现Ruby API的Arduino,因此您需要对其进行调整,或者在计算机端用Ruby编写所有代码。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语音控制
    +关注

    关注

    5

    文章

    482

    浏览量

    28248
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186954
收藏 人收藏

    评论

    相关推荐

    KiCad 7中添加网络类(一)

    “  网络类用于特定目的的网络分组,以便快速查看、分配设计规则等操作,比如可以12V、5V、3.3V、GND等网络添加到Power网络类,然后为Power网络类定义独立的线宽、间距规则
    的头像 发表于 11-12 12:21 461次阅读
    KiCad 7中<b class='flag-5'>添加</b>网络类(一)

    请问如何cURL库添加到ESP8266_RTOS_SDK项目中?

    我想使用 curl api,但我不知道如何添加到我的项目中,这样当我将该库的头文件包含在我的项目中时它就不会抱怨。 有谁知道如何正确地
    发表于 07-09 07:52

    请问esp-idf框架可以调用arduino IDE的esp32库吗?

    我最近想移植一个基于arduinoIDE写的esp32 程序到idf框架下的项目,但是由于调用太多arduino上层封装的库导致移植失败,请问idf可以把arduino的库类似与组件一样添加到
    发表于 06-24 07:07

    请问如何.C的图片文件添加到VScode(PlatfromIO)生成的lvgh项目中?

    当使用LVGL官方网页转换器,png图片转换为.c矩阵文件之后,如何.c的图片文件加到VScode(PlatfromIO)的lvgh工程里面?<br> 不管是把.c放到assets、lib、include为什么每
    发表于 06-17 06:03

    使用idf.py命令方式编译,怎样才能编译arduino的库,并且在项目中可调用?

    在编译过程中,提示找不到对应的头文件。 请问使用idf.py命令方式编译,怎样才能编译arduino的库,并且在项目中可调用。
    发表于 06-13 06:56

    在RZ/T2M和RZ/N2L中Printf添加方法(使用查询模式实现UART)

    RZ/N2L是一种工业以太网通信用MPU,可轻松网络功能添加到工业设备中。
    的头像 发表于 05-21 14:08 633次阅读
    在RZ/T2M和RZ/N2L中Printf<b class='flag-5'>添加</b>方法(使用查询模式实现UART)

    STM32F746 QSPI的Flash扩展后,添加到工程下载发现报错,为什么?

    使用 W25Q128 模块 ,使用的是微雪STM32F746IGT6的开发板,在QSPI进行Flash扩展了解发现需要做一个.FLM的Flash编程算法,我找一个STM32H7的进行修改,然后添加到工程下载发现报错,无法加载算法,有大佬自己做过Flash编程算法吗,求解
    发表于 04-17 06:31

    怎么把stlink server添加到keil里?

    stlink server的使用说明里面是支持keil5.25的。怎么把stlink server添加到keil里?
    发表于 03-27 07:28

    TC399 adc能添加到同一个队列中并得到结果吗?加入队列是否有任何限制?

    添加到队列中并得到结果。 我的疑问是,有了这些不同的频道和组,我还能把它们添加到同一个队列中并得到结果吗?加入队列是否有任何限制?
    发表于 03-04 06:33

    如何F-RAM™添加到现有的PSoC™ Creator项目

    我们在PSoC™ Creator 中有一个 PSoC6 项目,并希望 QSPI F-RAM™存储器添加到TDA5235_868_5_BOARD中。我很难找到如何在F-RAM™ PSoC
    发表于 03-01 12:14

    基于RA4M2工程IAR Compiler添加到e2 Studio中相关操作的介绍

    为了方便客户在不同IDE环境下进行项目开发,可以在e2 studio开发环境下添加IAR相对应的Compiler供客户使用,满足不同客户使用需求
    的头像 发表于 02-27 13:46 861次阅读
    基于RA4M2工程<b class='flag-5'>将</b>IAR Compiler<b class='flag-5'>添加到</b>e2 Studio中相关操作的介绍

    FCX3是否具有PTS或SCR添加到映像帧的功能?

    问题 1) FCX3是否具有PTS或SCR添加到映像帧的功能,如随附的USB规范中所述? 如果可能,请提供有关如何配置每个 PTS 和 SCR 的详细信息。 问题 2) CAN FCX3 支持1080x1280@120fps传输带宽? 如果这很困难,请让我知道实际使用
    发表于 02-26 08:23

    如何TC1798器件添加到MDK KEIL?

    我正在尝试使用 KEIL MDK(µVision)为英飞凌TC1798编程,但我不确定如何TC1798器件添加到MDK KEIL。 谁能帮我拿到 .pack 或者.zip 对于 TC1798?
    发表于 02-01 08:18

    如何CMSIS DSP库添加到XMC4700 Relax Kit的Dave CE项目中?

    我刚开始研究 Dave,这对我来说还是个新事物。 我创建了一个 Dave CE 项目,并能够启动并运行 blink 代码。 我想将 CMSIS DSP 库添加到我的项目中,并使用库中的 DSP 函数
    发表于 02-01 07:11

    TC397 Infineon-AURIX_STM_Interrupt_1_KIT_TC397例程添加到RTOS中不工作的原因?

    使用Infineon-AURIX_STM_Interrupt_1_KIT_TC397 例程添加到RTOS中不工作,到达设定的时间不能触发中断,而单独的例程是没有问题的,请问出现此问题是什么原因?是否与RTOS有关?
    发表于 01-24 07:42