一、需求及项目准备

  • 语音接入控制各类家电,如客厅灯、卧室灯、风扇
  • 回顾之前的Socket编程,实现Sockect发送指令远程控制各类家具
  • 烟雾警报监测, 实时检查是否存在煤气泄漏或者火灾警情,当存在警情时及时触发蜂鸣器报警及语音播报
  • 控制人脸识别打开房门功能,并语音播报识别成功或者失败
  • 局域网实时视频监控
  • OLED屏实话显示当前主板温度、警情信息及控制指令信息

人脸识别使用阿里SDK支持Python和Java接口,目的是复习巩固智能分类时引入C语言的Python调用

此接口是人工智能接口,阿里云识别模型是通过训练后的模型,精准度取决于训练程度,人工智能范畴在常规嵌入式设备负责执行居多,说白的嵌入式设备负责数据采集,然后转发给人工智能识别后,拿到结果进行执行器动作

1.1 系统框图

image.png

1.2 硬件接线

  1. 硬件准备:

USB充电头(当前实测可用:5V/2.5A)x1、USB转TYPE-Cx1、SU-03Tx1、烟雾报警模块x1、4路继电器x1、 OLEDx1、 电磁锁x1(5V吸合开锁)、 蜂鸣器x1、小风扇+电机x1(需要自行购买)、面包板x1、 5号1.5V电池x6 、 2节电池盒x1、4节电池盒x1、带3路led灯小房子(3.3V可驱动, 需自行购买搭建)

  1. 香橙派的引脚接线信息(注意硬件不要接错了):

image.png

  1. 4路继电器接线图:

image.png

  1. 面包板接线

image.png

1.3 语音模块配置

  1. pin脚配置

image.png

  1. 命令词自定义基本信息

image.png

  1. 命令词自定控制详情

image.png

image.png

1.4 模块测试

使用以下下脚本可分别测试继电器控制的客厅泳池灯、卧室灯、风扇、烟雾报装置是否正常连接。会依次触发灯的亮灭、电磁锁通断、风扇开关、蜂鸣器的播听及最后读取两次gpio的引进状态。 可通过查看pin6最终确定烟雾报警模块在有烟雾的情况下的状态是否变为0。

image.png

I2C模块测试模块可以运行wiringOP中的oled_demo程序

test@test:~/wiringOP-master/examples$ make oled_demo
[CC] oled_demo.c
oled_demo.c: In function ‘main’:
oled_demo.c:93:17: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
    93 |                 if (oled_demo(&disp) < 0)                
    |                    ^~
oled_demo.c:95:25: note: ...this statement, but the latter is misleadingly 
indented as if it were guarded by the ‘if’
    95 |                         printf("----------end---------\n");
    |                            ^~~~~~
[link]
test@test:~/wiringOP-master/examples$ sudo ./oled_demo  /dev/i2c
i2c-3  i2c-4  i2c-5
test@test:~/wiringOP-master/examples$ sudo ./oled_demo  /dev/i2c-3
[sudo] password for orangepi:---------start------------------end-------

串口模块可先通过串口助手验证每个指令的准确性, 然后运行wiringOP中的serialTest程序(需把/dev/ttyS2改成/dev/ttyS5)

image.png

然后语音接收到指令后(比如喊你好美)会有6字节的输出,如下:

点击智能家居全栈开发实战:语音控制+人脸识别+安防监控完整方案查看全文

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