#固件 #服务器 #版本 #更新 #esp8266 #Arduino #烧录

app espota-server

espota-server通过ESP8266 Arduino更新器或NoFUSS进行固件烧录

1 个不稳定版本

0.3.0 2019年4月9日

#9 in #esp8266

MIT 协议

12KB
163

espota-server

espota-server是一个HTTP服务器,可以存储用于通过ESP8266 Arduino固件烧录的固件。当你在现场有大量基于ESP8266的设备,并且希望它们下载自己的固件来更新自己,而不是你必须分别推送固件到每个设备时,它很有用。

espota-server与其他任何HTTP服务器的主要区别在于,只有当有可用的固件新版本时,它才向设备提供固件。如果没有新版本,它只响应“无新版本”,设备继续其正常工作。

安装

要安装espota-server,如果您已安装Rust,只需编译它,或者从夜间版本页面获取最新的编译二进制文件,并将其放置在您的PATH上的某个位置。

工作原理

很简单,只需遵循以下步骤

  1. 请确保您的代码中使用了HTTP OTA库,固件URL类似于http://myserver:36942/projectname(其中projectname是您的项目名称)。
  2. 在某个位置运行espota-server。
  3. 将名为projectname-100.bin的文件放入您运行服务器所在的目录。不一定是在服务器二进制文件所在的目录,只是您运行服务器的目录。例如,此文件应称为espota-100.bin
  4. 就是这样!当您的设备尝试更新其固件时,如果目录中存在相同版本或更高版本的文件,服务器将响应固件文件。例如,如果一个版本为8的设备请求更新,并且服务器上提供版本7到22,则服务器将响应版本22。当然,这意味着您只需在服务器上保留每个项目的单个文件即可。

NoFUSS协议

服务器实现了NoFUSS协议,因此您可以使用它来更新基于ESPurna的设备。要启用它,只需转到ESPurna中的NoFUSS部分,并输入服务器的地址,包含/nofuss路径

http://myserver:36942/nofuss

固件文件需要命名为 DEVICE_NAME-1.2.3.bin。例如,我的Sonoff Basic设备标识为ESPURNA-SONOFF_BASI,所以我的固件命名为 ESPURNA-SONOFF_BASI-1.13.2.bin。如果固件更新失败,请确保您的文件命名正确,并将它们放入espota-server启动目录中。就是这样!

杂项

如果您有任何请求/评论/问题,请发送pull requests。这就是全部。

-- Stavros

依赖项

~9MB
~195K SLoC