当前位置: 首页 > news >正文

视洞R33定制版改造自制IPC网络摄像头(可rtsp可web)

这期的主角是视洞R33智能摄像头,LT定制版。我们通过修改启动命令让它运行开放系统,并且搭建rkipc平台,通过WEB/VLC预览视频画面

硬件配置很高啊,主控使用RV1106G2(带0.5T NPU),传感器gc4023,宽视角分辨率2560x1440@30fps,实测4M分辨率能跑满。能连WiFi,支持双向对讲、红外夜视。咸鱼9.9捡回来一台(被绑定),目前被绑定的25左右,未绑定的要40+(不建议买,只能用LT平台,回放要开会员),不过画质真的比某些虚标的强

这个主控其实幸狐和Firefly也推过,因此可以将它们的系统移植到摄像头上。摄像头配置是内存128M,spi-nand 128M。需要准备电烙铁 USB转串口 一张空闲的TF卡

一.拆机飞出调试串口

收到货后拆开摄像头(上半部分的接缝翘一下),可以看到RX TX GND的丝印,飞出串口线,插上CH340,开搞~

二.制作SD卡根系统

一键刷入固件制作中(只适配8G/32G存储卡,某多15块钱左右的联想a2卡就够了)

下面的是手动刷入教程,比较繁琐,并且需要linux电脑/root过的手机

首先下载根系统,在幸狐SD 卡镜像烧录处下载buildroot镜像的sd卡版,解压缩后得到rootfs.img备用

在Firefly CT36B处下载CT36B的固件,解压缩后得到userdata.img oem.img备用

接下来需要将固件烧录进TF卡(为什么不烧录进设备?因为128M塞不下256M的系统,我不太懂rv的分区…如果有大佬能适配下就更好了)

唉,好麻烦,不写了,等我做包吧

三.修改启动参数 buildroot, 启动!

准备完成,接下来终于可以修改摄像头了~插入TF卡,接上串口线,打开PuTTY/Xterm,波特率115200,在终端内按住Ctrl+C,插上摄像头的电源。可以看到系统中断在了uboot阶段,接下来修改启动参数,输入以下命令

setenv sys_bootargs ' ubi.mtd=7 ubi.block=0,rootfs root=/dev/mmcblk1p3 rootfstype=ext4 rw rk_dma_heap_cma=66M'
saveenv
reset

系统应该会自动启动TF卡里的系统,当看到Luckfox login:时,恭喜系统启动成功!

四.调试摄像头

如果刷入了一键包,本步骤跳过

由于适配原因,默认的系统并没有很好的适配这款摄像头,WiFi模块也没有启用,因此我准备了一个一键patch脚本,以下: (建议先使用vi存进一个脚本里再执行,以防串口出现错误)

