EnOcean 4 click features TCM515U module, low-powered wireless module which is intended for use together with EnOcean's range of energy harvesting modules. This module is also optimized for application requiring smallest possible size and integrated security handling such as line-powered actuators or controllers.
How does it work?
The EnOcean 4 click uses TCM515U module from the company EnOcean, which operates on 902MHz ASK EnOcean Radio Protocol. It's fully integrated radio capability enables communications with other devices by using on board PCB antenna, so no additional antennas are needed for testing this device.
The TCM515U can work in three functional modes: Telegram Reception, Telegram Transmission, Low Power Sleep.
- In receive mode, TCM515U processes received radio telegrams and verifies correct frame structure and check sum.
- In transmit mode, TCM515U receives radio telegrams for transmission from the external host via its ESP3 interface.
- TCM 515U can be set into a low power sleep mode for a defined period of time , after expiry of the requested sleep period, TCM515U will automatically wake-up and transition back to receive mode.
Each TMC515U module contains it own EnOcean Unique Radio ID (EURID) which can be used during transmission for data authentication. Beside this feature, its also possible setting for each module Base ID or Broadcast ID depending from the application that you are designing.
Another important feature is SLF (Security Level Format) which specifies the parameters of the encryption, authentication and rolling code algorithms used for communication with a specific device, which eanbles TCM515U to encrypt and decrypt telegrams using AES128 based on a 16 byte security key.
The TCM 515U provides a transparent radio link between EnOcean radio devices and an external host connected via UART interface using the standardized EnOcean Serial Protocol V3 (ESP3) communication protocol. The default interface speed for this module of the ESP3 (UART) interface is 57600. Additionally, it is possible to change the default ESP3 interface speed at power up from 57600 Bit per second to 460800 Bit per second by setting the TURBO pin to LOW.
EnOcean Serial Protocol 3.0 (ESP3)
EnOcean technology is based on the energetically efficient exploitation of slight mechanical motion and other potentials from the environment, such as indoor light and temperature differences, using the principles of energy harvesting. EnOcean-based products (such as sensors and light switches) perform without batteries and are engineered to operate maintenance-free. The radio signals from these sensors and switches can be transmitted wirelessly over a distance of up to 300 meters in the open and up to 30 meters inside buildings.
The ESP3 is a Point-to-Point protocol with a packet data structure. The maximum size of transferred data is 65535 bytes, with the packet being only 14 bytes long and are transmitted at 125 kbit/s. Compared with ESP2.0, that has the maximum of 25 bytes, it's a considerable improvement.
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. It is ready to be used as soon as it is inserted into a mikroBUS™ socket of the development system.
For detailed information, please refer to the ESP3 specification.
Specifications
Type |
Sub-1 GHz Transceievers |
Applications |
Perfectly suited for the realization of transceiver gateways, actuators and controllers for systems communicating based on the EnOcean radio standard. |
On-board modules |
TCM515U module from the company EnOcean, which operates on 902MHz ASK EnOcean Radio Protocol. |
Radio Region |
America |
Key Features |
Low power consumption, small size, higher processor performance, integrated security processing |
Interface |
UART |
Click board size |
L (57.15 x 25.4 mm) |
Input Voltage |
3.3V |
Pinout diagram
This table shows how the pinout on EnOcean 4 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes |
Pin |
|
Pin |
Notes |
---|
|
NC |
1 |
AN |
PWM |
16 |
NC |
|
Reset |
RST |
2 |
RST |
INT |
15 |
NC |
|
|
NC |
3 |
CS |
RX |
14 |
TX |
UART RX |
|
NC |
4 |
SCK |
TX |
13 |
RX |
UART TX |
|
NC |
5 |
MISO |
SCL |
12 |
NC |
|
|
NC |
6 |
MOSI |
SDA |
11 |
NC |
|
Power Supply |
3.3V |
7 |
3.3V |
5V |
10 |
NC |
|
Ground |
GND |
8 |
GND |
GND |
9 |
GND |
Ground |
Onboard settings and indicators
Label |
Name |
Default |
Description |
---|
LD1 |
PWR |
- |
Power LED Indicator |
JP1 |
TURBO |
Left |
Left position TURBO mode disabled; Right position TURBO mode enabled |
EnOcean 4 click electrical specifications
Description |
Min |
Typ |
Max |
Unit |
---|
Operation freq band |
- |
902.875 |
- |
MHz |
Data Rate |
- |
125 |
- |
kbps |
UART Baud rate |
57600 |
- |
460800 |
kHz |
Supply Voltage |
2 |
3.3 |
3.6 |
V |
Software Support
We provide a library for the EnOcean 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
This library allows user to perform an ESP3 (EnOcean Serial Protocol 3) communication. User can send packet data, which can consist of the commands, telegrams, messages... The library also can be used to check the response from the modul. When the response is ready, the library sets a flag. For more details check documentation.
Key functions:
T_ENOCEAN4_RETVAL enocean4_procces( void )
- This function performs a response proccesing and calls handler function if response is valid.
T_ENOCEAN4_RETVAL enocean4_responseReady( void )
- This function checks the response ready flag and if flag is set, clears a flag.
T_ENOCEAN4_RETVAL enocean4_sendPacket( T_enocean4_packet *packet )
- This function allows user to send a valid packet data to the module by using UART interface.
Examples description
The application is composed of three sections :
- System Initialization - Initializes peripherals and pins.
- Application Initialization - Initializes UART interface and interrupt, and prepares module for telegram sending and receiving. Also determines the working mode of the module, to be transmitter or receiver.
- Application Task - (code snippet) Transmitter case: Sends message 1 and 2 to another module selected by Destination ID in the message structure. After each sent message waits to get answer (response) from another module. Receiver case: Waits to get message from another module and after that sends the determined answer on the received message. The all responses, messages and answers will be sent to the uart terminal.
void applicationTask()
{
if (device_mode == RECEIVER)
{
mikrobus_logWrite( "Telegram receiving...", _LOG_LINE );
checkResponse();
mikrobus_logWrite( "***********************************", _LOG_LINE );
Delay_ms( 5000 );
mikrobus_logWrite( "Telegram sending...", _LOG_LINE );
sendTelegram( &_answer1[0], _ENOCEAN4_RORG_ADT );
checkResponse();
mikrobus_logWrite( "***********************************", _LOG_LINE );
mikrobus_logWrite( "Telegram receiving...", _LOG_LINE );
checkResponse();
mikrobus_logWrite( "***********************************", _LOG_LINE );
Delay_ms( 5000 );
mikrobus_logWrite( "Telegram sending...", _LOG_LINE );
sendTelegram( &_answer2[0], _ENOCEAN4_RORG_ADT );
checkResponse();
mikrobus_logWrite( "***********************************", _LOG_LINE );
}
else if (device_mode == TRANSMITTER)
{
mikrobus_logWrite( "Telegram sending...", _LOG_LINE );
sendTelegram( &_message1[0], _ENOCEAN4_RORG_ADT );
checkResponse();
mikrobus_logWrite( "***********************************", _LOG_LINE );
mikrobus_logWrite( "Telegram receiving...", _LOG_LINE );
checkResponse();
mikrobus_logWrite( "***********************************", _LOG_LINE );
Delay_ms( 5000 );
mikrobus_logWrite( "Telegram sending...", _LOG_LINE );
sendTelegram( &_message2[0], _ENOCEAN4_RORG_ADT );
checkResponse();
mikrobus_logWrite( "***********************************", _LOG_LINE );
mikrobus_logWrite( "Telegram receiving...", _LOG_LINE );
checkResponse();
mikrobus_logWrite( "***********************************", _LOG_LINE );
Delay_ms( 5000 );
}
}
Additional Functions :
- respMessage - Sends message about the response state.
- packetType - Sends message about the packet type.
- makeResponse - Allows user to get a response packet from the driver.
- logResponse - Allows results to be sent to the uart terminal.
- sendTelegram - Allows user to send a telegram to the determined destination.
- checkResponse - Waits until response was ready.
- interrupt - To catch response from the module.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
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.