bin电视固件修改⼯具_MQTT之ESP8266OTA固件升级
(FOTA爱之初体验)
问:为何OTA升级?
答:⾮常⽅便更新模块固件,实现最⽅便的更新固件的⽅法。
开始----》
1、环境:安信可IDE,模块8266
2、实现功能:OTA在线⼀键升级。
教师节作文800字结果展⽰:(不知道为何图⽚上传不了⼀直提⽰失败??尾部看连接吧)
五角星剪纸
需要说明:写⼊flash之前必须先擦除指定扇区。准备中。。。
⾄此,模块收到升级指令--准备下载--擦除扇区--写⼊扇区--重启模块注意关于flash分配问题,
欢欢自杀
服务端下载(我是IIS,搭建⽐较简单)不会搭建可以留⾔
在您已经备案的域名下直接新建个⽂件夹⽐如(updatebin放⼊bin,bin⽂ 件和说明⽂件)
w.4.bin 这2个⽂件可以⼀样,也可以不⼀样;⽂件名不要⼀样。李若彤演过的电视剧
w.4.bin 不同模块,或许名称不⼀样,当然可以重命名。⼀般默认。我的是4MBflash=32Mbit
⽐如您的模块运⾏的(boot引导的是user1,下载就下载user2,否则下载user1)
主要代码及总结
1、烧录事项(⽣成bin时)到项⽬根⽬录的makefile修改如下
软件:
主要代码参考:(2个⽂件 fotaxxx.c,fotaxxx.h)
1、升级调⽤时机(很多实例都是联⽹成功后即升级,我这是MQTT下发升级指令),我可以在内⽹任意⼀台电脑或⼿机对某个模块下发指令均可⾃动升级(当然需要知道⼀些列参数,有token⾝份验证等)
2、初始化---设置链接和断开回调函数-联⽹成功-设置发送接收回调-开始升级-升级过程回调-成功重启模块。
LOCAL void ICACHE_FLASH_ATTR
fota_upgrade_begin(struct espconn *pespconn, struct upgrade_server_info *server)
{
uint8 user_bin[30] = {0};//升级的⽂件名称
server->pespconn = pespconn;
os_memcpy(server->ip, pespconn-&p->remote_ip, 4);//ip(如果是域名此前DNS解析后传过来)
server->port = OTA_SERVER_PORT;//升级的端⼝(如果http即80)其他端⼝请设置(配置⽂件user_config.h)port //可加个版本号的判断是否需要升级
安志杰女友server->check_cb = fota_upgrade_rsp;//升级过程回调*****
server->check_times = 120000;//120秒(此值视⽹络环境好坏定,建议⼀般不少于20秒)
if (server->url == NULL) {
server->url = (uint8 *)os_zalloc(1024);//分配http连接头 空间
}
//注意事项(如果当前运⾏的是user1.bin升级的⽂件名是user2的升级包⽂件,反之为user2.bin--&bin) //⽂件名根据您的升级包⽂件修改(规范写法),注意根据flash⼤⼩,⽂件名会不同
//如果灵活,⽂件名通过参数传递过来也⾏搜索五一劳动节手抄报
if (system_upgrade_userbin_check() == UPGRADE_FW_BIN1) {//user1.bin时
os_memcpy(user_bin, "w.4.bin