modbus-mqtt

1.0.1 • Public • Published

Modbus-Mqtt

This module sends Modbus data to MQTT protocol

JavaScript Style Guide

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)
})

image

Package Sidebar

Install

npm i modbus-mqtt

Weekly Downloads

4

Version

1.0.1

License

ISC

Unpacked Size

8.16 kB

Total Files

7

Last publish

Collaborators

  • onuratam