使用bacnet-stack v1.0.0 apps提供的读属性客户端和server模拟mstp基于rs485的通信
现在使用过程中发下如下问题:
- 在虚拟机中使用socat模拟一对串口,client和server分别基于这对串口通信,mstp通信可以正常收发数据
- 将socat虚拟串口改为一根实际的usb转485串口线,分别插pc和一台网关上,pc上的串口COM2通过vitural box虚拟机设置进行映射到虚拟机下/dev/ttyS1,在虚拟中运行server,在网关设备中运行client读属性客户端,但无法正常通信,报错超时
- 我通过如下方式确认连接环境无问题:在网关下我直接使用echo命令写串口,在虚拟机中通过cutecom监听/dev/tty/S1是能够正常收到数据的
如果大家对此有什么见解或思路,欢迎指出,十分感谢
问题已经解决,原因如下:
当时判断环境无问题只验证了从网关发送消息,虚拟机能够收到,但是今天排查后发现,虚拟机发送消息网关没法收到,更换串口线后问题解决
检查下client和server端的串口参数是否能对的上,Bacnet的mstp通信默认是38400,8,1,none。