一、需求及项目准备

  • 语音接入控制各类家电,如客厅灯、卧室灯、风扇
  • 回顾之前的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

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