arduino esp8266_Arduino-httpupdate-OTA-esp8266升级探险记
该准备的自行准备(烧录器,ESP01S,Arduino IDE最新版,升级前bin文件,升级后bin文件)
久爱物联网 - 专注 专心 专业
#include #include #include #include #ifndef APSSID#define APSSID "JIUAI" //换成您自己的SSID#define APPSK "jiuai.ltd"//换成您的密码#endif ESP8266WiFiMulti WiFiMulti; //多组WIFI模式不是本文重点 //初始化开始void setup() { Serial.begin(115200); // Serial.setDebugOutput(true); Serial.println(); for (uint8_t t = 4; t > 0; t--) { Serial.printf("[SETUP] WAIT %d...", t); Serial.flush();//清缓存 delay(1000); } //设置网络连接模式 WIFI_AP /WIFI_STA /WIFI_AP_STA WiFi.mode(WIFI_STA); WiFiMulti.addAP(APSSID, APPSK);//账号密码 //其他代码 如果连接不成功,可以引用smartconfig来启动配网}//初始化OTA升级用到的几个函数void update_started() { Serial.println("CALLBACK: HTTP update process started");} void update_finished() { Serial.println("CALLBACK: HTTP update process finished");} void update_progress(int cur, int total) { Serial.printf("CALLBACK: HTTP update process at %d of %d bytes...", cur, total);} void update_error(int err) { Serial.printf("CALLBACK: HTTP update fatal error code %d", err);} //循环体void loop() { // wait for WiFi connection if ((WiFiMulti.run() == WL_CONNECTED)) { WiFiClient client;//wifi连接实例 ESPhttpUpdate.setLedPin(LED_BUILTIN, LOW);//指示灯作为信号反馈可以不要可改,01S默认2 //我接的有继电器,升级过程会出现 反复断合 嗒嗒嗒.... // Add optional callback notifiers ESPhttpUpdate.onStart(update_started); ESPhttpUpdate.onEnd(update_finished); ESPhttpUpdate.onProgress(update_progress); ESPhttpUpdate.onError(update_error); //两种联网方式(修改为您自己的地址,如体验本实例请联我) t_httpUpdate_return ret = ESPhttpUpdate.update(client, "http://你的域名或IP/路径名称/文件名.bin");//此固件仅供测试,每1秒输出个序号 // Or: //t_httpUpdate_return ret = ESPhttpUpdate.update(client, "www.x5zj.com", 81, "/路径/文件名.bin"); //升级过程中状态变化 switch (ret) { case HTTP_UPDATE_FAILED: Serial.printf("HTTP_UPDATE_FAILD Error (%d): %s", ESPhttpUpdate.getLastError(), ESPhttpUpdate.getLastErrorString().c_str()); break; case HTTP_UPDATE_NO_UPDATES: Serial.println("HTTP_UPDATE_NO_UPDATES"); break; case HTTP_UPDATE_OK: Serial.println("HTTP_UPDATE_OK"); break; } }}
之所以撰写本文,目的因为默认官方示例,无法烧录成功升级固件。故写此文予以分享
8266模块默认设置-无法烧录-需要修改参数
flash size:默认配置是 FS:512KB,OTA~246KB 调整为 上图 OTA:052KB (1MB里最大的空间这个),目的扩大OTA空间(写最简单的bin是260kb)
另外默认擦除方式Only Sketch (仅代码区)因为自己用到的有 EEPROM 可能占据一部分空间,故调整下如上图 All Flash Contents。
另外一个 固件FW:默认值改为了 2.2.1+199(我看到是2.2.1的最高版本故选此了)
将待升级的文件上传到指定服务器位置(要自己配置哦)hellow.bin (每1s仅打印出一句话)
升级过程,指示灯狂闪-继电器断合声音....嗒嗒嗒
升级完成后提示,等待重启,开始加重新的固件代码
新固件(升级后)仅每秒输出一句话和序号
烧录设备
01S针脚
烧录时针脚电平
更多参数参考官方文档。
本文是作者,经过多次失败后实践得来,如需了解更多,请关注我和jiuaiiot
已完成的模块功能 (ESP8266 12F,01S 系列通用)
1)一键配网,掉电保存;远程无线升级OTA(免去升级烦恼节省升级维护成本)
2)指令可自定义(各种内置指令规范标准)
3)mqtt协议通讯(现流行的物联网协议),可以自定义为您的服务器,也可以作者提供
4)h5(v信)调用,可以集成到任何平台,不用反复发布APP了,可随时修改调用客户端
5)这种指令组合(立即开,立即关,延时开,延时关;互斥操作:先关后开;点动操作:开后自动延时关;全开-可延时也可以不延时,全关-可延时也可以不延时;可预设延时时长秒)
6)本测试固件httpUpdate-hellow.bin 升级后固件 hellow.bin 请关注哦
7)可量产,学习交流,可现实场景用(很多网上买的模块 固件无法修改有的不提供任何说明,无法应用于现实,本主提供的可以直接用于生产应用中)
8)温湿度即时同步回显(每x秒 可定义,12F已集成)后续提供曲线图
9)自动模式-手动模式切换;前者通过温湿度或时间策略控制,后者通过人工远程操作。
10)可以定制各种特殊操作(可关注了解,可全部通过指令下发,串口也可以发送指令交互等等)
各种开关组合示例,可接云摄像头哦
相关模块-继电器-输出负载
点动操作案例(卷闸门控制)童声提醒-可定制
arduino esp8266_Arduino-httpupdate-OTA-esp8266升级探险记相关推荐
- Arduino ESP32 HttpUpdate OTA批量更新
前几天找ESP32 OTA升级资料,有用ide指定IP地址升级的,有链接ESP32的网页后,上传文件的.都很麻烦,我这边后期搞60多套本地局域网设备,改一句代码就要一台一台更新,太麻烦了. 前几天找这 ...
- Arduino应用开发——OTA(通过网络升级)
Arduino应用开发--OTA(通过网络升级) 目录 Arduino应用开发--OTA(通过网络升级) 前言 1 OTA原理简介 2 Arduino IDE环境搭建 3 编写OTA测试代码 4 OT ...
- 乐鑫esp8266学习rtos3.0笔记:仅1M flash 的安信可 ESP-01S 模块,如何二次开发?如何对其 OTA 远程升级固件!
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个" ...
- Arduino IAP(OTA)远程升级与Flash文件读写
Arduino 以其超强易用性风靡全球.但其个别缺点也很明显,一是批量产品化后万一要升级程序,由于不支持OTA远程升级刷机,很麻烦.二是本身ROM容量很小,UNO的32k空间存储几个网页都很困难,存R ...
- 基于Arduino IDE开发的ESP8266(ESP-12F)项目4 ——中断及高级输入输出
本次写这篇文章是自己做一下学习记录,如有错误,还请大家斧正!!! 日后及时修正!感谢支持! 欢迎大家的关注 点赞 收藏 留言 目录 前言 一.新建工程 二. ...
- 【arduino】nodemcu(ESP8266)发送邮件库测试笔记,SMTP email
前一阵子看到群里有人问arduino发送邮件的相关问题,正好我也有搞这块的计划,于是便简单试了几个项目,(虽然就整出来一个)这里简单总结一下(防止日后忘了),如果你恰好也需要用这块,这篇文章可能会帮你 ...
- QCC512x QCC302x GAIA OTA DFU 升级(earbud)
QCC512x QCC302x GAIA OTA DFU 升级(earbud) 1.不能 DFU 升级的 filesystems: Read-Write (RW) FileSystem Device ...
- 聊一聊智能汽车和物联网IoT设备的OTA远程升级
根据 Allied Market Research 发布的最新报告,全球汽车OTA市场在2020年创造了25.9亿美金的市场价值,预计到2030年将达到137.1亿美元,从 2021 年到 2030 ...
- STM32 OTA远程升级
STM32 OTA远程升级 第一章 STM32 OTA软硬件结构构成 前言:OTA全称是over the air,主要应用于物联网设备作为更新代码使用,其原理在不同芯片上相通,应用较为广泛. 目录 S ...
最新文章
- Linux下的任务计划
- selenium+python自动化测试系列(一):登录
- PaddleOCR加载chinese_ocr_db_crnn_server模型进行中英文混合预测(命令行)实践
- mysql高精度类型_mysql中常见的数据类型
- 03_dbcp数据源依赖jar包,DBCP中API介绍,不同过dbcp方式使用dbcp数据库连接池,通过配置文件使用dbcp数据库连接池
- diff算法_传统Diff算法为什么时间复杂度要O(n ^3)
- 持续定义Saas模式云数据仓库+BI
- 零基础爬虫requests初阶教程,手把手教你爬数据
- ecshop退出登录会清空购物车的bug优化,最完美解决方法
- 使用android SpannableStringBuilder实现图文混排,看到许多其他
- linux7重启network,mmp的 rhel7 network重启一直失败,求原因!!!
- Win7安装MarkdownPad2破解版,报Awesomium.Windows.Controls.WebControl 错误的解决方案
- HTML5游戏引擎(一)-egret引擎简介——一个开源免费的游戏框架
- 机械键盘插入linux系统中,机械键盘背光灯不亮,并且键盘快捷键无作用
- 计算机管理 合并分区,如何分区,删除和合并计算机02
- 用canvas实现一个简易绘图工具
- php获取肖前时间,马克思主义哲学原理(上下册)
- VSCode 使用教程--配置 C / C++ 环境
- 三极管基础分类, 参数选择及常见型号对比
- 浅谈《英雄杀》5人局之反贼技巧