资料介绍
描述
背景
当您将数百个设备部署为 IoT 项目的一部分时,问题是如何将它们接入客户的网络并为设备提供最新的特定固件。
问题是您不知道设备将在何时何地首次启动。
设备不知道 WiFi 参数,其固件可能已过时。
这就是ColdBoot提供帮助的地方。
所有信息都可以在:https ://github.com/arkhipenko/EspColdBoot
什么是冷启动?
ColdBoot 是 ESP8266 或 ESP32 微控制器的预编译固件,能够快速收集:
- WiFi参数(SSID和密码)
- 最新配置文件的 URL
- OTA更新服务器的URL
通过简单的网络表单从最终用户那里获得。
ColdBoot 的主要目标是尽可能快速轻松地访问 Wifi 并为特定设备提供最新固件。
ColdBoot 通过连接到 USB 或串行端口的终端窗口提供逐步说明(115200 bps 设置)
如何使用:
选项 1:将预编译的二进制文件直接上传到芯片
选项 2:编译并上传提供的草图。
可选:编辑data/config.json文件并使用上传工具上传到 SPIFFS
工艺流程
第 1 步:从 SPIFFS 中读取配置
ColdBoot 尝试从设备的 SPIFFS 文件系统中读取配置文件。
配置文件应命名为“ config.json ”,并应位于根文件夹中。
配置文件是一个简单的 JSON 数组,可以定义以下参数:
- “标题” - 用于收集用户参数的 Web 表单的标题
- "SSID" - WiFi 网络 SSID
- “密码” - WiFi密码
- “Config” - 如果参数来自网络,则配置文件的 URL
- “OTA” - OTA 固件配置 HTTP 服务器的 URL
- “fields” - 要在网络表单上显示的字段数
可以定义所有字段或字段的子集。后续流程可能会受到此文件的影响。
一个示例用例:
配置文件提供 Web 表单的标题、最新配置的 URL,并将 Web 表单字段的数量限制为 2(SSID 和密码)
{
"Title" : "My Amazing IoT device",
"Config" : "http://ota.home.lan/esp/config/",
"fields" : "2"
}
注意:要使用 SPIFFS 配置功能 - 根据需要编辑提供的data/config.json文件,并使用 Arduino IDE 中的 ESP8266 SPIFFS 上传工具将 SPIFFS 图像上传到设备。
第 2 步:根据 SPIFFS 配置连接到 WIFI
如果从 SPIFFS 读取配置成功,则可能会在此处提供 SSID 和密码,因此 ColdBoot 会尝试连接到 WiFi。
如果 SPIFFS 不可用或config.json文件不可用,则跳过第 2 步。
第 3 步:用户提供配置
如果设备在步骤 2 中能够连接到 WiFi 网络,则跳过此步骤。
此时,设备会创建一个 WiFi AP 点并创建一个简单的 Web 表单,以便从用户那里收集配置参数。AP SSID 为ESP8266-或ESP32-。(例如:ESP8266-dac26e)
最终用户需要连接到 AP 并导航到http://10.1.1.1

完整的网络表单如下所示:

基于步骤 1 示例config.json文件的简化 Web 表单如下所示:

