- 博客(255)
- 资源 (25)
- 收藏
- 关注
原创 RK3568笔记六十二:使用V4L2读取摄像头并在LCD上显示
若该文为原创文章,转载请注明原文出处。测试在LCD显示的目的是想移植韦老师的基于LVGL的相机程序。LVGL前面有移植测试过是正常的,但使用V4L2读取MIPI摄像头并在LCD上显示没测试过。这里记录下测试的情况。
2024-09-23 20:50:47 38
原创 RK3568笔记六十一:MIPI摄像头应用程序编写
V4L2设备驱动框架向应用层提供了一套统一、标准的接口规范,应用程序按照该接口规范来进行应用编程,从而使用摄像头。对于摄像头设备来说,其编程模式如下所示:1.首先是打开摄像头设备;2.查询设备的属性或功能;3.设置设备的参数,譬如像素格式、帧大小、帧率;4.申请帧缓冲、内存映射;5.帧缓冲入队;6.开启视频采集;7.帧缓冲出队、对采集的数据进行处理;8.处理完后,再次将帧缓冲入队,往复;9.结束采集。
2024-09-22 10:36:05 183
原创 RK3568笔记六十:V4L2命令测试
若该文为原创文章,转载请注明原文出处。测试V4L2是想移植韦老师的相机程序,但他使用的是V4L2方式采集摄像头。而正点原子的rknn使用的是opencv。这里记录测试过程。
2024-09-21 15:03:15 104
原创 RK3568笔记五十九:FastSAM部署
Fast Segment Anything Model (FastSAM) 是一种基于 CNN 的新型实时解决方案,可用于 Segment Anything 任务。该任务旨在根据各种可能的用户交互提示分割图像中的任何物体。FastSAM 在保持极具竞争力的性能的同时大幅降低了计算需求,使其成为各种视觉任务的实用选择。模型架构。
2024-09-18 10:41:01 70
原创 RK3568笔记五十八:基于SIP的视频通话测试
记录SIP的视频通话测试过程,以前有做过GB28181了解过SIP协议,后面由于一些原因,没有在做了,在安防领域上,有很多终端设备使用SIP协议实现视频对讲等功能。此篇记录交叉编译eXosip和osip,并编写检测的SIP客户端,通过microSIP软件模拟和板子交互过程。demo有两个功能:一是:microSIP呼叫设备,设备把语音和视频上传上来显示。二是:设备呼叫分机,microSIP应答,视频和语音未处理。SIP协议采用Client/Server模型。
2024-08-31 22:42:50 710
原创 RK3568笔记五十七:基于UNetMultiLane的多车道线等识别部署
若该文为原创文章,转载请注明原文出处。此篇记录在正点原子的ATK-DLRK3568上复现山水无移大佬的UNetMultiLane 多车道线、车道线类型识别。数据是基于开源数据集 VIL100。其中数据标注了所在的六个车道的车道线和车道线的类型。8条车道线(六个车道),对应的顺序是:7,5,3,1,2,4,6,8。其中1,2对应的自车所在的车道,从左往右标记。
2024-08-26 21:24:20 95
原创 RK3568笔记五十六:yolov8_obb旋转框训练部署
若该文为原创文章,转载请注明原文出处。本文基于rknn_model_zoo和山水无移大佬的博客和代码训练模型并部署到正点原子的ATK-DLRK3568板子测试。
2024-08-20 22:54:07 183
原创 AI项目二十四:yolov10竹签模型,自动数竹签
若该文为原创文章,转载请注明原文出处。原本是为部署RK3568而先熟悉yolov10流程的,采用自己的数据集,网上很多,检测竹签,并计数。
2024-08-18 09:41:47 358
原创 RK3568笔记五十五:yolov10训练部署测试
若该文为原创文章,转载请注明原文出处。yolov8还没熟悉,yolov10就出来了,本篇记录使用yolov10训练自己的数据,并部署到rk3568上。参考大佬的博客。
2024-08-17 23:29:52 185
原创 RK3568笔记五十四:SORT实时目标追踪
YOLOv5具备目标检测的功能,把视频分解成多幅图像并逐帧执行时,如果视频帧中有多个目标,如何知道一帧中的目标和上一帧是同一个对象就是目标跟踪的工作。DeepSort是实现目标跟踪的算法,从sort(simple online and realtime tracking)演变而来,使用卡尔曼滤波器预测所检测对象的运动轨迹,匈牙利算法将它们与新的检测目标相匹配。结合YOLOv5和DeepSORT可以在实时场景中实现高效的目标检测和跟踪。
2024-08-11 10:01:36 121
原创 RK3568笔记五十三:RC522驱动开发测试(SPI1)
RC522 是一种非接触式读写卡芯片,底层采用SPI模拟时序,可以应用于校园一卡通、水卡充值消费、公交卡充值消费设计、门禁卡等。非接触性IC卡与读卡器之间通过无线电波来完成读写操作。二者之间的通讯频率为13.56MHZ。非接触性IC卡本身是无源卡,当读写器对卡进行读写操作时,读写器发出的信号由两部分叠加组成:一部分是电源信号,该信号由卡接收后,与本身的L/C产生一个瞬间能量来供给芯片工作。另一部分则是指令和数据信号,指挥芯片完成数据的读取、修改、储存等,并返回信号给读写器,完成一次读写操作。
2024-08-05 22:00:35 357
原创 RK3568笔记五十二:HC-SR04超声波模块驱动测试
HC-SR04超声波模块是一种常用于距离测量和障碍物检测的模块。它通过发射超声波信号并接收回波来计算所测量物体与传感器之间的距离。1、基本原理TRIG引脚负责发送超声波脉冲串。此引脚应设置为高电平10μs,此时HC-SR04将以40 kHZ发出8个周期的声波脉冲。发出声波爆发后,ECHO引脚将变为高电平。ECHO引脚是数据引脚 - 用于进行距离测量。发送超声波脉冲串后, ECHO引脚将变为高电平,它将保持高电平,直到检测到超声波脉冲串为止,此时它将变为低电平。
2024-08-04 21:26:46 802
原创 RK3568笔记五十一:W25Q64测试(spi 标准接口 )
若该文为原创文章,转载请注明原文出处。前面有测试过W25Q64,但那是自己编写的驱动,现在使用内核自带的驱动,只需要通过SPI标准接口,编写应用程序即可以读写W25Q64.
2024-08-04 00:23:44 476
原创 RK3568笔记四十九:W25Q64驱动开发(硬件SPI1)
串行外设接口 (Serial Peripheral interface) 简称 SPI,是一种高速的,全双工,同步的通信总线,并 且在芯片的管脚上只占用四根线,节约了芯片的管脚。而W25Q64是常见的串行闪存器件,W25Q64将8M字节的容量分为128个块,每个块大小为64K字节,每个块又分为16个扇区,每个扇区4K个字节。W25Q64的最小擦除单位为一个扇区,也就是每次必须擦除4K个字节。所以,这需要给W25Q64开辟一个至少4K的缓存区,这样必须要求芯片有4K以上的SRAM才能有很好的操作。
2024-07-31 22:16:15 1784
原创 RK3568笔记四十八:ADC驱动开发测试
RK3568集成了一个逐次逼近模数转换器(Successive Approximation ADC),通常简称为SAR ADC。这种转换器能够将连续的模拟信号转换为离散的数字信号,其特点在于具有较高的分辨率和转换速度。在RK3568中,这个SAR ADC支持六通道单端10位的SAR-ADC,时钟频率必须小于13MHZ。
2024-07-30 22:25:14 1114
原创 RK3568笔记四十七:PWM 子系统
PWM(Pulse width modulation),脉冲宽度调制。在内核中 PWM 驱动较简单,但是麻雀虽小,五脏 俱全,基本的框架是完整的。pwm 控制器驱动 soc 厂商已经写好,我们要做的是在设备树 (或者是设备树插件) 中开启控制器 节点,描述 pwm 设备节点,然后驱动中调用内核 PWM 提供的接口,来实现 pwm 驱动控制。
2024-07-29 22:43:02 450
原创 RK3568笔记四十六:按键输入子系统
linux 为了统一各个输入设备,将输入子系统分为了 Drivers(驱动层)、Input Core(输入子系统核心 层)、handlers(事件处理层) 三部分。• Drivers 主要实现对硬件设备的读写访问,设置中断,并将硬件产生的事件转为 Input Core 定义的规范提交给 Handlers;• Input Core 起到承上启下的作用,为 Drivers 提供了规范及接口,并通知 Handlers 对事件进 行处理;
2024-07-26 11:43:18 627
原创 RK3568笔记四十五:串口驱动测试
若该文为原创文章,转载请注明原文出处。正点原子的ATK-DLRK3568板子使用了RS232 和 RS485 接口,分别连接到了 ATK-DLRK3568 的 UART3 和 UART4 接口上。这里测试串口驱动,使用的是UART9。
2024-07-25 18:02:04 1047
原创 RK3568笔记四十四:OLED 屏幕驱动(硬件I2C_3)
若该文为原创文章,转载请注明原文出处。本篇记录使用硬件I2C驱动OLED屏幕,显示界面效果如下。使用硬件I2C比使用GPIO模拟简单多了,不用自己写I2C协议。
2024-07-25 15:20:40 386 1
原创 RK3568笔记四十三:MPU6050驱动开发(硬件I2C_3)
i2c支持一主多从,各设备地址独立,标准模式传输速率为100kbit/s,快速模式为400kbit/s。总线通过上拉电阻接到电源。当 I2C 设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平。I2C物理总线使用两条总线线路,SCL和SDA。
2024-07-24 22:07:14 1179
原创 RK3568笔记四十二:OLED 屏幕驱动(模拟I2C)
SSD1306是一款带控制器的用于OLED点阵图形显示系统的单片CMOS OLED/PLED驱动器。手上的屏幕使用的是I2C方式驱动,I2C总线包含从机地址位 SA0,由数据信号线(SDA)和时钟信号线(SCL)组成。SDA和SCL线都必须接上拉电阻。写入时序IIC写入时序如下所示:1、主机先发起开始(START)信号,然后发送1byte首字节,包括从机地址(7位)和读写数据位(1位,最低位,0为写模式),驱动器识别从机地址为本机地址之后,将会发出 应答信号(ACK)。(首字节组成如下图所示)
2024-07-21 14:37:56 1328
原创 RK3568笔记四十一:DHT11驱动开发测试
DHT11是串行接口(单线双向)DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分。
2024-07-21 10:29:40 560
原创 RK3568笔记四十:设备树
设备树 (Device Tree) 的作用就是描述一个硬件平台的硬件资源,一般描述那些不能动态探测到的设备,可以被动态探测到的设备是不需要描述。设备树可以被 bootloader(uboot) 传递到内核,内核可以从设备树中获取硬件信息。设备树描述硬件资源时有两个特点。• 第一,以“树状”结构描述硬件资源。例如本地总线为树的“主干”在设备树里面称为“根节点”,挂载到本地总线的 IIC 总线、SPI 总线、UART 总线为树的“枝干”在设备树里称为。
2024-07-18 19:34:49 1111
原创 RK3568笔记三十九:多个LED驱动开发测试(设备树)
通过学习设备树控制GPIO,发现有多种方式一、直接通过寄存器控制二、通过设备树,但不通过pinctrl子系统三、通pinctrl的GPIO子系统。正点原子三个方法都有测试代码,自行测试。学习控制多个LED主要是想模拟I2C或SPI,不使用硬件方式处理。但很多手册,只给了单个GPIO的设备树配置方式。此篇记录,方便后面I2C或SPI模拟测试使用。测试使用的是正点原子的ATK-DLRK3568板子,根据操作可以测试成功,环境需要自行搭建。
2024-07-17 21:59:01 527
原创 RK3568笔记三十八:DS18B20驱动开发测试
流程基本和按键驱动差不多,主要功能是获取DS18B20温度,使用ioctl修改配置寄存器从而改变分辨率的大小,总共支持9位、10位、11位、12位四种分辨率。主要流程:1、修改设备树2、编写驱动程序3、编写应用程序4、测试。
2024-07-15 22:47:09 1183
原创 RK3568笔记三十五:LED驱动开发测试
复用关系寄存器的基地址为 0xFDC20000 ,偏移地址为0x0010所以要操作的地址为基地址+偏移地址=0xFDC20010GPIO 的基地址为 0xFDD60000,偏移地址为 0x000C,所以方向寄存器要操作的地址为基地址+偏移地址=0xFDD6000CGPIO 的基地址为 0xFDD60000,偏移地址为 0x0004,所以数据寄存器要操作的地址为基地址+偏移地址=0xFDD60004。
2024-07-13 17:01:10 926
原创 RK3568笔记三十三: helloworld 驱动测试
若该文为原创文章,转载请注明原文出处。报着学习态度,接下来学习驱动是如何使用的,从简单的helloworld驱动学习起。开始编写第一个驱动程序—helloworld 驱动。
2024-07-10 23:25:20 335
原创 AI项目二十三:危险区域识别系统
在IPC监控视频中,很多IPC现在支持区域检测,当在区域内检测到有人闯入时,发送报警并联动报警系统,以保障生命和财产安全具有重大意义。它能够在第一时间检测到人员进入危险区域的行为,并发出及时警告,从而防止潜在事故的发生。简单说是,在地图上标记出禁区(多边形),用计算机视觉技术监控进入禁区的物体。现在很多摄像头模组,都自带了移动侦测功能,比如海思,君正,RK等。以前有在RV1126上实现过类似的,现在想在RK3568上实现。记录下PC端测试情况。1、使用YOLOV5识别人物。
2024-06-18 23:23:36 680
原创 AI项目二十二:行人属性识别
实现行人属性分析系统需要 3 个步骤:用 YOlOv5 识别行人用 ByteTrack 跟踪标记同一个人训练多标签图像分类网络,识别行人 26 个属性测试过程中由于使用的是CPU安装cython_bbox花了一点时间.环境搭建还是蛮麻烦的。如有侵权,或需要完整代码,请及时联系博主。
2024-06-15 16:16:52 1164
原创 RK3568笔记三十二:PaddleSeg训练部署
训练的模型权重保存在output目录下,如下所示。总共训练1000轮,每500轮评估一次并保存模型信息,所以有。PaddleSeg训练好模型J是动态的,将模型导出为预测模型、使用预测库进行部署,可以实现更快的推理速度。下载后把数据放到 data目录下,没有目录新创建一个。后续模型的评估、测试和导出,都是使用保存在。将训练出来的动态图模型转化成静态图预测模型。评估精度最高的模型权重,保存在。到处RKNN需要rknn环境,自行搭建。文件夹下精度最高的模型权重。脚本输入参数的详细说明如下。虽然报错,但导出成功。
2024-06-12 15:38:17 902
原创 RK3568笔记三十一:ekho 6.3 文本转语音移植
若该文为原创文章,转载请注明原文出处。移植的目的是在在OCR识别基础上增加语音播放,把识别到的文字直接转TTS播报出来,形成类似点读机的功能。
2024-06-09 13:44:02 550 2
原创 RK3568笔记三十:PP-ORCv3自训练部署
PP-OCR是百度公布并开源的OCR领域算法,一个轻量级的OCR系统,在实现前沿算法的基础上,考虑精度与速度的平衡, 进行模型瘦身和深度优化,使其尽可能满足产业落地需求。PP-OCR是一个两阶段的OCR系统,其中文本检测算法选用DB,文本识别算法选用CRNN,并在检测和识别模块之间添加文本方向分类器,以应对不同方向的文本识别。
2024-06-07 14:26:50 1381
原创 RK3568笔记二十九:RTMP推流
RTMP推流器(Streamer)的在流媒体系统中的作用可以用下图表示。首先将视频数据以RTMP的形式发送到流媒体服务器端(Server,比如FMS,Red5,Wowza等),然后客户端(一般为Flash Player)通过访问流媒体服务器就可以收看实时流了。运行本程序之前需要先运行RTMP流媒体服务器,并在流媒体服务器上建立相应的Application。有关流媒体服务器的操作不在本文的论述范围内,在此不再详述。
2024-06-02 21:40:58 1487
原创 RK3568笔记二十七:LPRNet车牌识别
LPRNet的Pytorch实现,一种高性能和轻量级的车牌识别框架。完全适用于中国车牌识别(Chinese License Plate Recognition)及国外车牌识别!目前仅支持同时识别蓝牌和绿牌,即新能源车牌等中国车牌,但可通过扩展训练数据或微调支持其他类型车牌及提高识别准确率!该网络的特点:1、不需要对字符进行预分割,是一个端到端的轻量化字符识别模型,速度快,精度还不错;这里主要是因为仿照squeezenet和inception的思想设计了一个轻量化的卷积模块。
2024-05-27 20:41:52 1357
原创 RK3568笔记二十六:音频应用
测试使用的是ATK-DLR3568板子,板载外挂RK809 CODEC芯片,RK官方驱动是写好的,不用在自己重新写。声卡设置的保存通过 alsactl 工具来完成,此工具也是 alsa-utils 编译出来的。RK809 CODEC芯片的I2S连接到RK3568的i2c0, 内核使能后,需要通过I2C配置一系列参数。设备树路径: arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi。/etc/init.d/rcS,添加执行文件命令,上电后会自动配置声卡。
2024-05-27 07:24:23 842
STM32F407+W5500 阿里云Iot.zip
2020-04-16
Huawei LiteOS for ALIENTEK MiniSTM32V3.zip
2019-05-23
ITOP4412 OV5640摄像头最小系统测试(C语言)
2019-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人