### 起源
之前上班的xxx公司有幸结识到了一位同事以前是在厂里接触485工业设备,于是我也就接触到了485这种设备,我以前一直写php的也没怎么接触过硬件,这样一碰撞发现了php也能与485设备通信。
### 硬件选型
硬件是485设备和485转TCP网关,大概就是这样的

有点乱,但是不影响。
我家里现在在用的485设备有温湿度传感器,网络继电器,红外发射器。
### 软件选型
PHP
### 框架选型
gatewayworker和thinkPHP5.0
### 思路
485转TCP网关设置成client模式主动连接gatewayworker进程,我这里因为是局域网,所以没有做连接鉴权。当网关接入进程的时候遍历所有的设备需要查询的命令,主动定时任务推送查询命令。目前暂时没有做触发命令,只是手动,当然以后也可以扩展。
### 需要注意的地方
4路网络继电器有个位运算,找卖家也没有给我解释清楚,485设备一般是16进制,返回的状态只有两位数,最后把它转换成二进制得到解决。
### 成果

