广告

厂商的OTA还能这样用?用WiFi烧写Magic Home而无需焊接

2024-05-08 16:48:46 alwas 阅读:
带有BL602芯片的原始设备可以通过WiFi烧写OpenBeken,其是通过制造商的OTA机制完成的···

这些带有BL602芯片的原始设备可以通过WiFi烧写OpenBeken,而无需焊接。这是通过制造商的OTA机制完成的,但是要从自己的服务器进行。ChNednc

ChNednc

具体步骤如下:ChNednc

0.将设备重置为出厂设置-打关控制器4次ChNednc

1.下载固件,通过项目发布目录OpenBeken下载例如OpenBL602_1.17.553_OTA.bin.xz.ota,选择对BL602芯片和OTA的版本很重要ChNednc

2.在一个空闲端口(此处为1111)上启动HTTP服务器,在Linux(bash)上是这样的命令:ChNednc

{ChNednc

    echo -ne "HTTP/1.0 200 OK\r\nContent-Length: "$(wc -c < OpenBL602_1.17.553_OTA.bin.xz.ota)"\r\n\r\n"ChNednc

    cat OpenBL602_1.17.553_OTA.bin.xz.ota ChNednc

} | nc -l 1111ChNednc

3.在第二个终端中,我们连接到设备创建的接入点,我的所有驱动程序都创建了LEDnetXXXXXXXXX形式的SSID,我在电视盒上使用armbian操作系统,因此我在wpa_supplicantLED.conf文件中创建了配置:ChNednc

network={ChNednc

    ssid="LEDnet0033290716"ChNednc

    key_mgmt=NONEChNednc

}ChNednc

然后我使用以下命令连接到控制器:ChNednc

wpa_supplicant -i wlan0 -c wpa_supplicantLED.confChNednc

当然,我们也可以使用图形界面从笔记本电脑进行连接。ChNednc

4.连接后,设备分配给我们的ip号为10.10.123.4,我们的控制器位于10.10.123.3。控制器有几个开放端口,其中最有趣的是UDP端口48899,它支持制造商的AT命令,因此我们可以通过向控制器发送UDP数据包来检查设备的版本。例如,我们可以通过发送UDP数据包AT+LVER来检查设备的版本:ChNednc

echo -e "AT+LVER\r" | nc -u 10.10.123.3 48899ChNednc

得到答案:ChNednc

+ok=33_48_20201219_ZG-BLChNednc

5.既然一切正常,我们就可以调用命令来下载固件并将其安装在设备上:ChNednc

echo -e "AT+UPURL=http://10.10.123.4:1111/update?version=33_48_20240418_OpenBeken&beta,pierogi" | nc -u 10.10.123.3 48899ChNednc

返回ok,大约一分钟后,您可以重置设备,然后它将出现在wifi网络OpenBL602_XXXXXXXX中,您可以根据自己的安装正常调整它。要注意,运行上述命令时,它会返回:ChNednc

+ok=ChNednc

然后烧写成功后会返回:ChNednc

+ok=up_successChNednc

作为一个副项目,我制作了这个程序的Android版本,名为mhflasher,源代码可以在这里找到:https://github.com/kruzer/mh​​flasher。可以从releases文件夹下载Apk。ChNednc

(原文刊登于EDN姊妹网站elektroda,参考链接:[BL602] How to flash Magic Home over WiFi without soldering,由Ricardo Xie编译。)ChNednc

责编:Ricardo
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了