一旦用户点击提交按钮,设备就会一次又一次地尝试连接到 WiFi,直到成功。
设备将在 10 分钟不活动后重新启动。
第 4 步:从 HTTP 服务器读取配置
如果提供了配置 URL,设备将尝试从 HTTP 服务器读取和解析配置参数。
这里有两个选择:
- 您可以提供到服务器的路径,其中每个设备都存储了特定的配置文件,或者
- 您可以直接提供配置文件的路径(在这种情况下,多个设备可以读取同一个文件)
如果仅提供文件夹路径,ColdBoot将添加设备 ID 和版本,因此假定请求的配置是唯一的。例如,对于设备 ID ESP8266-dac26e,URL 将如下所示:
http ://ota.home.lan/esp/config/coldboot-dac26e-1.0.0.json
(前提是http://ota.home.lan/esp/config/是你的配置服务器)
或者,您可以指定直接文件 URL,例如:
http ://ota.home.lan/esp/config/iotdevice.json
如果ColdBoot确定未提供有效的 URL,则此步骤作为可选跳过。
第 5 步:从 OTA 服务器更新固件
此时,ColdBoot 假定存在一个指向可用的 OTA 更新服务器的有效 URL。
设备将尝试根据提供的 URL 执行 OTA 固件更新。
这里有两个选择:
- 您可以为每个设备提供存储特定二进制文件的服务器的路径,或者
- 您可以直接提供二进制文件的路径(在这种情况下,多个设备可以基于同一个文件进行更新)
如果仅提供文件夹路径,ColdBoot将添加设备 ID 和版本,因此假定 OTA 请求是唯一的。例如,对于设备 ID ESP8266-dac26e,URL 将如下所示:
http ://ota.home.lan/esp/bin/coldboot-dac26e-1.0.0.bin
(前提是http://ota.home.lan/esp/bin/是您的 OTA 服务器 URL)
或者,您可以指定直接文件 URL,例如:
http ://ota.home.lan/esp/bin/iotdevice.bin
第 6 步:重新启动
如果一切顺利,则不应执行第 6 步,因为设备将在第 5 步成功 OTA 更新结束时重新启动。
但是,如果 OTA 更新失败,设备将等待 10 秒并重新启动。
文件夹:
数据- 如果需要通过 SPIFFS 进行配置,则将 SPIFFS 图像上传到设备。必须在根文件夹中包含一个名为config.json的 JSON 文件。
二进制- 预编译的 esp8266 二进制(假设 4Mb 闪存大小、2Mb SPIFFS 大小、1Mb OTA 大小),可以作为制造过程的一部分直接闪存到芯片中
例子:
下面是通过 ColdBoot 配置的真实设备的终端输出。
请注意,在 OTA 完成后,应用程序 ID 会更改为success-...。
ESP8266 ColdBoot v1.0.0
ESP8266 ID: ESP8266-dac26e
Full Application Version: coldboot-dac26e-1.0.0
---------------------------------------------
STEP 1:
> Reading configuration file from SPIFFS if present
> SUCCESS.
STEP 2:
> Configuration read from SPIFFS:
> Title : ColdBoot Initial Config
> SSID :
> Password :
> Config : http://ota.home.lan/esp/config/
> OTA :
> fields : 2
> Current count = 6
> Current size = 157
> Attempting WiFi connection ............................................................ WiFi connection timeout
> WiFi connection unsuccessful.
STEP 3:
> Provisioning configuration from the user
Navigate to http://10.1.1.1 and fill out the form
Provide WiFi SSID and password
as well as URLs for Configuration and/or OTA
> Bootstrapping SUCCESS.
> Configuration after Bootstrap:
> Title : ColdBoot Initial Config
> SSID : devices
> Password : ********
> Config : http://ota.home.lan/esp/config/
> OTA :
> fields : 2
> Current count = 6
> Current size = 142
> Attempting WiFi connection ............. WiFi connected
> IP address: 192.168.122.65
> SSID: devices
> mac: 98:F4:AB:DA:C2:6E
STEP 4:
> Checking if configuration should be read from an HTTP server
> Attempting to read config from this URL:
http://ota.home.lan/esp/config/coldboot-dac26e-1.0.0.json
> SUCCESS.
> Dictionary after HTTP config:
> Title : ColdBoot Initial Config
> SSID : devices
> Password : ********
> Config : http://ota.home.lan/esp/config/
> OTA : http://ota.home.lan/esp/bin/
> fields : 2
> Current count = 6
> Current size = 148
STEP 5:
> Checking for the OTA provisioning URL
> Attempting OTA Update from this URL:
http://ota.home.lan/esp/bin/coldboot-dac26e-1.0.0.bin
ets Jan 8 2013,rst cause:2, boot mode:(3,7)
load 0x4010f000, len 3456, room 16
tail 0
chksum 0x84
csum 0x84
va5432625
@cp:0
ld
ColdBoot v1.0.0
ESP8266 ID: ESP8266-dac26e
AppVersion: success-dac26e-1.0.0
- 智能家居:带Alexa和Amazon Echo的ESP8266/ESP32
- ESP8266或ESP32上的WiFi Webradio
- ESP8266初次如何实现无线通信(基于电脑与ESP8266)
- WIoT2气象站之Nextion TFT with ESP8266/ESP32
- 使用ESP8266或ESP32通过Alexa控制家用电器
- 使用Arduino配置ESP8266
- 简单的ESP32和ESP8266编程器
- nodemcu与matlab,关于ESP8266 NodeMcu和ESP32 DEV模块两者的区别
- arduino / VScode+platformIO搭建esp32/esp8266编译环境(一篇足矣)
- ESP32 开发之旅② Arduino For ESP32说明
- 视频教程-micropython基础入门(esp32/esp8266单片机开发)-物联网技术
- VScode嵌入式开发之ESP32以及ESP8266入门
- ESP8266硬件设计指南的详细资料免费下载 34次下载
- ESP32和ESP8266基于Arduino的MQTT收发资料说明 109次下载
- ESP8266系列模块选型 37次下载
- ESP8266红外信号收发实验 2013次阅读
- ESP8266硬件 4866次阅读
- ESP8266/ESP32自动下载原理 4742次阅读
- 如何使用ESP8266制作可配置的Web服务器 1.3w次阅读
- 如何利用ESP8266制作一个简单的四轴飞行器 5119次阅读
- ESP8266上运行代码如何实现 3040次阅读
- 如何利用ESP8266实现智能手表的设计 3369次阅读
- STM32系列设计,ESP8266联网授时时钟 8097次阅读
- 从5方面描述STM32F407+ESP8266连接机智云过程 1.1w次阅读
- esp8266中文资料汇总(esp8266引脚图_与单片机连接_串口wifi实例) 22.5w次阅读
- esp8266固件如何升级_ESP8266WIFI模块固件升级 4.2w次阅读
- ESP8266 Wi-Fi到底传多远_esp8266 wifi信号强度测距 5.2w次阅读
- 远程控制通讯--基于Arduino + ESP8266控制LED灯 4w次阅读
- esp8266 at指令集详解 14.3w次阅读
- esp8266串口wifi实例 1.9w次阅读
下载排行
本周
- 1NB-IoT芯片厂商的资料说明
- 0.31 MB | 22次下载 | 1 积分
- 2智慧监狱建设的核心终端—智慧监仓屏
- 0.25 MB | 2次下载 | 免费
- 3PC318C016M/D 200V半桥栅极驱动器技术手册
- 0.77 MB | 2次下载 | 免费
- 45.0SMDJ200A单向TVS瞬态抑制二极管规格书
- 0.88 MB | 1次下载 | 免费
- 5PC318C041EQ 200V半桥栅极驱动器技术手册
- 0.50 MB | 次下载 | 免费
- 6PC318C042NM 200V半桥栅极驱动器技术手册
- 0.55 MB | 次下载 | 免费
- 7技嘉H110主板IT8628E_BX IO电路图资料
- 2.61 MB | 次下载 | 1 积分
- 8H110主板CPU PWM芯片ISL95858HRZ-T核心供电电路图资料
- 0.63 MB | 次下载 | 1 积分
本月
- 1元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 241次下载 | 免费
- 2元宇宙底层硬件系列报告
- 13.42 MB | 184次下载 | 免费
- 32022 年展望報告 – 半導體產業
- 1.43 MB | 136次下载 | 免费
- 4晶振与滤波器应用电路《电子工程师必备:元器件应用宝典》
- 1.57 MB | 90次下载 | 免费
- 5汽车电子行业深度解析:智能化与电动化方兴未艾
- 6.47 MB | 71次下载 | 免费
- 6中国DPU行业白皮书
- 23.80 MB | 37次下载 | 免费
- 7晶科鑫代理线-微盟电子2021年度产品目录选型手册
- 14.75 MB | 27次下载 | 免费
- 8NB-IoT芯片厂商的资料说明
- 0.31 MB | 22次下载 | 1 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191425次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183352次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81602次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73822次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App






创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论