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

张家港建设工程质量监督站网站网站简介模板

张家港建设工程质量监督站网站,网站简介模板,门户 网站开发周期,购物网站建设比较好的背景知识: 本实验利用编译链内Python内置的 HTTP 服务器,将升级包通过http发送给设备,实现OTA固件升级。 目录 背景知识: 1.创建工程 1.1 创建OTA基础工程 3.编写、修改代码 3.1 修改menuconfig配置文件 3.1.1 配置WiFi账…

背景知识:

本实验利用编译链内Python内置的 HTTP 服务器,将升级包通过http发送给设备,实现OTA固件升级。

目录

背景知识:

1.创建工程

1.1 创建OTA基础工程

3.编写、修改代码

3.1 修改menuconfig配置文件

3.1.1 配置WiFi账号和密码

3.1.2配置flash和partition分区表

(1)不修改分区大小

(2)要修改分区大小

3.2 设置版本号

3.2.1 设置版本号

3.2.2 打印版本号

(1)编写获取版本号函数

(2)调用获取版本号函数

4.验证功能

4.1 运行HTTP本地服务器

(1)建立本地服务器

方式1:利用cmd命令窗口

方式2:利用VSCode窗口

(2)打开浏览器,获取http下载地址

4.2 修改http的url下载地址

4.2.1 更改url下载地址

4.2.2 烧录测试升级

(1)生成正式升级包

(2)烧录初始代码

(3)观察OTA升级现象

5.注意事项

6.总结

7.参考文档

8.源码下载


1.创建工程

1.1 创建OTA基础工程

3.编写、修改代码

3.1 修改menuconfig配置文件

3.1.1 配置WiFi账号和密码

3.1.2配置flash和partition分区表

(1)不修改分区大小

如果不修改分区大小,选择默认配置即可:

(2)要修改分区大小

如果需要修改分区大小,则需从\Espressif\frameworks\esp-idf-v5.3.2\components\partition_table路径中复制一个partitions_two_ota.csv文件到工程路径,并将factory、ota_0、ota_1三者的size改成合适大小。

放到这里,并更改分区大小:

注意:修改分区大小后,

  • 注意Flash大小是否足够,不够则需要修改大小;
  • 要将Partition Table的值改成Custom partition table CSV;
  • 要将Custom partition CSV file的值改成partitions_two_ota.csv。

3.2 设置版本号

3.2.1 设置版本号

在工程根目录的cMakeList.txt中加入set(PROJECT_VER "1.0.0") 设置当前版本号:

3.2.2 打印版本号

