基于OrangePi Zero2的智能家居项目(准备阶段)

一、需求及项目准备(前期准备)


1、各类的需求 以及复习巩固的东西

2、系统框架图

3、硬连接线

3.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可驱动, 需自行 购买搭建)

3.2引脚接线信息

3.2.1香橙派的的接线

3.2.2四路继电器的接线

3.2.3 面包板的接线

4、写一个gpiotest.sh的脚本文件(后面把模型搭建好了来测试)

测试结果待补充.....(81节课17:11)

bash  -x  ./gpio.sh

5、语音模块的配置

6、模块测试

6.1 gpio测试(待补充....)

6.2 oled屏幕测试

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

6.3语音模块测试

6.3.1修改串口

6.3.2烧录固件

6.3.3测试

串口调试:

接入香橙派调试:

二、阿里云人脸识别方案

1、接入阿里云平台

        在之前树莓派的人脸识别方案采用了翔云平台的方案去1V1上传比对两张人脸比对,这种方案是可行,可 以继续采用。但为了接触更多了云平台方案,在Orange Pi Zero2里, 讲采用人脸搜索1:N方案,通过提 前在阿里云人脸数据库里存储人脸照片后,输入单张已授权人脸图像,与人脸库中人脸图片进行对比, 最终获取比对结果。

1.1 申请人体识别功能

2、创建AccessKey

3、开通人脸识别服务

4、根据技术文档一步一步完成

5、查询人脸样本

5.1调用阿里云的SDK

        

5.1.1执行命令

