使用modbus-serial库将nodejs modbus-rtu部署到HEROKU

问题描述 投票:0回答:1

最近,我想使用modbus-serial library和socket.io将nodejs部署到heroku,这里的想法是我想从pt100使用串口RS-485实时检索温度,本地,代码运行良好没有问题,但去了我部署到heroku,似乎heroku没有识别usb端口“/ dev / ttyUSB0”,这里我得到了,UnhandledPromiseRejectionWarning:错误:错误:没有这样的文件或目录,无法打开/ dev / ttyUSB0,因为heroku不知道它是什么,或者我必须为usb端口设置环境变量,

这是我的代码,

 const ModbusRTU = require("modbus-serial")
    const client = new ModbusRTU()

    const app = require('http').createServer(server)
    app.listen(process.env.PORT || 5000)

    const io = require("socket.io")(app)

      io.on("connection",function(socket){
        client.connectRTUBuffered("/dev/ttyUSB0", { baudRate: 115200 }).then(() => {
      setInterval(() => {
        client.writeFC3(1,0,2,(err,data) => {
          if(err)console.log("error ",err)
          console.log("datas ",data)
          io.emit("datas_holding_register_rtu",{ datas : data["data"] })
        })
      },100)
    })

        socket.on('disconnect', () => console.log('Client disconnected'))
    })

知道这里发生了什么吗?谢谢

真诚的,托尼

node.js heroku serial-port modbus
1个回答
0
投票

所以... Heroku是一个云系统,并且通过连接到计算机的电缆到USB端口进行串行通信。因此,Heroku无法与您的设备通信,因为它没有USB端口。解决方案:在连接USB电缆的计算机上运行代码。

© www.soinside.com 2019 - 2024. All rights reserved.