(1)编写获取版本号函数
//获取当前应用版本号
const char* get_app_version(void)
{static char app_version[32] = {0};if (app_version[0] == 0){//获取当前分区的基本信息const esp_partition_t* running = esp_ota_get_running_partition();//获取更多的分区信息esp_app_desc_t running_desc;esp_ota_get_partition_description(running, &running_desc);snprintf(app_version, sizeof(app_version), "%s", running_desc.version);}return app_version;
}
(2)调用获取版本号函数

4.验证功能

4.1 运行HTTP本地服务器

先编译生成的bin文件作为临时升级包,然后随便找个目录新建个文件夹取名Server,并将临时升级包放到文件夹内,改名为update_pack.bin。

若 Python 版本是 3.X,则指令为:

python -m http.server 8070

若 Python 版本是 2.X,则指令为:

python -m SimpleHTTPServer 8070

(1)建立本地服务器

方式1:利用cmd命令窗口

在Server文件夹下打开cmd命令窗口,并输入命令python -m http.server 8070,然后回车:

方式2:利用VSCode窗口

用VSCode打开用于升级的程序(Server文件夹),在终端ESP-IDF Terminal窗口输入命令python -m http.server 8070后回车,即可运行HTTP本地服务器:

(2)打开浏览器,获取http下载地址

输入http://192.168.1.100:8070/(输入电脑实际IP地址,可以在cmd命令窗口输入ipconfig查看),然后鼠标右键点击update_pack.bin,选择复制链接地址(http://:8070/update_pack.binhttp://192.168.1.100:8070/update_pack.binhttp://:8070/update_pack.bin):

4.2 修改http的url下载地址

4.2.1 更改url下载地址

将复制的地址http://192.168.1.100:8070/update_pack.bin粘贴到menuconfig的firmware upgrade url endpoint中:

4.2.2 烧录测试升级

(1)生成正式升级包

先把版本号改成v1.0.1,编译工程生成bin文件用做正式升级包,然后改名为update_pack.bin,并复制到Sever中替换原本的update_pack.bin,接着按照步骤4.1打开本地服务器。

(2)烧录初始代码

将版本号改回v1.0.0,编译下载,并打开串口监视。

(3)观察OTA升级现象

运行时显示当前版本为1.0.0:

升级过程:

复位后运行升级后的版本,发现变成v1.0.1了,说明升级成功了:

后续如有新的版本,照此方法放到Server文件夹中替换原本的update_pack.bin文件,即可完成升级。

5.注意事项

  • 电脑端和ESP32必须连接同一个WiFi热点,即电脑端和设备端必须连接同一个局域网。
  • 这种方法升级完成后如果不及时关闭本地服务器则会一直重复执行升级,要么升级完后及时关闭服务器,要么在代码中加入限制,防止重复升级。

6.总结

OTA升级的关键步骤:

  1. 修改flash大小和OTA分区
  2. 修改WiFi账号、密码
  3. 固件的下载地址

7.参考文档

图文手把手教程--ESP32 OTA空中升级(VSCODE+IDF)-CSDN博客

【ESP32】通过本地服务器实现OTA功能_esp32 ota-CSDN博客

2022.05 ESP32 空中升级 OTA_esp32c3 ota-CSDN博客

8.源码下载

https://download.csdn.net/download/Freddy_Ssc/90641093

思考:这种方式只能通过局域网升级,感觉有点鸡肋,在现实中有什么用处呢?

http://www.dtcms.com/wzjs/807404.html

相关文章:

  • 桐庐网站建设微信小程序模板源码
  • 东莞住建局官方网站阿里巴巴做网站联系人
  • 寿光公司做网站网站下模板做网站犯法
  • 钦北区网站建设哈尔滨网络搭建
  • 谷歌没收录网站主页 301重定向石家庄网站建设方案推广
  • 网站开发公司人员配备互联网都有哪些公司
  • 涿州市网站建设加强人社网站建设
  • 公司网站建设亚运村上海seo推广价格
  • 生态农业网站建设方案做电影网站选服务器
  • 青岛做网站价格电影网站做cpa
  • 网站维护 html企业网站建设方案机构
  • 青岛哪家网站建设好百度平台商家联系方式
  • 哈尔滨的网站设计wordpress 单栏模板下载
  • 做装修网站公司如何做一个论坛网站
  • 环翠区网站建设镇江方圆建设监理咨询有限公司网站
  • 珠海网站制作软件jsp做的网站带数据库
  • 企业网站程序带wapwordpress邮箱用不了
  • 免费域名解析网站wordpress 停站
  • 长葛做网站如何卸wordpress
  • 天河区门户网站招生考试wordpress 提交熊掌
  • 网站二维码可以做长按识别吗河北省网络科技网站
  • 嘉定网站建设哪家便宜毕设做音乐网站
  • 凡科互动网站登录入口移动开发
  • 手机网站logo网站域名可以做端口映射吗
  • 佛山市住房和建设局网站首页静态网页模板免费下载网站
  • 站长工具综合查询站长工具具体的网站建设
  • 免费建网站可以找哪家英文网站qq飞车哪个公司开发的
  • 无锡网站App微信有没有在线辅导家做的网站
  • 网站建设的时候如何上传图片安卓手机怎么搭建网页
  • 山西省建设监理协会官方网站网站设计入门