提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文是OpenIPC开源图传系统搭建(SSC338Q+IMX415)——硬件部分的续篇,主要介绍摄像头与地面站的刷写流程以及相关设置等。
同样附上本文主要参考,方便各位读者查阅:openipc-wiki, A step-by-step installation guide for an FPV setup,The 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模块,在设备管理器可以看到端口号,我这里是COM3,如图。
2.PuTTY(或 HiTool)
这里只介绍PuTTY,因为我使用的是PuTTY,而且感觉还挺好用的,有些博主使用的是HiTool,感兴趣请自行下载。 PuTTY是一款SSH 和 Telnet 的免费软件,是刷写固件主要用到的软件(同HiTool,二者选其一即可),可以从PuTTY下载,或者Download PuTTY: latest release (0.82)下载,如图。
软件不会自动添加快捷方式,默认地址在"C:\Program Files\PuTTY"。启动后,软件界面如下,
我的界面里面有保存的串口和SSH连接(红色框),初次启动没有这两项是正常的。
3.Tftpd64(或SolarWinds-TFTP-Server)
固件刷写需要电脑建立TFTP服务器,开发者推荐的是SolarWinds-TFTP-Server,可以从SolarWinds-TFTP-Server下载,但是需要填一些信息,并且需要2个工作日审核,审核完毕后软件的下载连接会发到你填写的邮箱,由于当时是周末,我选择了Tftpd64建立TFTP服务器,操作流程也很简单,是一款开源的TFTP软件,可以从tftpd64下载下载安装。当然你也可以从这里寻找合适的版本进行下载,类似下图。
Tftpd64软件打开后的界面如下图。
4.WinSCP
WinSCP是一款免费的SFTP、SCP、S3 、FTP 客户端,刷入固件后,从电脑向摄像头或者地面站拷贝文件变得图形化而且相当容易,不用再输入复杂的指令,如果你的指令相关技术已经炉火纯青,可以不用下载,个人觉得用着要方便一点,可以从winscp下载,WinSCP的启动界面类似如下图。
二、固件刷写
1.摄像头固件刷写
软件准备完毕就可以开始固件刷写了,可以按照我推荐的步骤进行,如果有问题或者遗漏的地方还请留言告知,我会及时修改。
1.1关闭防火墙
如果防火墙未关闭可能会导致刷写失败,有三个选项,有可能只关闭公用网络的防火墙就可以,我是直接全关闭了,刷写比较顺利,刷写完成后可以再打开,路径“开始=》设置=》防火墙和安全保护”,不知道如何关闭防火墙请自行搜索,刷写过程中再关闭也可以,防火墙关闭后效果如图。
1.2下载摄像头固件
打开OpenIPC固件下载官网,点击=》支持的硬件,
我们的硬件是SSC338Q,点击SigmaStar
可以找到,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地址”。
4.“摄像机IP地址”填写与“TFTP服务器IP地址”同一网段且未被占用的IP地址,本历程填写为“10.81.1.230”。
5.点击“生成有效的随机 MAC 地址”,系统会自动生成可用的“摄像机MAC地址”。
接下来点击“生成安装指南”
点击“下载 OpenIPC 固件 (Fpv)”便可得到摄像头固件。
下载好OpenIPC固件以后就可以开始刷写摄像头固件了。
1.3刷写摄像头固件
1.3.1 摄像头固件保存至TFTP文件夹
首先将下载的固件拷贝至TFTP文件夹,本文作者的目录为“C:\Program Files\Tftpd64”如图。
1.3.2 硬件连接
硬件连接如图所示,由于作者的连接而比较混乱,附上绘制的连接图。
1.3.3 PuTTy设置
连接好除摄像头电源以外的线路(即暂时不要接通摄像头电源),打开PuTTy,
接下来,
1)填写FTDI模块的端口号(可以在设备管理器中找到);
2)设置波特率115200;
3)为该连接起个名字方便下回直接加载;
4)保存连接;
5)打开该连接。
会得到,PuTTy的界面如下,
为避免键盘不起作用(我在刷写时遇到了这个情况),保险起见可以在窗口上侧点击鼠标右键,进行如下设置,
1.3.4 打断摄像头启动程序
接通摄像头电源,并快速点击键盘回车键,
成功打断摄像头启动程序就意味着可以开始刷写了,如果你是第一次刷写会看到,
由于我已经刷写完毕了,这里借用了开发者的视频截图,如果看到,
就意味着没有成功,需要断开摄像头电源,再重复步骤(4)。
1.3.5 摄像头固件刷写指令
步骤1.3.4成功以后,打开Tftpd64,界面如下,选择本机IP地址的服务器接口。
接下来按照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 ,这里不再赘述。
2.3.1 打断地面站启动程序
地面站的刷写与摄像头刷写过程类似,接通地面站电源,并快速点击键盘“Ctrl+C”键,即可打断地面站启动程序,
由于我已经刷写完毕,同样借用开发者的视频截图,
看到以上内容,就意味着打断成功了。
2.3.2 地面站固件刷写指令
步骤2.3.1成功以后,打开Tftpd64,选择本机IP地址的服务器接口,与本文1.3.5相同,这里不在赘述。
地面站刷写指令如下,一条一条输入并回车即可完成刷写,需要注意的是将“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)和账号密码进行登录,如下图,
在root文件夹下可以看到生成的密钥文件如图,
将 gs.key文件拷贝至地面站/etc文件夹,如图,
将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网卡则需要为地面站固件添加相应驱动,根据个人时间情况我会在后期文章中补充。如有任何问题请留言,我会回复并对文章进行对应修改,感谢!希望对你有帮助!