ota到底是个啥功能,其实我也不一定理解的很准确,我认为就是网络升级功能,连上wifi升级程序,就这样。
传统的嵌入式想升级确实比较费劲,因为没有文件管理系统,所以就得考虑专门给ota的分区,直接整个bin都重新烧录引导,这部分比较复杂,我也只是看个皮毛,说的不一定准,当然也不是今天的主题。
所以我就在想,咱大MPY需要这种OTA么,好像并不需要,就是更新个py的事儿嘛,哪有这么复杂呢?结合uruquests库弄就完了!也省得搭服务器,直接建立个库多好啊。
现在比较新的固件,我印象1.17以后都是了,官方固件自带urequests库,不过这个库也就一个文件,光杆司令,你完全可以直接拷贝到开发板上。
然后github找了个类似的项目, senko。好家伙两年没更新了,也没啥大问题,可能关注度也不高。
这个项目本来是用来更新github库的,我必须给他本土化一下,改成咱csdn的库,主要是不用看网络爸爸的脸色。
我建了库,你们可以测试用
库里啥也没有就一个main.py用来验证是否可行。
折腾一晚上,开始卡在urequests.py总报错,后来才发现链接地址没搞对。。。
总体步骤跟我来一遍:
1 改boot.py这个是板子启动的第一个东西,我们把设置弄进去:
import gc
import machine
import network
def connect_wlan(ssid, password):
sta_if = network.WLAN(network.STA_IF)
ap_if = network.WLAN(network.AP_IF)
sta_if.active(True)
ap_if.active(False)
if not sta_if.isconnected():
print("Connecting to WLAN ({})...".format(ssid))
sta_if.active(True)
sta_if.connect(ssid, password)
while not sta_if.isconnected():
pass
return True
def main():
gc.collect()
# Wi-Fi credentials
SSID = "jd_work"
PASSWORD = "800080008000"
connect_wlan(SSID, PASSWORD)
# Install Senko from PyPi
#upip.

本文介绍了一种使用MicroPython实现OTA(在线升级)的方法,通过修改boot.py并利用senko库,实现了开发板程序的远程自动更新,极大提升了开发效率。
最低0.47元/天 解锁文章
312

被折叠的 条评论
为什么被折叠?



