OpenIPC开源图传系统搭建(SSC338Q+IMX415)——软件部分

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文是OpenIPC开源图传系统搭建(SSC338Q+IMX415)——硬件部分的续篇,主要介绍摄像头与地面站的刷写流程以及相关设置等。

同样附上本文主要参考,方便各位读者查阅:openipc-wikiA step-by-step installation guide for an FPV setupThe OpenIPC build part 1: What is OpenIPC, and what am I using to build it?The OpenIPC build part 2: Flashing firmware and getting the video stream working

本文如有未描述清楚的地方欢迎留言咨询,或者参考以上开发者的文章和视频,最后感谢开发者的无私奉献,引用OpenIPC Wiki的原话,希望 :“Improving the world, one patch at a time.”


一、本文用到的软件

本文是在windows环境下进行固件刷写,使用到的软件均为windows环境,本文将尝试提供部分软件的下载连接,并给出备选方案(如有)。涉及的软件包括FTDI驱动、PuTTY(或 HiTool)、Tftpd64(或SolarWinds-TFTP-Server)、WinSCP。下面将对个软件的界面及功能进行简单介绍,其中软件安装基本都是直接下一步,本文将不做软件安装相关介绍:

1.FTDI模块驱动

如果你使用的是跟我一样的“USB转TTL 支持3.3V 5V FT232RL模块”,那么可以直接从FTDI驱动处下载相关驱动,或者进入FTDI官网下载,如图。
FTDI驱动下载地址
安装完毕,在电脑上插入FTDI模块,在设备管理器可以看到端口号,我这里是COM3,如图。
FTDI驱动端口号

2.PuTTY(或 HiTool)

这里只介绍PuTTY,因为我使用的是PuTTY,而且感觉还挺好用的,有些博主使用的是HiTool,感兴趣请自行下载。 PuTTY是一款SSH 和 Telnet 的免费软件,是刷写固件主要用到的软件(同HiTool,二者选其一即可),可以从PuTTY下载,或者Download PuTTY: latest release (0.82)下载,如图。
PuTTY下载地址
软件不会自动添加快捷方式,默认地址在"C:\Program Files\PuTTY"。启动后,软件界面如下,
PuTTY软件界面
我的界面里面有保存的串口和SSH连接(红色框),初次启动没有这两项是正常的。

3.Tftpd64(或SolarWinds-TFTP-Server)

固件刷写需要电脑建立TFTP服务器,开发者推荐的是SolarWinds-TFTP-Server,可以从SolarWinds-TFTP-Server下载,但是需要填一些信息,并且需要2个工作日审核,审核完毕后软件的下载连接会发到你填写的邮箱,由于当时是周末,我选择了Tftpd64建立TFTP服务器,操作流程也很简单,是一款开源的TFTP软件,可以从tftpd64下载下载安装。当然你也可以从这里寻找合适的版本进行下载,类似下图。
在这里插入图片描述
Tftpd64软件打开后的界面如下图。
Tftpd64软件界面

4.WinSCP

WinSCP是一款免费的SFTP、SCP、S3 、FTP 客户端,刷入固件后,从电脑向摄像头或者地面站拷贝文件变得图形化而且相当容易,不用再输入复杂的指令,如果你的指令相关技术已经炉火纯青,可以不用下载,个人觉得用着要方便一点,可以从winscp下载,WinSCP的启动界面类似如下图。
WinSCP的启动界面

二、固件刷写

1.摄像头固件刷写

软件准备完毕就可以开始固件刷写了,可以按照我推荐的步骤进行,如果有问题或者遗漏的地方还请留言告知,我会及时修改。

1.1关闭防火墙

如果防火墙未关闭可能会导致刷写失败,有三个选项,有可能只关闭公用网络的防火墙就可以,我是直接全关闭了,刷写比较顺利,刷写完成后可以再打开,路径“开始=》设置=》防火墙和安全保护”,不知道如何关闭防火墙请自行搜索,刷写过程中再关闭也可以,防火墙关闭后效果如图。
关闭防火墙

1.2下载摄像头固件

