一个可适配多种摄像头且支持 UDP、HTTP 的网络图传模块
一、产品简介
一款可自行适配多种摄像头且支持 HTTP 、UDP 传输视频流的无线网络图传硬件模块。
二、应用场景
- 玩具场景,如遥控车上,实时传输视频流,便于观察小车所在环境。
- 视频监控,可以安装在室内或室外,实时监控室内室外的状态。
- 图像识别,可以进行人脸识别、行人识别、车牌识别等等。
三、产品功能
网络配置、摄像头配置、网络视频流配置均通过串口命令行控制台配置。
- 指示灯,闪烁表示尚未联网,常亮表示联网成功。
- 看门狗,出现某些意外异常,会自行重启并恢复配置。
- 网络配置,支持串口配置无线网络,支持 STA 和 AP 模式。
- 自动配置,系统启动时会根据上一次设置的配置信息,自动配置模块。
- 网络视频流,支持 UDP、HTTP 视频流,其中 UDP 需要上位机、而 HTTP 只需要浏览器即可。
- 图像效果可配置,根据摄像头模组的 Sensor 手册,可通过串口指令在线实时的调试图像效果。
- 摄像头模组可配置,模块采用通用的引脚顺序,可以替换不同的摄像头模组,再通过串口动态配置。
- 持久化存储配置信息,网络配置、网络视频流配置、摄像头模组配置均可存储在模块上的 Flash 上。
- 提供 udp 图传上位机源码,内含非常简单的只需要十几行代码的 udp 组包功能,非常容易移植到其它程序中。
主控采用的是芯之联 XR872,官方SDK深度开放,拥有丰富的应用级示例代码和文档,有兴趣的话可以进行二次开发。
四、产品参数
- 供电范围:3.3V ~ 5.5V。
- 串口参数:波特率:115200 数据位:8 停止位:1 校验位:无。
- 采用 DVP 接口,输出码流为 YUV422 或 JPEG 的摄像头模组。
- 支持非常规的分辨率,需要摄像头模组也支持,当然也支持常规分辨率。
- 分辨率和帧率:640x480@60、1280x720@40,最大支持分辨率为 1920x1088。
五、使用说明
初级玩法:使用配套摄像头模组 gc0308,简单配置即可使用。
首次拿到模块之后,按照如下配置,启动上位机即可完成初始配置。
- 网络配置命令,例如要连接名称为 dream、密码为 12345678
net sta disable net sta config dream 12345678 net sta enable
- 开启 udp 视频推流,指定上位机的 IP 地址和端口号
video udp start,192.168.123.110:8080
配置完成后,配置信息会记录到 flash 中,重启或重上电自动配置。
高级玩法:调整摄像头的默认配置,或自行适配新的摄像头模组。
- 配置摄像头模组的芯片地址为 0x21、分辨率为 320x240、压缩质量为 64(1~99)
cam cfg 0x21,320,240,64
- 读取摄像头模组的寄存器,如读取 gc0308 的 0x00 寄存器得到 chip id
cam get 0x00
- 读取摄像头模组的多个寄存器
cam get 0x00,0x12,0x23,0x55...
- 写入多组寄存器,用于初始化摄像头模组,也可以启动视频流时在线调试视频效果
cam set FE=00,01=0A,02=0C,E3=7D,E4=02,E5=71...
- 保存寄存器配置序列,便于上电自动配置生效
cam save clear cam save add FE=00,01=0A,02=0C,E3=7D,E4=02,E5=71... cam save add ...... cam save submit
当需要一次性操作的寄存器过多时,命令行缓冲区不足以处理,则可以省略掉 0x 符号,如上述 cam set 指令的示例。
自行适配新的摄像头模组需核对原理图引脚顺序和供电,如果引脚刚好顺序颠倒,可以选用支持上下接的前插后压座子。
更多玩法:可以通过执行 help、cam help、video help 帮助指令查看其它指令的示例。
六、备注说明
自行适配条件:
- 摄像头模组供电电压可以支持 2.8V\1.8V。
- 摄像头模组输出格式为 YUV422 或 JPEG。
- 摄像头模组引脚顺序必须与本模块一致,顺序颠倒的话可以采用前插后压的座子,可以正反插。
- 摄像头模组可用的寄存器初始化列表,一般商家都会提供,然后通过串口命令进行下发配置即可。
注意事项说明:
- HTTP 视频流为试验性功能,建议使用 360 极速浏览器体验。
- HTTP 目前最佳的体验分辨率是 320x240(或提高分辨率降低质量也行),UDP 分辨率则是 640x480。
- 看产品热度,会考虑后续在产品中增加新功能,如自适应不同摄像头模组、二维码识别、串口图传等。
附件包含如下:
- 深度开放的 SDK 源码以及相关开发文档链接地址。
- 包含本模块所需的固件、烧录软件、烧录文档。
- 包含本模块所需的摄像头模组购买地址。
- 包含本模块的电子元器件位置图。
- udp 视频流上位机源码和可执行程序。
七、演示视频
- 演示时,使用 xshell 的快速命令栏的功能,节省输入指令的时间。
- 演示了网络配置、HTTP 推流、UDP 推流、在线实时切换分辨率等功能。
- 在视频的最后,为了演示可以在线调试摄像头,做了两次切换分辨率的动作,可以看到视频流也随之变化。
八、固件更新记录
v1.0.2(net_image_transmission_v1.0.2_20220519.img)
- 修复:调整错误的分辨率配置,仍会将配置信息保存到 flash 的问题
- 新增:支持检测网络断开15秒后自动重连的功能
v1.0.1(net_image_transmission_v1.0.1_20220515.img)
发布的首个版本,支持本文描述的所有功能。
九、硬件更新记录
- V1.3:新增支持某些需要 DVDD 1.8V 的摄像头模组(如 GC2145)
- V1.2:发布的首个版本
十、已调试的摄像头模组列表
- GC0308:系统默认配置的模组
- GC2145:请使用附件 GC2145_640x480.txt 的命令更新一下即可
若你有更优或者点亮了其它类型的摄像头模组命令参数,也可以在评论区一起分享出来喔。
点赞