# 首先通过串口登录系统
# 挂载oem userdata分区
echo '/dev/mmcblk1p1  /oem            ext4    defaults        0       0
/dev/mmcblk1p2  /userdata       ext4    defaults        0       0
' >> /etc/fstab
mount -a
# 挂载原系统
mkdir -p /mtd/rootfs /mtd/oem
mount -t squashfs /dev/ubiblock0_0 /mtd/rootfs
# 拷贝原系统内的ubitool,挂载oem分区
cp /mtd/rootfs/usr/bin/ubi* /usr/bin
ubiattach -m 8
ubiblock -c /dev/ubi1_0
mount -t squashfs /dev/ubiblock1_0 /mtd/oem
# 拷贝原系统内的内核模块及启动脚本
rm -r /oem/usr/ko
cp -a /mtd/oem/usr/ko /oem/usr/ko
cp /mtd/oem/usr/bin/customer_insmod* /oem/usr/bin
# 删除系统内USB相关自启动(没找到usb焊盘...而且内核也没有相关的模块)
rm /etc/init.d/*usb*
# 写入WiFi启动脚本和配置
# S99done
echo '#!/bin/shcase "$1" instart)/etc/rc.local &;;*)exit 1
esacexit 0' > /etc/init.d/S99done
chmod +x /etc/init.d/S99done
# rc.local
echo '#!/bin/sh
# rootfs
mount -t squashfs /dev/ubiblock0_0 /mtd/rootfs
# userdata
ubiattach -m 12
#mount -t ubifs /dev/ubi1_0 /mtd/userdata
# oem
ubiattach -m 8
ubiblock -c /dev/ubi2_0
mount -t squashfs /dev/ubiblock2_0 /mtd/oem
# resource
#ubiattach -m 10
#ubiblock -c /dev/ubi3_0
#mount -t squashfs /dev/ubiblock3_0 /mtd/resource
# gpio
# export ircut open gpio
echo 35 > /sys/class/gpio/export
# export ircut close gpio
echo 36 > /sys/class/gpio/export
# open green led in front of the camera
echo 3 > /sys/class/gpio/export
echo high > /sys/class/gpio/gpio3/direction
# wpa
chroot /mtd/rootfs mount -a
cp /etc/wpa_supplicant.conf /mtd/rootfs/tmp
cp /etc/start_wpa.sh /mtd/rootfs/tmp
chroot /mtd/rootfs /tmp/start_wpa.sh' > /etc/rc.local
chmod +x /etc/rc.local
# start_wpa.sh
echo '#!/bin/sh
mount -t devtmpfs udev /dev
# wait for insmod
while [ ! -d /sys/class/net/wlan0 ]
do
sleep 1
done
wpa_supplicant -Dnl80211 -i wlan0 -c /tmp/wpa_supplicant.conf &
sleep 5
udhcpc -i wlan0
exit 0' > /etc/start_wpa.sh
chmod +x /etc/start_wpa.sh
# wpa_supplicant.conf 根据自己wifi名称密码修改
echo 'ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={ssid="YOUR WIFI SSID"psk="YOUR WIFI PASSWORD"priority=1
}' > /etc/wpa_supplicant.conf
sync
# 加载摄像头默认配置
cp /oem/usr/share/rkipc-400w.ini /userdata/rkipc.ini
# 此外需要修改RkLunch.sh,将199到226行全部删掉(因为默认不支持gc4023,会导致配置被删)

执行完成后,打开摄像头所在IP,应该就能看到rkipc的WEB界面了,rtsp地址是rtsp://<IP地址>/live/0(第0码流, 高分辨率)和rtsp://<IP地址>/live/1(低分辨率),推荐的播放软件是VLC/Onvier。NPU及其他配置请参考瑞芯微rkipc手册和rkipc.ini

五.一些参考资料

分析得到的引脚分配:

gpio4         wifipwr
gpio35        ircut open
gpio36        ircut close
pwmchip3/pwm0 irled
requested enabled period: 10000 ns duty: 5000 ns polarity: normal
pwmchip0/pwm0 led
requested enabled period: 1000000 ns duty: 1000000 ns polarity: normal
gpio3         led (正面G)
gpio2         led (正面R)
gpio32        key (正面按钮 按下为0)

未完待续

http://www.wxhsa.cn/company.asp?id=3125

相关文章:

  • 二十一、流水线的冒险与处理
  • java线程的一些思考
  • 2025智能数据分类分级产品选型指南:构建数据治理的智能基座
  • 这是我的第一个博客
  • eqw
  • 2.第一个c语言项目
  • GitHub Copilot 2025年8月最新更新!
  • NOIP 模拟赛十五
  • 面试必备进程调度:fg,bg,jobs,ctrl+z,
  • 完整教程:计算机毕设 java 多媒体教室管理系统 基于 Java+SSM 的多媒体教室运维平台 Java+MySQL 的教室预约与设备管理系统
  • 笔记一
  • 二十、指令流水线的基本实现
  • 物料模板匹配成功后,自动跟随的逻辑
  • TCL t508n 关闭电话语音王提醒/改用4G
  • 完整教程:Markdown 编辑器 语法
  • 天地图的带洞多边形操作
  • k8s集群中一台etcd的pod异常
  • 深入解析:基于51单片机电子称称重压力检测阈值报警系统设计
  • 手撕大模型|KVCache 原理及代码解析
  • Kuby免疫学读书笔记01——造血干细胞
  • 微信群机器人开发
  • 动态规划和马尔可夫决策对比
  • 20250913 之所思 - 人生如梦
  • 动态规划
  • 电视剧和综艺
  • 天地图编辑多边形和折线时,双击删除编辑点
  • POCamp 2023
  • 美团AI面试
  • 技术面:Spring (bean的生命周期、创建方式、注入方式、作用域)
  • 马尔可夫决策