打开OpenIPC固件下载官网,点击=》支持的硬件,
OpenIPC固件下载官网
我们的硬件是SSC338Q,点击SigmaStar
SigmaStar
可以找到,SigmaStar SSC338Q,
SigmaStar SSC338Q
从右侧的“固件开发阶段”可以看出,SSC3338Q的固件开发已完成。
固件开发阶段
点击“生成安装指南”,
生成安装指南
得到
安装指南
对于SSC338Q:
1.“闪存芯片类型和容量大小”选择“NOR 16M”;
2.“固件版本”,因为我们是制作FPV图传,选择“FPV”;
3.“TFTP服务器IP地址”填写本机电脑的IP地址,不知道本机IP地址的同学请cmd=》ipconfig,查看ipv4地址,我这里是10.81.1.102,如图。开启TFTP后,本机IP地址即为“TFTP服务器IP地址”。
TFTP服务器IP地址
4.“摄像机IP地址”填写与“TFTP服务器IP地址”同一网段且未被占用的IP地址,本历程填写为“10.81.1.230”。
5.点击“生成有效的随机 MAC 地址”,系统会自动生成可用的“摄像机MAC地址”。
接下来点击“生成安装指南”
点击“生成安装指南”
点击“下载 OpenIPC 固件 (Fpv)”便可得到摄像头固件。
下载 OpenIPC 固件 (Fpv)
下载好OpenIPC固件以后就可以开始刷写摄像头固件了。

1.3刷写摄像头固件

1.3.1 摄像头固件保存至TFTP文件夹

首先将下载的固件拷贝至TFTP文件夹,本文作者的目录为“C:\Program Files\Tftpd64”如图。
SS338Q固件准备固件准备

1.3.2 硬件连接

硬件连接如图所示,由于作者的连接而比较混乱,附上绘制的连接图。
第一次摄像头刷写

1.3.3 PuTTy设置

连接好除摄像头电源以外的线路(即暂时不要接通摄像头电源),打开PuTTy,
PuTTy设置
接下来,
1)填写FTDI模块的端口号(可以在设备管理器中找到);
2)设置波特率115200;
3)为该连接起个名字方便下回直接加载;
4)保存连接;
5)打开该连接。
会得到,PuTTy的界面如下,
PuTTy界面
为避免键盘不起作用(我在刷写时遇到了这个情况),保险起见可以在窗口上侧点击鼠标右键,进行如下设置,
putty设置

1.3.4 打断摄像头启动程序

接通摄像头电源,并快速点击键盘回车键,
打断摄像头启动
成功打断摄像头启动程序就意味着可以开始刷写了,如果你是第一次刷写会看到,
打断摄像头启动程序
由于我已经刷写完毕了,这里借用了开发者的视频截图,如果看到,
未打断摄像头启动程序
就意味着没有成功,需要断开摄像头电源,再重复步骤(4)。

1.3.5 摄像头固件刷写指令

步骤1.3.4成功以后,打开Tftpd64,界面如下,选择本机IP地址的服务器接口。
Tftpd64界面
接下来按照OpenIPC官网生成的安装指南一步一步进行刷写,
刷写指令
这里同样借用一下开发者的视频截图,如果Tftp正常基本会比较顺利,一条一条执行的话基本就是如下过程,
刷写过程
需要注意的是,你的IP地址可能和我或者开发者的IP地址不同,你只需要复制你的安装指南中的指令即可,过程大同小异。reset指令后,摄像头会重启,并且会获得新的IP地址,通过路由器可以查看摄像头的地址。通过PuTTy,我们可以使用默认账号和密码登录摄像头,
账号:root
密码:12345
刷写成功后登录摄像头界面如下,
登录摄像头界面
这样摄像头的刷写就完成了,我们会获得3种和设置摄像头通信的方式,
1)通过FTDI模块与串口焊盘;
2)通过终端ssh指令(本文暂时略过);
3)通过网页,直接输入摄像头网址即可访问,在网页端我们可以修改摄像头密码和生成新的MAC地址等,初次登陆系统会建议你修改密码并生成新的MAC地址,图形化操作很简单,这里就不再赘述了,我的已经修改完毕了,界面如下,
摄像头网页端界面

1.3.6 解开第二个串口的封印(可省略)

接下来,可以选择解开第二个串口的封印,这样后面再需要串口操作可以方便一点,由于我们也可以很方便地通过终端访问摄像头,这一步也可以省略,接口如图红框位置,
第二个串口
通过终端或者PuTTy登录摄像头都行,终端登录指令为,

ssh root@摄像头IP地址

输入:

vi /etc/inittab

即可通过vi编辑器进行配置,打开后光标移动到图示下方红框位置,按"i"键插入一行,如图,
封印解除指令

插入完成后,按"ESC",输入":wq!",即可保存并退出,其中冒号不可少,vi编辑器指令请自行查阅。输入“reboot”回车重启,我们就可以通过第二个串口与摄像头进行通信了,用处也不大,不过多一种选择,如图。
第二个串口通信
以上完成以后,可以先把摄像头放一边了。

