前言
一直以来都比较专注在控制与感测方面的开发,但是…只有工业跟野外会需要吗?家庭不就是一个最好的物联网应用场景吗?想想看:有电器用品的开关、空气质量侦测器、温度计、空调…这些不就是最好发挥的材料了!于是呢,就想到干脆把物联网跟家庭看照的功能结合但是要很多人去找按钮或面板按实在很不方便,既然QBoat Sunny就有Audio In/Out的功能,那干脆做成语音遥控不就得了?所以就有了这次的大冒险啦~~
材料
- QBoat Sunny
- 麦克风
- 扩音机
- MediaTek LinkIt 7697两个;一个做感测的范例,一个做控制的范例
- DHT11温湿度传感器
- 内附继电器Relay的可控制电源插座
- 杜邦线
架构图

注意上图采用Container,是因为会用Ubuntu跑Python的程序,透过SpeechRecognition来录音以及透过eSpeak播音;有兴趣更了解Container和使用方法的,可以参考 如何使用软件容器工作站
透过SpeechRecognition录音成功后,会把录音的结果上传到Google的Speech to Text API取得繁体中文的纯文本串,繁体中文的纯文本串又会再被转传到DialogFlow这个在线服务进行自然语意的断字,了解真实对于物联网控制的项目以及含意,收到对于物联网控制的项目以及含意之后,QBoat Sunny上用Node-red写的QIoT Application再以MQTT通讯协议为基础,自DHT11每两秒定时取得温湿度读值,或者对指定的Topic张贴内容控制继电器开或关。
※附带说明:MQTT通讯协议可以想象成一份报纸,有体育、财经、生活…等各项标题内容,MQTT的node是透过预先设定要读或写的标题内容,对照着跟QBoat Sunny互动而已。MQTT node若是写内容给QBoat Sunny叫做发行Publish,反之若是读内容叫做订阅Subscribe
硬件线路部分
软件部分
Linkit 7697:
<< linkit7697_ino_code/MQTTRelay.ino >>
<< linkit7697_ino_code/ MQTTNode.ino >>
Node-red:
大概如下图,可以下载这个档案import到你的QIoT Suite Lite上
<<QIoT_export/MQTTHome.json>>
Python:
<< speak/mqtt.py >>
所有程序代码可参考: https://github.com/blackmesataiwan/qboat_voice_control
教学影片参考: https://www.youtube.com/watch?v=4dH14IcLhBQ
结尾
QNAP真正想做的,其实就是要把AI应用开发在家庭看照上,让生活更容易智慧化。藉由这次的实作我们指揭露了一小部分,接下来有机会,我们将透过QuAI来时做更多家庭看照上的应用。