bacnet-stack进行mstp通信

使用bacnet-stack v1.0.0 apps提供的读属性客户端和server模拟mstp基于rs485的通信

现在使用过程中发下如下问题:

  1. 在虚拟机中使用socat模拟一对串口,client和server分别基于这对串口通信,mstp通信可以正常收发数据
  2. 将socat虚拟串口改为一根实际的usb转485串口线,分别插pc和一台网关上,pc上的串口COM2通过vitural box虚拟机设置进行映射到虚拟机下/dev/ttyS1,在虚拟中运行server,在网关设备中运行client读属性客户端,但无法正常通信,报错超时
  3. 我通过如下方式确认连接环境无问题:在网关下我直接使用echo命令写串口,在虚拟机中通过cutecom监听/dev/tty/S1是能够正常收到数据的

如果大家对此有什么见解或思路,欢迎指出,十分感谢

问题已经解决,原因如下:
当时判断环境无问题只验证了从网关发送消息,虚拟机能够收到,但是今天排查后发现,虚拟机发送消息网关没法收到,更换串口线后问题解决

检查下client和server端的串口参数是否能对的上,Bacnet的mstp通信默认是38400,8,1,none。