2.地面站固件刷写

2.1下载地面站固件

NVR主板的固件刷写说明在这里,如果你跟我用的是同一款NVR主板,即NBD8010S-KL-V2,可以直接从NBD8010S-KL-V2固件下载,下载完毕后,同样把文件拷贝至TFTP文件夹,本文作者的目录为“C:\Program Files\Tftpd64”如图。
地面站固件

2.2 地面站接线

地面站的接线相对简单,接线图如下,
地面站接线
这里附上我的实物接线图供各位参考,地面站实物接线图

2.3 地面站刷写

PuTTy的打开与设置可以参考本文1.3.3 ,这里不再赘述。
PuTTy的打开与设置

2.3.1 打断地面站启动程序

地面站的刷写与摄像头刷写过程类似,接通地面站电源,并快速点击键盘“Ctrl+C”键,即可打断地面站启动程序,
打断地面站启动程序
由于我已经刷写完毕,同样借用开发者的视频截图,
打断地面站启动程序
看到以上内容,就意味着打断成功了。

2.3.2 地面站固件刷写指令

步骤2.3.1成功以后,打开Tftpd64,选择本机IP地址的服务器接口,与本文1.3.5相同,这里不在赘述。
打开Tftpd64
地面站刷写指令如下,一条一条输入并回车即可完成刷写,需要注意的是将“192.168.1.10”替换为你的地面站IP(只要没被占用即可),将“192.168.1.254”替换为你的本机IP地址。

# Сhanging the ip address of the NVR board and the ip address of your TFTP server
setenv ipaddr 192.168.1.10; setenv serverip 192.168.1.254
mw.b 0x82000000 0xff 0x1000000
tftp 0x82000000 openipc-hi3536dv100-fpv-16mb.bin
sf probe 0; sf lock 0;
sf erase 0x0 0x1000000; sf write 0x82000000 0x0 0x1000000
reset

同样借用开发者的视频截图如下,
地面站刷写指令
完成后,地面站会重启,并获得新的ip地址,通过路由器可以看到其IP地址。我们同样可以通过初始账号和密码进行登录,
账号:root
密码:12345
界面如下,
地面站登陆界面
此时,地面站的固件已经刷写完毕了。
可以通过

passwd

指令修改密码。

3 密钥设置

3.1 生成配对密钥

登入地面站后,输入

wfb_keygen

即可生成地面站与摄像头的配对密钥文件, gs.key与drone.key文件,文件在地面站root目录下。

3.2 拷贝密钥

3.2.1 拷贝地面站密钥

接下来打开WinSCP软件,选择SCP协议,填入地面站IP地址(我这里是10.81.1.73)和账号密码进行登录,如下图,
登录WinSCP软件
在root文件夹下可以看到生成的密钥文件如图,
密钥文件
将 gs.key文件拷贝至地面站/etc文件夹,如图,
gs.key文件拷贝
将drone.key文件拷贝至电脑备用。

3.2.2 拷贝摄像头密钥

重新连接摄像头,采用2.5.1的方法将drone.key文件拷贝至摄像头/etc文件夹,过程与2.5.1类似,本文不在赘述。

三、网卡连接与调试

到这里地面站与摄像头的刷写均已完毕,开发者还介绍了地面站“/etc/wfb.conf”的参数修改,主要是channel=161,“vdec.conf”文件的修改,主要是codec=h265,以及摄像头“majestic.yaml”文件的修改,我在修改时发现截至目前(2025年2约5日)的固件参数已经不需要再修改了,可以直接调试图传显示了。其他参数调整后续再研究。
其中,地面站与网卡的通信接口,摄像头与网卡通信接口如下图所示,即USB接口,对应接就行,
网卡通信接口
需要注意的是,网卡发热严重,尤其是摄像头的网卡,最好准备一个风扇对着吹。
附上我调试时的接线,有点乱,主要提醒别忘了电风扇。
调试时的接线
将地面站HDMI接口接到显示器,就可以看到摄像头的拍到的画面了,如图,
图传画面
enjoy!

总结

