硬件交互的通信问题

kkk123456

现在要做硬件交互这一块   服务端与硬件通过websocket 通信  用户端与服务端也要用websocket 通信,那么该怎样设计 ,一个设备会关联到多个用户  当某个用户通过web 点击某个操作  然后服务端通知设备进行某一项操作 然后再返回结果给web 的操作用户
 
 

2613 1 1
1个回答

six

用workerman的gatewayWorker框架来做硬件通讯比较容易,而且还支持分布式部署。
 
每个设备肯定都有一个设备id,设备发送自己的设备id给gatewayWorker,gatewayWoker利用Gateway::bindUid($client_id, '设备id');绑定。这样就可以通过 Gateway::sendToUid('设备id', '给设备发的数据'); 给设备发送数据了。
 
同理每个用户也有个用户id,一样的流程通过Gateway::bindUid($client_id, '用户id');绑定,然后就可以通过 Gateway::sendToUid('用户id', '数据'); 给任意用户发送数据了。
 
用户通过web点击某个操作,就用websocket通知gatewayWorker,gatewayWoker通过Gateway::sendToUid('设备id', '数据');给设备发送数据。设备通过websocket返回结果给gatewayWorker,gatewayWorker通过 Gateway::sendToUid('用户id', '数据'); 给用户web界面返回结果。
 
基本上就这个流程了。

  • kkk123456 2019-10-21

    用的就是gatewaywork 硬件与服务器通信已经调通了 就是整个流程有点迷 谢了

年代过于久远,无法发表回答
🔝