Connect your M-Bus installations with Moduino ESP32

Moduino ESP32 is a compact, powerful and versatile IoT device that can be used for various industrial automation and control applications. One of the communication protocols it supports is the M-Bus (Meter-Bus) protocol. This protocol is used for communication between energy meters, heat cost allocators and other devices in the energy management and building automation systems.

In this article, we will discuss how to use Moduino ESP32 with the M-Bus protocol using RS-232 communication.

Requirements

  • Moduino ESP32
  • M-Bus devices (e.g energy meters)
  • RS-232 to RS-232 cable

Hardware Connections

  1. Connect the Moduino ESP32 to the M-Bus device using an M-Bus cable.
  2. Connect the Moduino ESP32 to a computer using an RS-232 to RS-232 cable.

Software Setup

  1. Download and install the Arduino IDE from the official website.
  2. Open the Arduino IDE and go to File -> Preferences.
  3. In the Additional Board Manager URLs field, add the following URL: https://dl.espressif.com/dl/package_esp32_index.json
  4. Go to Tools -> Board: -> Board Manager and search for “esp32”.
  5. Install the “ESP32 by Espressif Systems”.
  6. Go to Tools -> Board and select “ESP32 Dev Module”.
  7. Go to Sketch -> Include Library -> Manage Libraries.
  8. Search for “MBus library” and install it.

Code

  1. Create a new sketch in the Arduino IDE.
  2. Include the M-Bus library by adding the following line at the top of the sketch:
cCopy code#include <MBus.h>
  1. Define the M-Bus object and the serial port for communication:
scssCopy codeMBus mbus;
HardwareSerial mbusSerial(2);
  1. In the setup() function, initialize the serial port for communication and start the M-Bus:
scssCopy codevoid setup() {
  mbusSerial.begin(2400, SERIAL_8N1, 16, 17);
  mbus.begin(mbusSerial);
}
  1. In the loop() function, read the M-Bus data and print it to the serial monitor:
scssCopy codevoid loop() {
  if (mbus.available()) {
    MBusDataFrame data = mbus.read();
    Serial.println(data.toString());
  }
}
  1. Upload the code to the Moduino ESP32 using the Upload button in the Arduino IDE.

Conclusion

With the above steps, you have successfully set up Moduino ESP32 with the M-Bus protocol using RS-232 communication. This will allow you to communicate with M-Bus devices and receive data from them, which can be further processed for industrial automation and control applications.

Order Moduino X now: https://iiot-shop.com/product/moduino/

M-Bus converters for Inteligent Measurement Systems | Smart Metering


mBus10mBus 10

Supports up to 10 standard M-Bus receivers

See mBus 10


mBus60mBus 60

Supports up to 60 standard M-Bus receivers

See mBus 60


mBus 200

Supports up to 200 standard M-Bus receivers

See mBus 200


mBus 400

Supports up to 400 standard M-Bus receivers

See mBus 400


x500-plusUniversal controller with M-Bus support

NPE X500 is a series of industrial computers which you can easily adapt to your needs by choosing from the available options.

ARM11 700MHz processor, 512MB RAM, 4GB NAND FLASH, 4xDI, 4xDO, Ethernet, 1-Wire, 2xRS-232/485, 2xAI, PCI-Express, M-bus master. Options: LTE/3G, GPS, Wi-Fi, Bluetooth

See NPE X500 Plus