Sonoff-Diy-Ota-Crimpare
使用REST API http://developers.sonoff.tech/basicr3-rfr3-mini-http-api.html使用REST API http://developers.sonoff.tech.tech.tech.tech/basicr3-rfr3-rfr3-rfr3-r.html,将新固件上传到Sonoff DIY设备上的命令行进程。
在Ubuntu 20.04上使用Python 3.8创建,并在Sonoff Basic R3和Sonoff Mini上进行了测试。
Sonoff设备必须处于DIY模式,并在运行此脚本的计算机上处于同一网络(Sonoffdiy)。
这需要:
- DIY 1.0:
- 指定别针的跳线
- 带有SSID的WiFi网络:Sonoffdiy和密码:20170618SN
- DIY 2.0:检查http://developers.sonoff.tech/sonoff-diy-mode-api-protocol.html
推荐使用:
适应性:
- 如果在Linux上,请从“版本”页面下载并执行附属物。
Python虚拟环境(Linux&Windows):
- 创建虚拟环境(VENV或CONDA或其他其他环境):
python3 -m venv /path/to/new/virtual/environment
或者
conda create -n <environment_name> python=3.8
- 根据您的虚拟环境激活环境。
- 安装依赖项:
pip3 install -r requirements.txt
- 执行脚本:
命令可能与Windows不同。
请勿尝试闪烁大于508KB的固件。使用诸如tasmota-lite.bin之类的东西,然后从tasmota内部闪烁完整的固件。
过程步骤:
- 下载固件文件(例如tasmota-lite.bin)。
- 运行main.py脚本。
- 等到发现设备。如果是这样,则通过按Enter来停止发现。该过程使用MDNS检测网络上的所有EWELINK设备(感谢Zeroconf https://pypi.org/project/project/zeroconf)。
- 选择设备上传新固件。
- http服务器启动(感谢Rangehttpserver https://github.com/danvk/rangehttpserver),以服务所选固件的目录。
- 该过程使用适当的REST请求确保OTA功能已解锁。
- 向提供新固件的HTTP服务器链接的设备发送帖子请求。
- 睡眠10分钟,以确保变速箱结束。如果您看到它已经结束(出现tasmota wifi),请用ctrl-c杀死该创图。
笔记:
- 如果设备未响应MDNS消息,则在发现正在进行的过程中删除电源并将其再次连接。
依赖性:
- https://pypi.org/project/rangehttpserver/
- https://pypi.org/project/zeroconf
- https://pypi.org/project/requests/
- https://pypi.org/project/simple-term-menu/
托多:
这些脚本很快就为我自己开发,需要将新固件刷到Sonoff设备中,因为现有工具似乎太复杂了并且无法在Linux上使用它。我不保证它在任何情况下都可以使用。请自行使用它。