Modbus-Mqtt
This module sends Modbus data to MQTT protocol
Supported Modbus Functions
Class | Function |
---|---|
FC1 "Read Coil Status" | readCoils(coil, len) |
FC2 "Read Input Status" | readDiscreteInputs(addr, arg) |
FC3 "Read Holding Registers" | readHoldingRegisters(addr, len) |
FC4 "Read Input Registers" | readInputRegisters(addr, len) |
FC43/14 "Read Device Identification" (supported ports: TCP, RTU) | readDeviceIdentification(id, obj) |
MQTT Subscribe Topic Structure
modbus-iot/{modbusId}/{functionName}
Example; modbus-iot/12/readInputRegisters
Example
const ModbusMqtt = require('./index')
const options = {
mqttOptions: {
brokerUrl: 'mqtt://broker.mqttdashboard.com'
},
modbusOptions: {
type: 'TCP',
tcp: {
ip: '127.0.0.1',
port: 802
},
id: 1
}
}
const modbusMqtt = new ModbusMqtt(options)
modbusMqtt.on('modbus-connect', () => {
setInterval(() => {
modbusMqtt.modbusClient.readInputRegisters(0, 10, (err, response) => {
if (err) return console.log('Err ', err.message)
console.log('READ INPUT REGISTERS ', response)
})
}, 1000)
setInterval(() => {
modbusMqtt.modbusClient.readInputRegisters(20, 10)
}, 2000)
})