树莓派语音识别-物联网实验

树莓派语音识别-物联网实验

    前几篇文章介绍了,如何利用Respeaker读取语音,然后又如何通过BaiduApi获取语音文字,以及长文本如何切词获取所需的命令关键字;接下来这篇文章将做个简单的实验,实现如果通过语音控制电灯的开关(其他的实验后续会继续探索)。
    首先来看一下实验效果,如下效果:
    由上可看到,我们对着Respeaker说“天太热了开灯”(突然想起来天热貌似和开灯没啥关系),可见发送baidu分析,然后获得长文本“天太热了开灯”;接着分词切出"开灯"命令;由于这个命令是可执行命令,所以提示写入命令;然后可见另一个树莓派控制的led灯开始闪烁。当然这个时候我们可以控制很多东西,比如天热了开风扇等。
    见下图,第一行为识别文本,第三行是切词效果,由于开灯是关键词,所以命中了可执行命令,触发命令写入。具体的命令写入可参考:mongo操作。
识别效果

{ "_id" : 8, "status" : 1, "subject" : "电灯", "act_dely" : 0, "act" : "开灯", "add_time" : "2021-07-21 08:52:58" }
其中status标示是否已执行,subject为执行主体,act_dely是否延迟执行,act是执行动作,add_time是命令写入时间。
#接下来我们阐述一下具体的实验过程,需要用到的材料以及接线如下图:
接线示例
具体的接线可参考文章:继电器实验
接线完成后,如何获取的命令如何传递的可以参考文章:多个树莓派之间通信

实验的具体思路和流程如下:

  • 语音通过传感器捕获;
  • 发送语音流然后Api解析;
  • 长文本获取;
  • 文本筛选切词;
  • 切词后获取关键命令;
  • 命令捕获格式化存储;
  • 执行端远程通信并捕获命令;
  • 命令校验报错或执行;
  • 命令执行后销毁;
  • 完成。

具体实现代码,先看语音命令识别写入部分:

命令捕获切词
切词后命令写入
接下来是执行端代码:
命令发现和定义执行代码
命令发现到执行到结束
其中命令获取采用的是crontab,每5秒检测一次,因此最大会出现5秒的延迟。

#check led task
* * * * * cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 5;  cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 10; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 15; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 20; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 25; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 30; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 35; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 40; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 45; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 50; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
* * * * * sleep 55; cd /home/pi/shumeijiang/act/led && /usr/bin/python led.py
jiujiang

3条评论

Belen 发布于上午12:05 - 2022年6月16日

Oh my goodness! Incredible article dude! Thank you, However I am going through difficulties with your RSS.
I don’t know why I am unable to subscribe to it. Is there anybody having the same RSS problems?
Anyone who knows the solution will you kindly respond?
Thanks!!

Jada 发布于上午6:45 - 2022年6月18日

It is perfect time to make a few plans for the longer term and it is time to be happy.
I have read this submit and if I may I desire to recommend you some attention-grabbing things or
tips. Maybe you can write next articles regarding this article.
I want to read even more issues about it!

how can i buy followers on instagram 发布于上午7:05 - 2023年6月22日

Every weekend i used to pay a quick visit this website, as
i want enjoyment, as this this website conations in fact
good funny information too.

评论已关闭。

评论已关闭。