项目智能家居---OrangePi全志H616

1 需求及项目准备
语音接入控制各类家电,如客厅灯、卧室灯、风扇。
Socket编程,实现Sockect发送指令远程控制各类家电。
烟雾警报监测, 实时检查是否存在煤气泄漏或者火灾警情,当存在警情时及时触发蜂鸣器报警及语音播报。
控制人脸识别打开房门功能,并语音播报识别成功或者失败。
局域网实时视频监控。
OLED屏实话显示当前主板温度、警情信息及控制指令信息。
人脸识别使用阿里SDK支持Python接口,智能分类时引入C语言的Python调用此接口是人工智能接口,阿里云识别模型是通过训练后的模型,精准度取决于训练程度,人工智能范畴在常规嵌入式设备负责执行居多,说白的就是嵌入式设备负责数据采集,然后转发给人工智能识别后,拿到结果进行执行器动作。
1.1 系统框图

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

2. 4路继电器接线图:

3. 面包板接线

1.3 语音模块配置
官网地址:
https://smartpi.cn/#/
1. pin脚配置:

2. 命令词自定义基本信息:

3. 命令词自定控制详情:


4. 下载固件:

2 阿里云人脸识别方案
阿里云人脸识别方案-CSDN博客
3 智能家居项目的软件实现
3.1 项目整体设计
整体的软件框架大致如下:
整个项目开启 4 个监听线程, 分别是:
1. 语音监听线程 : 用于监听语音指令, 当有语音指令过来后, 通过消息队列的方式给消息处理线程发送指令
2. 网络监听线程:用于监听网络指令,当有网络指令过来后, 通过消息队列的方式给消息处理线程发送指令
3. 火灾检测线程:当存在煤气泄漏或者火灾闲情时, 发送警报指令给消息处理线程
4. 消息监听线程: 用于处理以上 3 个线程发过来的指令,并根据指令要求配置 GPIO 引脚状态, OLED屏显示、语音播报,还有人脸识别开门
上述四个线程采用统一个对外接口接口,同时添加到监听链表中。
统一的监听模块接口如下:
struct control
{c