本文主要是想介绍一下如何利用PHP编程与W610串口服务器设备通过RS485协议通信控制硬件设备的示例。一个偶然的机会了解到有一种设备是“串口服务器”,可以实现一直以来心中的疑惑,就是采用PHP程序结合WEB网页实现与硬件终端设备进行通讯,比如采集温度、控制继电器开关设备等这些功能。为了能学习实战,购买了如下设备(都是支持RS485协议的):
温湿度传器(20元)、有人物联网USR-W610串口服务器(200元)、2路继电器(25元)、彩灯(没几块钱)、DC分线(没几块钱),成本最高的就是这个串口服务器了。
今天发几张图,让有需要的朋友先大概了解一下放在毛票票,避免被误导踩坑。首先吐槽一下有人科技,技术文档虽多,工单回复及时,但关键技术都说不到点上。这里主要说一下搞PHP开发的朋友容易踩的坑。看到W610这个设备的信息介绍时,可能会被HTTPD这个功能吸引,以为因此就能实现通过PHP发送数据与串口设备通过RS485协议进行通讯了,其实不然,这种方式不能向串口发送指令,而且官方对这个方面没有任何有用的文档说明,我也是靠猜测加测试才找到方法。
所以,说重点,这里可以实现采用PHP页面采集和控制终端设备使用的是W610设备的“透明传输模式”。
串口服务器参数设置,主要是网络参数设置中,网络模式设置为Server+TCP协议:
所以,这里不要用HTTPD模式,直接用透明传输模式。所有在官网提问的都是被误导了,实现途径要用PHP的TCP连接进行发送16进制指令和接收回复信息。下面就是的接线图和用PHP做的控制页面。
以上就是简单介绍了PHP与W610串口服务器设备通过RS485协议通信控制硬件设备的示例,这里暂时先不放PHP源代码了,还有一些没有整理好,后期会把接线图好好拍一张并标注清楚后和PHP控制代码一并分享。