5.1.2 导入AccessKey(进入 vi  ~/.bashrc #最后的结尾添加)

5.1.3调用示例识别代码

 调用结果:

6、C语言调用阿里云的人脸识别Python代码

6.1 python封装成函数

6.2 利用好GPT解决获取分数最大值

6.3 使用C语言调用该函数

三、POSIX消息队列

      POSIX消息队列(Message queue)是进程和线程间同步的一种机制。它可以视为一个消息链表,其中每个消息都具有一个优先级,由发送者赋予。有足够写权限的进程可以往队列中发送消息,而有足够读权限的进程则可以从队列中接收消息。这种通信方式在Linux IPC(进程间通信)中非常常用。

与之前学的System V消息队列基本类似,详见笔记

他们最大的区别就是,POSIX消息队列可以实现异步通知

所涉及到的函数见笔记

1、编写函数:mqtest.c进行测试

测试

测试的时候使用 #if 0-->1              注释代码-->打开代码

                             #endif

2、异步通知(mq_notify)的用法

2.1 struct sigevent和sigval_t sigev_val 的定义如下:

union sigval { /* Data passed with notification */
    int sival_int; /* Integer value */
    void *sival_ptr; /* Pointer value */
};
struct sigevent {
    int sigev_notify; /* Notification method */
    int sigev_signo; /* Notification signal */
    union sigval sigev_value;  /* Data passed with notification */
    void (*sigev_notify_function) (union sigval);  /* Function used for thread notification (SIGEV_THREAD) */
    void *sigev_notify_attributes; /* Attributes for notification thread  (SIGEV_THREAD) */
    pid_t sigev_notify_thread_id; /* ID of thread to signal
    (SIGEV_THREAD_ID);             Linux-specific */
};  

.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/481406.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】多文件编程以及static关键字

1、多文件编程 把函数声明放在头文件xxx.h中&#xff0c;在主函数中包含相应头文件在头文件对应的xxx.c中实现xxx.h声明的函数 a、主文件 #include<stdio.h> #include "MyMain.h"//需要包含头文件&#xff0c;头文件包含我们自定义的函数int main(){int num…

JWT的实现及其适用场景

官方文档 一、什么是JWT JWT&#xff08;全称JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;它定义了一种紧凑且自包含的方式&#xff0c;用于作为JSON对象在各方之间安全地传输信息。此信息是经过数字签名的&#xff0c;因此可以验…

分页多线程处理大批量数据

1.业务场景 因为需要从一个返利明细表中获取大量的数据&#xff0c;生成返利报告&#xff0c;耗时相对较久&#xff0c;作为后台任务执行。但是后台任务如果不用多线程处理&#xff0c;也会要很长时间才能处理完。 另外考虑到数据量大&#xff0c;不能一次查询所有数据在内存…

LaTeX论文汇报ppt模板

在 LaTeX 的 beamer 类中&#xff0c;您可以使用不同的主题和模板来创建适合论文汇报的演示文稿。以下是一个使用了比较正式的 Madrid 主题的模板&#xff0c;您可以基于这个模板进行定制和扩展&#xff0c;以满足您论文汇报的需求。当需要在ppt输入中文的时候需要将第一行中的…

北京中科富海低温科技有限公司确认出席2024第三届中国氢能国际峰会

会议背景 随着全球对清洁能源的迫切需求&#xff0c;氢能能源转型、工业应用、交通运输等方面具有广阔前景&#xff0c;氢能也成为应对气候变化的重要解决方案。根据德勤的报告显示&#xff0c;到2050年&#xff0c;绿色氢能将有1.4万亿美元市场。氢能产业的各环节的关键技术突…

大数据技术在工厂生产数字转型中的应用与价值

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验&#xff01;希望我的分享能帮助到您&#xff01;如需帮助可以评论关注私信我们一起探讨&#xff01;致敬感谢感恩&#xff01; 随着大数据技术的快速发展&#xff0c;越来越多的企业开始关注并应用大数据技术&#x…

C语言:自定义类型(结构体)

目录 一、结构的特殊声明二、结构的自引用三、结构体内存对齐1.对齐规则2.为什么存在内存对齐(1)平台原因 (移植原因)&#xff1a;(2)性能原因&#xff1a; 3.修改默认对齐数 四、结构体传参五、结构体实现位段1.什么是位段2.位段的内存分配3.位段的跨平台问题4.位段使用的注意…

tftp使用

下载 sudo apt-get install tftpd-hpa 创建文件夹 mkdir /home/ljl/work/tftpd mkdir /home/ljl/tftpd chmod 777 tftpd/编辑 sudo vim /etc/default/tftpd-hpa //服务器端 sudo apt-get install tftp-hpa //客户端编辑权限 sudo vi /etc/default/tftpd-hpa 内容&#xff1…

jenkins构建完成后部署到本机,无法读取容器外文件夹

项目背景&#xff1a; Dockerjenkins 构建完成后&#xff0c;要把打包的dist文件夹内容移动到网站目录 /www/wwwroot/xxxxxx 文件夹下&#xff1b;但是获取不到jenkins容器外的文件夹。 解决办法&#xff1a; 在容器中&#xff0c;添加挂载/映射本机目录&#xff0c;把网站…

两直线交点算法 C

求两直线交点算法 有中间交点 则CD在AB异侧 A B A C A B A D \nobreak AB \times AC \newline AB \times AD ABACABAD 异号 叉乘后相乘小于零 等于零的几种情况 A B C与AB共线 D与AB共线 求交点&#xff0c;可由面积比例用叉乘计算 C E C D S A B C S A B C D . \frac…

yarn的使用与安装

文章目录 1.安装方式一&#xff1a;全局安装yarn2.安装方式二&#xff1a;通过开启corepack安装3.其他部分yarn命令4.Yarn镜像配置5.Pnpm使用方法同yarn无区别,可按照以上yarn的安装以及使用方式来使用pnmp 1.安装方式一&#xff1a;全局安装yarn 全局安装yarn npm i yarn -g…

视频记录历史播放位置效果

简介 每次打开页面视频从上一次的播放位置开始播放 利用lodash库做节流 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…

自动驾驶---Motion Planning之轨迹Path优化

1 背景 在之前的几篇文章中,不管是通过构建SL图《自动驾驶---Motion Planning之Path Boundary》,ST图《自动驾驶---Motion Planning之Speed Boundary》,又或者是构建SLT图《自动驾驶---Motion Planning之构建SLT Driving Corridor》,最终我们都是为了得到boundary的信息。 …

牛客题霸-SQL进阶篇(刷题记录二)

本文基于前段时间学习总结的 MySQL 相关的查询语法&#xff0c;在牛客网找了相应的 MySQL 题目进行练习&#xff0c;以便加强对于 MySQL 查询语法的理解和应用。 由于涉及到的数据库表较多&#xff0c;因此本文不再展示&#xff0c;只提供 MySQL 代码与示例输出。 部分题目因…

【隐私计算实训营003详解隐私计算框架及技术要点】

1. 隐语架构一览 1.1 隐语架构 隐语架构通常指的是一种面向隐私保护计算的软件框架或解决方案&#xff0c;它采用了密码学、可信执行环境&#xff08;TEE&#xff09;、多方安全计算&#xff08;MPC&#xff09;等多种隐私保护技术来实现在数据加密状态下进行计算&#xff0c;…

【计算机网络篇】数据链路层(2)封装成帧和透明传输

文章目录 &#x1f95a;封装成帧和透明传输&#x1f388;封装成帧&#x1f388;透明传输&#x1f5d2;️面向字节的物理链路使用字节填充的方法实现透明传输。&#x1f5d2;️面向比特的物理链路使用比特填充的方法实现透明传输。 &#x1f6f8;练习 &#x1f95a;封装成帧和透…

河北盟盾:高性能钢结构防火涂料,安全守护新力量

在现代化建设的浪潮中&#xff0c;防火安全日益成为各行业关注的焦点。河北盟盾防火材料有限公司以其卓越的产品质量和稳定性能&#xff0c;赢得了市场的广泛认可。公司始终坚持以科技为先导&#xff0c;以创新为动力&#xff0c;不断推出高品质、高性能的防火涂料产品。 公司的…

通讯录的动态实现

文章目录 通讯录的动态实现模块化编程通讯录的框架构建功能的具体实现初始化通讯录添加联系人删除联系人查找联系人修改联系人打印通讯录排序通讯录检查容量并扩容加载通讯录保留通讯录销毁通讯录 完整代码总结 通讯录的动态实现 模块化编程 分文件 不同模块放在不同的文件下 …

一招鲜吃遍天!CleanMyMac X苹果电脑Mac管家让你的Mac倍儿爽

一招鲜吃遍天&#xff01;CleanMyMac X 苹果电脑Mac管家让你的 Mac 倍儿爽 &#xff0c; 轻松清理、优化、保护你的 Apple 设备&#xff0c;体验前所未有的流畅&#xff0c;在当今数字化时代&#xff0c;我们的生活离不开各类电子设备&#xff0c;尤其是苹果电脑 Mac。 然而&am…

CISP 4.2备考之《安全支撑技术》知识点总结

文章目录 第一节 密码技术第二节 标识和身份鉴别技术第三节 访问控制技术 第一节 密码技术 密码学发展阶段&#xff1a;古典、近代、现代和公钥密码学及特点。 密码系统组成&#xff1a;明文、加密、密钥、解密、密文。 柯克霍夫原则&#xff1a;密钥保密&#xff0c;算法公开…