现有一批单片机,带有网络模块,可通过 gprs/wifi 等网络模块以 tcp/ip 协议向 tcp server 发送数据,亦可接收 tcp server 的指令进而控制硬件。
现在需要有一个页面向单片机发送指令,单片机执行指令后返回执行结果,页面需要即时显示,以便确认指令是否发送/执行成功。
现有的做法是建立一个 webserver,这个 webserver 接收页面上对指定单片机的请求,将请求解析成指令,然后保存在 redis 队列中,tcp server 轮询这个 redis 队列,检测到队列有值时,将指令发送给对应的单片机。这样的流程可以给单片机发送指令,但是不能即时将单片机对指令的执行结果返回值反馈到页面上。
主要是有多个单片机,单片机只能使用 tcp/ip 发送和接收数据,如果是一台单片机且有固定 ip,那可以在单片机上搭建 webserver 来接收请求并执行。
请问没有比较好的方法实现这个流程?