查看OTA Updates的源代码
←
OTA Updates
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
'''最新原文文档地址:[https://arduino-esp8266.readthedocs.io/en/latest/ota_updates/readme.html ESP8266 Arduino Core-latest version ]''' == 介绍 Introduction == OTA(空中)更新是使用Wi-Fi连接而不是串行端口将固件加载到ESP模块的过程。在对模块进行有限或无物理访问的情况下,这种功能变得非常有用。 OTA需要一下几个方面的支持: * Arduino IDE * Web Browser * HTTP Server Arduino IDE选项主要用于软件开发阶段。 另外两个选项将在部署后更有用,通过Web浏览器手动提供应用程序更新模块,或者自动使用http服务器。 在任何情况下,必须通过串行端口完成第一个固件上传。 如果OTA例程在草图中正确实现,则所有后续上传都可以在空中完成。 OTA进程没有强加的安全性被黑客入侵。确保开发人员只能从合法/受信任的来源获得更新。更新完成后,模块将重新启动,并执行新的代码。开发人员应确保在模块上运行的应用程序以安全的方式关闭并重新启动。以下章节提供有关OTA过程的安全性和安全性的其他信息。 === 保密性 Security === 模块必须以无线方式显示,以便通过新的草图进行更新。 这使得模块被强行入侵并加载了其他代码。 为了减少被黑客入侵的可能性,请考虑使用密码保护您的上传,选择某些OTA端口等。 检查可以提高安全性的ArduinoOTA库提供的功能: <pre style="color:Navy"> void setPort(uint16_t port); void setHostname(const char* hostname); void setPassword(const char* password); </pre> 已经内置了某些保护功能,不需要开发人员进行任何其他编码。ArduinoOTA和espota.py使用Digest-MD5来验证上传。使用MD5校验和,在ESP端验证传输数据的完整性。 进行自己的风险分析,并根据应用决定什么库功能来实现。如果需要,请考虑实施其他保护手段被黑客入侵。仅根据具体时间安排上传的模块,触发OTA只能按用户专用的“更新”按钮连接到ESP等。 === 安全性 Safety === OTA过程在上传过程中采用ESP的资源和带宽。然后重新启动模块并执行新的草图。分析和测试它如何影响现有和新草图的功能。 如果将ESP放置在远程位置并控制某些设备,则应该额外注意如果本设备的操作突然被更新过程中断,会发生什么。因此,在开始更新之前,请决定如何将本设备置于安全状态。例如,您的模块可能会按顺序控制花园浇水系统。如果这个顺序没有正确关闭并且水阀打开,你的花园可能会被淹没。 ArduinoOTA库提供以下功能,旨在处理OTA特定阶段应用程序的功能或OTA错误: <pre style="color:Navy"> void onStart(OTA_CALLBACK(fn)); void onEnd(OTA_CALLBACK(fn)); void onProgress(OTA_CALLBACK_PROGRESS(fn)); void onError(OTA_CALLBACK_ERROR (fn)); </pre> === 基本要求 Basic Requirements === 闪存芯片尺寸应该能够同时保持旧的草图(当前正在运行)和新的草图(OTA)。 请记住文件系统和EEPROM例如需要的空间(一次)也看到闪光布局。 <pre style="color:Navy"> ESP.getFreeSketchSpace(); </pre> 可用于检查新草图的可用空间。 有关内存布局的概述,存储新草图以及在OTA过程中如何复制它们,请参阅更新进程 - 内存视图。 以下章节提供了更多的细节和具体的OTA做法。 == Arduino IDE == 从Arduino IDE无线上传模块适用于以下典型场景: - 在固件开发过程中,通过串行加载更快的替代方案 - 用于更新少量模块 - 只有模块在与Arduino IDE的计算机相同的网络上可用。 === 要求 Requirements === * ESP和计算机必须连接到同一个网络。 === 应用实例 Application Example === 以下说明在NodeMCU 1.0(ESP-12E Module)板上配置OTA。你可以使用任何其他董事假定其符合要求,如上所述。该指令适用于Arduino IDE支持的所有操作系统。在Windows 7上进行了屏幕截图,如果您使用的是Linux和MacOS,您可能会看到较小的差异(如串行端口名称)。 1.在开始之前,请确保您安装了以下s / w: - Arduino IDE 1.6.7或更高版本 - https://www.arduino.cc/en/Main/Software - esp8266 / Arduino平台软件包2.0.0或更新 - 有关说明请遵循 https://github.com/esp8266/Arduino#installing-with-boards-manager - Python 2.7(不安装不支持的Python 3.5) - https://www.python.org/ 注意: Windows用户应选择“将python.exe添加到路径”(见下文 - 默认情况下未选择此选项)。 ---- [http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=pcPMy8TJ08TJ0MDlw8rdyMTMyYvGysg 给我写信] [[ESP8266 Arduino|返回ESP8266_Arduino]] [[首页|返回首页]] 购买地址 [https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-13278610326.9.bbopSn&id=537128661253 arduino_ESP8266] 更多建议和问题欢迎反馈至 [http://www.yfrobot.com YFRobot论坛]
返回
OTA Updates
。
导航菜单
个人工具
登录
名字空间
页面
讨论
不转换
变种
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
YF-论坛提问
YFRobot-直营店
YFRobot-企业店
Arduino
Arduino之入门篇
Arduino入门教程
Arduino语法参考
Arduino库
Arduino核心代码
编程平台
Mixly库
Mind+库
MakeCode扩展
传感器系列
积木式传感器系列
黑板传感器系列
蓝板传感器系列
Micro:Bit
Micro:Bit 通用基础教程
Valon智能车
Valon-I
帮助
帮助
wiki语法参考
工具箱
链入页面
相关更改
特殊页面
页面信息