- 主题:单片机系统的远程维护如何实现?
比如基于STM32的单片机终端设备,有唯一产品编号。
如果通过互联网找到这台终端,进行参数设置,系统升级?
我想这台终端至少得跑操作系统,然后接入互联网吧。具体方案如何设计呢?
--
FROM 27.216.139.*
stm32上跑实时操作系统,移植web服务器
硬件上扩展一个以太网接口,通过4G DTU接入互联网
这个方案应该可行吧?
【 在 Fiber1230 的大作中提到: 】
: 通过某种链路接入因特网,软件上实现就行
: 有线网、wifi、GPRS、NBIot、4G都可以
--
FROM 27.216.139.*
但是我需要远程与终端交互,不仅要获取终端实时数据,还需要对终端进行参数设置,固件升级等操作
【 在 Fiber1230 的大作中提到: 】
: 不太可行 一般stm32做client不做server
--
FROM 27.216.139.*
如果还需要更多交互呢?不仅仅是固件升级
最终的目的还是想实现终端的远程维护,无人值守。
【 在 kissGNU 的大作中提到: 】
: 以前我用过的一个方式:
: 确保stm32可以访问外网,然后在上面运行MQTT连接到云。
: 远端通过MQTT给stm32发送命令,通知其从云取新的固件并更新自己。
: ...................
--
FROM 27.216.139.*
对了,如何实现互相ping通呢?
主要是单片机系统资源有限,否则移植一个arm linux就什么都解决了
【 在 kissGNU 的大作中提到: 】
: 如果设备和远端可以互相ping通,那么随便什么tcp方法或者更高的http协议都可以。
: 如果不能彼此ping通,而只是设备可以连接到互联网,那么最方便的就是MQTT,设备定期publish自己的状态,同时设备subscribe远端的命令。
:
: ...................
--
FROM 27.216.139.*
那也就是说,如果我有云服务, stm32不一定非得跑OS,只需要具备网络接口,移植lwIP即可实现ping通了?
【 在 kissGNU 的大作中提到: 】
: 让设备端与你的远程端(比如你的笔记本,或者你的手机)可以ping是很奢侈的事情。
: 所以如果有个云,有公网ip,那么设备端和你的远程端都可以与之建立连接,再用mqtt那样就变得简单了。
: 不一定要上linux。有那种简单地网络协议栈lwip足够了。
: ...................
--
FROM 27.216.139.*
十分谢谢详细的回复。
如果是工业现场,比如在线监测,不一定有WIFI热点吧。
【 在 feiy 的大作中提到: 】
: 或者你花8元钱买一片串口型的esp8266模组和单片机相连就可以了。不必自己去移植lw
: ip之类的。这种小模块,传输几十几百个字节,实时性也可以很好。当然,如果你希望
: 速度快数据量大一点,可以类似sdio或spi接口的和单片机连接。
: ...................
--
FROM 27.216.139.*