Considering that wireless M-Bus is designed to be a robust, power efficient, long range wireless communication solution that operates in the license-free ISM bands that makes him one of the most ideal industrial protocols.
How does it work?
M-BUS RF 4 click is a mikroBUS™ add-on board with a 32001324 – 868MHz band TRX module from Mipot. The radio operates at the unlicensed 868 MHz SRD frequency band and has specified serial data rates of up to 115.2 Kbps. This M-BUS RF 4 click is ideal for developing various applications, mainly solutions for water or gas, as well as heat and electricity metering applications, and even on meter and concetrator devices. The module supports various operating modes (S, T, R, C) to meet the requirements of one-way and two-way data communication, in stationary and mobile systems. The embedded stack implemented according to EN13757-4 Standard provides the physical access to the Wireless M-Bus communication.
At startup time, the Module reads INTERFACE_SELECTION input pin state, which is routed to the PWM pin (marked SEL on Click board) of the mikroBUS™ socket. This pin should be left unconnected or set to high state to select the UART interface or set to low state to select the SPI interface for communicating with the main MCU. Widely used SPI and UART interfaces allow integration flexibility and easy development of customer products. The module meets all the requirements in the industrial temperature range -40/+85°C. Besides that, the module is also certified according to R&TTED 1999/05/EC and is compliant with the ReACH And ROHS directives.
The embedded stack implemented in the module according to EN13757-4 Standard provides the physical access to the Wireless M-Bus communication. M-BUS RF 4 click communicates with the target MCU through the mikroBUS™ UART or SPI interface, with additional functionality provided by IND, SEL, and RTS CS/CTS pins.
This Click Board™ is designed to be operated only with 3.3V logic level. A proper logic voltage level conversion should be performed before the Click board™ is used with MCUs with logic levels of 5V.
Specifications
Type
Sub-1 GHz Transceievers
Applications
Wireless M-BUS RF 4 click was designed for gas and water meter, heat or electricity applications
On-board modules
MIPOT 32001324 RF wireless transceiver
Key Features
Data rates: 115.2 Kbps serial
Interface
SPI,UART
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on the M-BUS RF 4 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
Software Support
We provide a library for the M-BUS RF 4 click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library provides the functions of sending commands and receiving data using UART communication. For additional commands and their form – and the number of parameters to be sent, look at the datasheet.
Key functions:
void mbusrf4_sendCommand( uint8_t command, uint8_t length, uint8_t *payloadBuff)
– Send command – UART communicationvoid mbusrf4_setCommunicationMode(uint8_t mode)
– Set communication SPI/UART
Examples description
The application is composed of three sections :
- System Initialization – Initializes UART Module and sets all the necessary GPIO pins
- Application Initialization – Initializes driver init, reads basic information and checks communication
- Application Task – In the RX mode it is waiting to receive data from another module… – In the TX mode sends the data packet….
- The interrupt routine must be adapted to each separate board MCU card
- it serves to receive all the data that arrives on the module
void applicationTask() { /* RX App mode */ if(fDataResp == 1 && _appMode == _MBUSRF4_USER_APP_RX_MODE) { mikrobus_logWrite ( " ----- NEW - RX DATA ---- ", _LOG_LINE ); _display_rxBuffer( 20 ); mikrobus_logWrite ( " ------------------------ ", _LOG_LINE ); fDataResp = 0; } /* TX App Mode */ if(_appMode == _MBUSRF4_USER_APP_TX_MODE) { mbusrf4_sendCommand( _MBUSRF4_CMD_TX_MSG, 18, &txBuffer[0] ); mikrobus_logWrite ( " --- SEND - TX BUFFER --- ", _LOG_LINE ); _display_rxBuffer( 5 ); mikrobus_logWrite ( " ------------------------ ", _LOG_LINE ); Delay_ms( 1500 ); } }
Additional Functions :
- void _display_rxBuffer(uint8_t nBytes) – logs the received data
- UART Interrupt functions
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- UART
- Conversions
- String
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This Click board™ is supported with mikroSDK – MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.