Table of Contents
- Overview of hardware
- Demo software
- Building the software
- Running the software
RCM-05-KIT is a convenient development platform to get started with the RCM-05 radio module.
The RCM-05-KIT consists of 3 boards:
- the battery and sensors base board
- the ST NUCLEO-L479RG board with the STM32L4 family microcontroller (application MCU)
- the RCM-05 module board
In addition, the kit may be equipped with an e-paper display board.
The RCM-05-KIT can be powered from the mini-USB connector, available on the middle NUCLEO-L479RG board or from 3 AA batteries, available on the bottom base board. The power supply can be selected (or switched off) using the 3-way switch mounted on the bottom base board.
The bottom base board is equipped with 3 possible voltage converters:
- buck-boost converter
- buck converter
They output 3.3 volts to the middle (NUCLEO) and upper (RCM-05) boards. The voltage conveters are selectable through on-board jumpers.
The bottom board includes two additional sensors, connected to the STM32L479RG microcontroller via the I2C (I2C1) bus:
- the SHT32 temperature and humidity sensors
- the LIS2DH12 accelerometer
This chapter documents the demo software shipped with the RCM-05-KIT.
The software is available for the NUCLEO-L479RG board and PC in the form of a C/C++ source code as well as a pre-build binaries. The software can be built using free GNU build tools. We support Windows and Linux (Debian/Ubuntu).
The details on how to download the software are available on demand.
The job of the demo software is to demonstrate how to develop applications for the RCM-05 module using the RCM Hub API library . The demo software presents a simple application, in which several field devices connect to the gateway and send temperature and humidity values.
Picture below illustrates this application:
Now you have two options. You can run the application code:
- directly on the STM32L479RG MCU on the NUCLEO-L479RG
- on the PC
If you run the code on the MCU, you just build the application code, flash it using ST-Link programming feature on-board of NUCLEO-L479RG and you're done.
If you run the code on PC, you have to allow the PC to talk directly to the RCM module. This can be achieved by programming the STM32L479RG MCU with a special 'transparent' code. This code simply forwards all data from one serial port to another (USART1 <-> USART2).
Picture below illustrates these concepts:
In order to build the software for the NUCLEO-L479RG board you need an arm-none-eabi-gcc toolchain. For the PC software you need a basic GCC compiler. You will also need GNU Make (version 4.1 or higher) and a couple of standard linux utilities.
The easiest way to build the software is to download this package containing the compilers for PC and ARM Cortex platforms and all required utilities:
Unpack the contents of the zip file into a folder of your choice. Please note that the destination folder name shall not contain white characters. It is alse recommended to keep the folder path reasonably short.
To build the software for PC all you need is the build essentials package. You can install it by issuing a command in terminal:
The software package you've downloaded should contain at least these folders:
- components - this contains all the necessary software components (libraries) required to build the demo applications
- examples - contains the RCM API examples for C (rcm) and C++ (rcmpp) illustrating each of the functionalities of the library in isolation
- rcm-05-kit-demo - the demo project demonstrating a simple application, in which several sensors communicate with a gateway
- rcm-05-kit-transparent - the code for the STM32L4 MCU to make it a transparent USART connection (see above)
To configure the project, open the Makefile. On top you will see two definitions:
Setting this to stm32l476rgt6 will build the code for the STM32L479RG MCU
Setting this to x86 will build the code for the PC
Set this to choose the role of the device:
- 0 - gateway
- 1 - field device that can route packets (router)
- 2 - field device that can't route packets but can sleep (end-device)
If you don't want to change these definitions in the file, you can always override them during the build process.
Let's assume that the embeshell build tools are located in c: folder and the contents of the source package were unpacked to c:-05-kit-getting-started folder.
To build the rcm-05-kit-demo project run the system console (cmd.exe) and navigate to the rcm-05-kit-demo folder. Next run the embeshell.bat file located in the tools folder:
This will set up all the necessary paths in a local environment variables (these changes will vanish when you close the console window).
Now all you have to do is give the command to build
This will produce:
- rcm-05-kit-demo.exe if you build for PC/Windows
- rcm-05-kit-demo.elf if you build for PC/Linux
- rcm-05-kit-demo.elf rcm-05-kit-demo.bin rcm-05-kit-demo.hex if you build for STM32L4 MCU
To clean up the build outputs use:
On rare occasions, if your build process fails for unknown reasons, use this to start everything from scratch
To run the previously built software on the STM32L479 MCU you have to flash it using ST-Link. You can do that typing in the console:
To run the demo code on PC, you have to first build the rcm-05-kit-transparent application and flash the STM32L479 MCU it using ST-Link. You can do that typing in the console (in the rcm-05-kit-transparent folder):
After that go to the rcm-05-kit-demo folder and run the produced executable.
Generated on Sun Sep 2 2018 22:24:02 for RCM-05-KIT Getting started by 1.8.7