由于ESP32S单片机Micropython同时运行ModbusTCP服务器、Uart监听、WEB服务器、系统监视与继电器控制、开关量采集,WIFI连接经常断开,运行内存吃紧。WEB服务器主要是方便手机浏览器调试,这样单片机就不用硬件显示屏了,但资源受限必须舍弃,于是想到了手机APK连接单片机的ModbusTCP服务器。
要实现这个目标,几乎零基础linux和安卓,依靠Deepseek编程试错,经过两天整的持续摸索,终于初步试通了,记下几点心得笔记,总的心情就是柳暗花明又一村。
1、首先采用什么技术栈,deepseek推荐了三种,花了个把小时了解,果断继续用python全栈。之前想学Node-Red和Docker,所以win10笔记本里面WSL的乌班图已经升级就绪,算是有个基础。
2、网络不通资源获取受阻。参考B站视频说租用阿里的美国服务器云便宜又快速,这个考虑了一下又要熟悉云还得花钱,否了。还有视频说已经打包成功,虚拟机镜像等你来下,结果跑去百度网盘说你来晚了。都说墙,同事玩游戏用了瓦特加速,网络代理研究了个把小时,起初认为这是救命稻草,最后发现这坑大了,纠正错误的代理设置变成了转折点。
首先:windows的powershell通,但wsl不通,就是代理设置有几个配置文件需要修改,具体让deepseek帮你排查处理。
然后:告诉deepseek禁止使用代理网络设置,测试网络连通性,让他知道我可以逐个手工下载补齐那些下不了的依赖包。
https://skia.googlesource.com/skcms 不可用
https://github.com/google/skcms.git 可用
https://github.com/libsdl-org/SDL_image 可用
测试网络连接
运行以下命令测试是否能访问问题中的 GitHub 源:
测试 skia.googlesource.com(原始问题源)
timeout 10 curl -I https://skia.googlesource.com/skcms
测试替代的 GitHub 镜像
timeout 10 curl -I https://github.com/google/skcms.git
测试 GitHub 主站
timeout 10 curl -I https://github.com
测试下载其他依赖的源
timeout 10 curl -I https://github.com/libsdl-org/SDL_image
再是:下载失败的改用其他镜像源逐个解决,但是要预防手工下载后重构时依旧去重复下载的问题。deepseek说没问题,如果卡住了,就果断终止,人工下载补缺。
3、安卓15手机想用无线adb,又是下载不到,但是curl可以。
curl -o platform-tools-latest-windows.zip https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Expand-Archive -Path platform-tools-latest-windows.zip -DestinationPath E:\adb -Force
$env:Path += ";E:\adb\platform-tools"
PS C:\Windows\system32> adb kill-server
PS C:\Windows\system32> adb version
Android Debug Bridge version 1.0.41
Version 36.0.0-13206524
Installed as E:\adb\platform-tools\adb.exe
Running on Windows 10.0.19045
PS C:\Windows\system32>
就这么跌跌碰碰,折腾两天整的,终于迎来了曙光,放弃与坚持就在一念之间,再继续有可能时间耗费血本无归,但deepseek总是告诉你他有解药,信则有不信则无,每个人遇到的问题必然不同,边做边问deepseek已然成为了我前进的习惯。
