![](https://img-blog.csdnimg.cn/direct/87b92958a9fc4b89b16f76a1fda8a186.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
全志H616
文章平均质量分 90
全志H616
Orange Pi Zero2
咖喱年糕
欢迎大家,和我一起探讨学术上的知识,一起学习一起进步!
展开
-
Linux文件系统目录结构
典型的Linux文件系统目录结构的列表。/bin: 存放系统引导和修复所需的二进制可执行文件,如lscpmv等命令。/boot: 存放操作系统引导文件,例如内核和引导加载程序配置。/dev: 存放设备文件,包括磁盘、终端、串口等硬件设备。/etc: 存放系统配置文件,包括系统全局配置、网络配置、用户账户配置等。/home: 存放用户的家目录,每个用户都有一个独立的子目录。/lib/lib32/lib64: 存放系统库文件,根据系统架构和位数不同分别存放32位和64位库。原创 2023-11-06 14:52:56 · 126 阅读 · 0 评论 -
【OrangePi Zero2 智能家居】代码优化
要使用inih库,你需要在你的代码中包含ini.h头文件,并调用ini_parse()函数来解析INI文件。如果你需要更复杂的处理逻辑,你可以在回调函数中实现它。注意,inih库并不直接提供设置的持久化功能,因此你需要自己负责将修改后的设置写回INI文件。上面设备类的代码都是重复设备信息配置, 因此选择非常的冗余,其实这些信息完全可以利用配置文件。易于集成:只需要将ini.c和ini.h两个文件添加到你的项目中即可开始使用。进行配置,这样就不需要如此多的设备类节点代码, 也方便后期的添加维护。原创 2024-02-15 09:57:21 · 538 阅读 · 0 评论 -
【OrangePi Zero2 智能家居】智能家居项目的软件实现
之前讲过智能分类的项目,因为会用到语音模块、OLED显示、网络模块、这些代码都可以从智能分类的项目中直接拷贝过来使用,另外添加之前准备好的人脸识别的代码。语音监听模块会借助消息队列进行消息的传递,因此先实现消息队列的接口。另外,被控制的设备类也统一配置接口,同时添加到设备链表中。根据control.h头文件的定义,实现语音监听接口。同样参考voice接口实现receive 接口。同样参考voice接口实现smoke 接口。参考voice接口实现socket 接口。三、实现语音监听接口。原创 2024-02-15 09:56:40 · 1586 阅读 · 0 评论 -
【OrangePi Zero2 智能家居】阿里云人脸识别方案
SIGEV_THREAD:事件发生时,内核会(在此进程内)以sigev_notify_attributes为线程属性创建一个线程,并让其执行sigev_notify_function,并以sigev_value为其参数。c.sigev_value: sigev_notify=SIGEV_SIGEV_THREAD时使用,作为sigev_notify_function的参数, 当发送信号时,这个值会传递给信号处理函数。前在阿里云人脸数据库里存储人脸照片后,输入单张已授权人脸图像,与人脸库中人脸图片进行对比,原创 2024-02-10 17:13:13 · 1505 阅读 · 0 评论 -
【OrangePi Zero2 智能家居】需求及项目准备
此接口是人工智能接口,阿里云识别模型是通过训练后的模型,精准度取决于训练程度,人工智能范畴在常规嵌入式设备负责执行居多。串口模块可先通过串口助手验证每个指令的准确性, 然后运行wiringOP中的serialTest程序(需。次触发灯的亮灭、电磁锁通断、风扇开关、蜂鸣器的播听及最后读取两次gpio的引进状态。使用以下下脚本可分别测试继电器控制的客厅泳池灯、卧室灯、风扇、烟雾报装置是否正常连接。pin6最终确定烟雾报警模块在有烟雾的情况下的状态是否变为0。把/dev/ttyS2改成/dev/ttyS5)原创 2024-02-10 17:12:50 · 435 阅读 · 0 评论 -
【OrangePi Zero2的系统移植】交叉编译工具链配置、wiringOP库、智能分类工程代码
一、交叉编译工具链配置一、交叉编译工具链配置。原创 2024-02-09 17:35:17 · 1291 阅读 · 0 评论 -
【OrangePi Zero2的系统移植】嵌入式Linux系统的组成、编译u-boot、编译内核、Linux根文件系统
uboot是一种通用的引导加载程序,它可以用于多种嵌入式系统,支持多种操作系统,如Linux, Android,NetBSD等。uboot的主要作用是将操作系统内核从存储设备(如Flash, SD卡等)加载到内存中,并执行内核代码。原创 2024-02-18 18:12:26 · 1162 阅读 · 0 评论 -
【OrangePi Zero2的系统移植】OrangePi Zero2 SDK说明
一、使用环境要求二、获取Linux SDK三、首次编译完整SDK之前我们讲解香橙派的使用时, 都是直接在香橙派上进行代码编译, 但在实际的项目开发过程中,更多的还是使用交叉编译环境进行代码的编译。再编译完成之后再把代码放到香橙派等ARM开发板上运行。因此这章节专门讲解下交叉编译环境的搭建、Uboot移植和内核移植内容SDK 全称 Software Development Kit,即软件开发工具包。一般包括了一些工具(如交叉编译工具链)、库、文档和示例代码。香橙派的Linux SDK其实指的就是 o原创 2024-02-09 17:34:55 · 1319 阅读 · 0 评论 -
【Makefile】入门
Makefile中的变量赋值运算符有四种,分别是:=?和+=符号表示取变量的值,当变量名多于一个字符时,使用"( )表示延迟展开赋值,即变量的值是在使用时才确定,可能会受到后面的赋值影响。例如,,那么最后VAR_B的值是AA B,而不是A B。:=表示直接赋值,即变量的值是在定义时就确定,不会受到后面的赋值影响。例如,,那么最后VAR_B的值是A B,而不是AA B。?表示条件赋值,即只有当变量没有被赋值时,才使用等号后面的值作为变量的值。例如,VAR?原创 2024-02-08 13:15:10 · 1128 阅读 · 0 评论 -
【阿里云】图像识别 智能分类识别 增加网络控制功能点(三)
跳转到此处跳转到此处跳转到此处跳转到此处跳转到此处跳转到此处。原创 2023-11-25 17:15:09 · 575 阅读 · 0 评论 -
【阿里云】图像识别 智能分类识别 增加垃圾桶开关盖功能点和OLED显示功能点(二)
一、增加垃圾桶开关盖功能一、增加垃圾桶开关盖功能实现功能:使用语音模块和摄像头在香橙派上做垃圾智能分类识别, 同时根据识别结果开关不同的垃圾桶的盖子。原创 2023-11-25 11:34:06 · 592 阅读 · 5 评论 -
【阿里云】图像识别 智能分类识别 项目开发(一)
语音模块和阿里云图像识别结合语音模块和阿里云图像识别结合使用语音模块和摄像头在香橙派上做垃圾智能分类识别语音控制摄像下载上传阿里云解析功能点实现环境准备将语音模块接在UART5的位置在orange pi 3.0.6上确认已经配置开启了uart5:(overlays=uart5)3. 同时将USB摄像头接到香橙派上4. 确认已经运行了mjpg-streamer服务代码实现。原创 2023-11-24 10:26:51 · 675 阅读 · 0 评论 -
【阿里云】图像识别 摄像模块 语音模块
用户的 autostart 目录通常位于。原创 2023-11-21 21:04:13 · 709 阅读 · 0 评论 -
【阿里云】图像识别
一、阿里云官网资料及配置本地一、阿里云官网资料及配置本地二、配置环境变量配置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。Linux和macOS系统配置方法在IntelliJ IDEA中打开终端Terminal。执行以下命令,配置环境变量。需替换为您RAM用户的AccessKey ID,替换为您RAM用户的AccessKey Secret。原创 2023-11-20 16:54:16 · 618 阅读 · 0 评论 -
【SQLite】的使用及指令| 编程操作(增删改查)
int i;for (i=0;//必须返回0,这样数据库中有多少条数据,这个回调函数就会被调用多少次int ret;//返回值编号return -1;}else{if (ret == SQLITE_CANTOPEN){//无法打开数据库文件return -1;if(ret!return 0;SQLite 菜鸟教程十二、创建 CREATE 表int i;for(i=0;i原创 2023-11-14 18:14:56 · 4831 阅读 · 0 评论 -
守护进程daemon(),C 库函数asctime、localtime,UDEV的配置文件,开机自启动,自动挂载U盘
一、守护进程一、守护进程守护进程(Daemon Process)是在计算机系统后台运行的一类进程,它们通常在系统启动时启动,不依赖于用户直接操作,一直运行在后台,不受用户登录或注销的影响。守护进程的存在主要是为了执行特定的系统任务或服务,例如服务器、网络服务、定时任务等。守护进程通常在后台运行,不与任何终端关联,不接受用户的直接输入。守护进程通常会调用fork函数创建一个子进程,并使得子进程成为新的会话组长,从而脱离与终端的关联。守护进程通常会关闭与终端相关的文件描述符,以防止被终端关闭影响进程运行。原创 2023-11-11 16:47:56 · 396 阅读 · 0 评论 -
Linux 的热插拔机制通过 Udev(用户空间设备)实现、守护进程
一、Udev作用概述一、Udev作用概述Udev(用户空间设备)是一个 Linux 系统中用于动态管理设备的设备管理器。它的主要作用是在设备插入或移除时,负责管理与这些事件相关联的设备节点以及执行相应的动作。Udev 负责在 Linux 系统中检测和管理设备。当新设备插入或旧设备被移除时,Udev 负责识别这些变化,并在/dev目录下创建或删除相应的设备节点。Udev 为设备节点提供了一个规范的命名机制,以便用户和应用程序能够更容易地识别设备。这有助于确保相同类型的设备在不同系统上都有相似的设备节点名称。原创 2023-11-10 12:03:24 · 2344 阅读 · 0 评论 -
【Orangepi Zero2 全志H616】驱动串口实现Tik Tok—VUI(语音交互)
a. 把手机接入开发板b. 安装adb工具,在终端输入adb安装指令: sudo apt-get install adbc. dmeg能查看到手机接入的信息,但是输入adb devices会出现提醒d. 配置文件,以支持USB设备的热拔插,支持UDEV的机制在/etc/udev/rules.d 文件夹下创建规则文件在文件中添加内容 SUBSYSTEM==“usb”, ENV{DEVTYPE}==“usb_device”, MODE=“0666”原创 2023-11-09 20:32:19 · 712 阅读 · 0 评论 -
【Orangepi Zero2 全志H616】驱动串口通信
一、串口的基本认知一、串口的基本认知串口(Serial Port),也被称为串行端口,是一种用于数据通信的物理接口,允许数据以连续的比特流形式在计算机和外部设备之间进行传输。串口通信在各种应用中非常常见,包括传感器连接、嵌入式系统、通信设备、GPS接收器、打印机等。/dev串口通信是一种非常有用的通信方式,特别适合连接外部设备和嵌入式系统。了解串口通信的基本概念和参数设置对于成功进行串口通信非常重要。二、串口关于电气标准和协议标准串口通信涉及两个主要方面的标准:电气标准和协议标准。原创 2023-11-08 16:51:24 · 478 阅读 · 0 评论 -
【Orangepi Zero2 全志H616】驱动OLED屏应用-IIC协议、设备的映射(mmap)
一、OLED屏幕一、OLED屏幕二、Orangepi的IIC接口。原创 2023-11-07 16:01:11 · 524 阅读 · 0 评论 -
【Orangepi Zero2 全志H616】驱动舵机控制 、Linux定时器(signal、setitimer)
这使你能够在程序中捕获和处理特定的信号,以采取适当的行动。不同的信号有不同的用途,可以用于控制程序的行为。函数是一个用于设置信号处理函数的C标准库函数,可用于捕获和处理信号。函数允许你为指定的信号注册一个自定义的处理函数,该处理函数会在程序接收到相应的信号时被调用。是一个UNIX系统上的系统调用函数,用于设置和管理定时器。不同的PWM波形对应不同的旋转角度,以20ms为周期,50hz为频率的PWM波。你可以根据需要修改定时器的初始值和重复间隔以实现不同的定时任务。你可以捕获这个信号并执行相应的操作。原创 2023-11-06 10:38:06 · 350 阅读 · 2 评论 -
【Orangepi Zero2 全志H616】驱动超声波测距、时间函数(gettimeofday)API
一、HC-SR04超声波模块一、HC-SR04超声波模块型号:HC-SR04接线参考:模块除了两个电源引脚外,还有TRIG、ECHO引脚 / P0、P1超声波测距原理超声波PWM模拟的时序图二、时间函数API测试代码代码实现和验证。原创 2023-11-04 17:58:30 · 155 阅读 · 0 评论 -
【Orangepi Zero2 全志H616】驱动蜂鸣器
shell脚本处理参数,可以通过$0 来处理,这里的$1 是要编译的文件。二、wiringPi库示例代码。一、用户手册对应的I/O。一、用户手册对应的I/O。四、创建shell脚本。原创 2023-11-04 16:41:49 · 168 阅读 · 0 评论 -
【Orangepi Zero2 全志H616】开发板资料(刷机、系统烧录)及环境搭建
跳转到此处跳转到此处跳转到此处跳转到此处跳转到此处跳转到此处打开 MobaXterm ,单击左上的图标Session。在随后弹窗中,单击Serial按钮。然后会切换到串口设置界面,在Serial port右边的下拉窗口在,找到并选择COM9,这个就是刚刚插入电脑 USB 的 USB 转 TTL 模块的 COM 口。接着选择波特率,单击Speed (bps)的 下拉按钮,选择 115200 的波特率,然后单击OK按钮,完成串口通信设置。原创 2023-11-04 11:03:40 · 1412 阅读 · 0 评论