上位机图像处理和嵌入式模块部署(树莓派4b的一种固件部署方法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

如果软件开发好了之后,下面就是实施和部署。对于树莓派4b来说,部署其实就是烧录卡和拷贝文件。之前我们烧录卡,一般就是用读卡器烧入镜像,然后再用micro hdmi转hdmi搭配显示器的方法去配置ip地址,这样有了网络之后,后续的部分就是用网络处理了。这么做当然不是不可以,主要就是麻烦,而且需要屏幕的配合。有些情况下,我们是没有显示器的,特别是出差的时候,这种情况下就显得更不合适了。为此,我们想出了一种基于wifi烧录的方法。

1、Imager配置wifi信息

一开始利用Imager烧录之前,我们就可以在Imager上面配置wifi信息,比如ssid、用户名、密码。除此之外,还有ssh服务、ssh用户名、ssh密码等等配置。我们出差的时候,如果不好配置,其实手机开一个热点,相当于pc和树莓派4b都接到手机热点上,这样就可以顺利进行后面的操作了。

2、Image烧入镜像

配置好了wifi等基本信息,就可以烧入我们需要的镜像信息,这一步没有什么好说的,就是把读卡器+tf卡插入到pc烧录。

3、找到wifi ip地址

烧录好镜像之后,一般是不知道wifi ip地址的,因为这个地址默认是动态分配的。此时就可以通过局域网扫描工具来找出对应的地址。这样,至少我们可以找到树莓派4b对应的网络地址。有了地址,接着直接用mobaxterm ssh连接上去看看,确认是不是真的可以访问树莓派4b了。

4、实现ssh static

用wifi访问,毕竟不是很靠谱,毕竟wifi不可能一直都在。一般情况下,我们还需要配置一个静态地址。这种情况下,一般先设置一个启动文件。假设这个文件时run.sh,那么可以把这个run.sh放在/etc/rc.local里面。我们可以在run.sh里面添加对应的配置,比如静态网络的配置,

ifconfig eth0 up
sudo ifconfig eth0 192.168.0.97 netmask 255.255.255.0 broadcast 192.168.0.255

在此之前可以配置下.vimrc,不然不好操作,

set nocompatible
set backspace=2

配置好之后,找一根网线,直连笔记本电脑和树莓派4b,如果ssh没问题的话,其实代表我们配置的静态地址已经生效了。有了静态地址,后续开发板重启之后,就可以用这个静态地址进行访问开发板了。当然客户有其他ip设置要求的话,修改也很方便的。直接在run.sh中修改就可以了。

5、拷贝文件

前面所做的工作都是为了这一步做的铺垫。建立了ssh之后,就可以直接用mobaxterm通过ssh把需要的文件拖过来。该解压的解压,该配置的配置,该设置环境变量的设置环境变量,这样基本我们需要的文件就可以安装好了。

6、开机启动和测试

拷贝好了文件,下面就是把默认启动的程序放在run.sh,这样树莓派4b开机之后,整个软件就跑起来了。不仅如此,此时如果我们需要利用上位机对树莓派4b进行测试和验证的话,也是ok的。至此,一个基本的硬件固件就烧录好了。全程没有使用到屏幕,还是比较方便的。当然如果把所有的镜像做成一个image,那就更好了。

相关推荐
AliCloudROS3 天前
2分钟在阿里云ECS控制台部署个人应用(图文示例)
阿里云·ci/cd·持续部署
士多啤梨先生1 个月前
AI 部署新利器:LitServe 高效引擎,跨框架支持,速度倍增
人工智能·语言模型·持续部署
学步_技术1 个月前
自动驾驶系列—探索自动驾驶持续部署(CD)技术与最佳实践
人工智能·ci/cd·自动驾驶·持续部署
微刻时光1 个月前
Docker本地镜像发布到阿里云镜像服务的简易指南
运维·笔记·阿里云·docker·容器·运维开发·持续部署
诉予1 个月前
JavaCove部署文档
持续部署
我的程序快快跑啊1 个月前
Docker:快速部署
docker·容器·持续部署
温、2 个月前
【docker学习笔记】docker概念和命令
笔记·docker·持续部署
laufing2 个月前
基于 jenkins 的持续测试方案
jenkins·持续部署·持续集成·持续测试
GoppViper2 个月前
golang学习笔记16——golang部署与运维全攻略
笔记·后端·学习·golang·持续部署·源代码管理
关关长语2 个月前
Gitness 基础安装
运维·devops·持续部署