本文是OpenIPC开源图传系统搭建(SSC338Q+IMX415)——硬件部分的续篇,主要介绍了OpenIPC开源图传系统搭建(SSC338Q+IMX415)过程中所用到的软件以及刷写过程,由于官方地面站固件未提供必联BL-M8812EU2网卡驱动,建议在网卡选择时,为摄像头配备必联BL-M8812EU2网卡,为地面站配备RTL8812AU网卡,如果地面站同样使用必联BL-M8812EU2网卡则需要为地面站固件添加相应驱动,根据个人时间情况我会在后期文章中补充。如有任何问题请留言,我会回复并对文章进行对应修改,感谢!希望对你有帮助!

目前基于像处理使用市场上监控摄像头二次开发的案例很多,包括海康威视萤石开源摄像头;还有使用自带FIFO的OV7725或者OV7670摄像头模块结合stm32进行;还有OPENMV+OV7725的像处理方案;还有一种使用MIPS架构的路由器芯片例如RT5350加免驱MPJG摄像头方案。每一种方案价格都要达到50块以上,因为除了购买摄像头之外还有购买单片机,成本降不下来。 好消息的是,乐鑫科技推出的ESP32芯片能满足的需求,某宝基于该芯片出售的ESP32-cam摄像头模块能满足的需求,最低价格26块能买到手,性价比相当高,ESP32的运行速度和wifi速度都比ESP8266高。26块集成了ESP32最小系统板和OV2640摄像头和板载蓝牙wifi天线,买了也不亏,一个好点的USB摄像头都不只这个价格了!为啥很少人使用呢?原因是入门比较麻烦。要是使用乐鑫idf去搭建开发,很麻烦,很难成功。 国内某个测评网有详细简介:https://post.smzdm.com/p/amm03d0d/ 模块的原理如下: 模块的全家福如下: 该模块在某宝很多家店铺有售,至于代工厂估计有很多家,但是根据原理就那么多IO口,资料都是通用的。 经过我自己个人努力,半年时间内掌握了ESP32技术,采用的是Arduino开发环境开发,很多情况下使用库函数来快速实现的功能。搭建开发环境也花了不少时间,后面根据一个教程搭建成功了。 搭建视频链接:https://pan.baidu.com/s/1_xYw-Mg3LPb5vqMuVgiD2A 提取码:qdl2 搭建软件及素材:链接:https://pan.baidu.com/s/1eIES_hDWNgr5lZD4akP9Jw 提取码:zrwu 最后是我根据搭建环境自带的源码修改裁剪后的源码(在最后免费下载),该源码是我将三四个源码文件裁剪修改合成一个源码文件,实现了功能,代码精简利于阅读和学习,先进行配置和运行的说明: (1)整个工程就是一个9kb的源码,名字叫websocket.ino文件,然后修改热点的名称和密码: (2)找一个CH340的USB转TTL电平的模块,某宝几块钱有卖的,按照下接上模块: 右边的模块就是USB转TTL模块,主要是用来下载程序和串口调试,左边接ESP32模块,右边接电脑。 个人建议给cam模块供电压5V在第一张原理左下角的端口供电,免得电源不足,不要接错了! UoR就是RX端 UOT是TX端 这两个端跟CH340的RX、TX交叉连接,如示 将IO0端口与GND连接上之后就可以马上下载程序了: (3)用Arduino下载程序:(如果下载过程中出现失败,可以尝试按下模块的RST按键) (4)创建一个热点,名称和密码都与(1)的步骤相同,让ESP32的wifi能连上,我就用笔记本电脑创建了一个热点,然后打开串口Arduino监视器或者打开一个串口调试助手,打开电脑与CH340链接的串口,拔掉cam模块中IO0与GND链接的线(第三张灰色的线,不断开就不能启动程序只能不断下载),再按下一次cam模块的RST按钮松开,如下: 从上看出,RST按下时,第一次程序运行不对,第二次运行正确了,打印出IP地址。右下角显示有设备连上热点。多试试几次就能成功的! (5)打开谷歌浏览器,输入网址串口打印的网址:172.25.139.2(个人具体IP看打印为准)就可以看到摄像头采集的视频流,相当流畅,如下所示:(其他浏览器可能失败) 由于摄像前面的保护膜没有撕掉,所以有点模糊,视频还是很流畅的。 总结:该项目演示了用ESP32作为一个STA模式连上路由器或者笔记本热点,在同一个局域网环境下用浏览器登录ESP32的IP地址就可以收看ESP32摄像头采集下来的像信息。后期会陆续发布根据此源码升级成视频监控小车、视频监控智能控制摄像头、视频监控系统和手机客户端、stm单片机接收、机器人视觉人脸签到系统、远程MQTT手机app接收、局域网javaweb显示、等等项目,敬请期待。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值