Docs

You are here:
RCM Hub C API Library

What is the RCM Hub library?

It is a software, that runs on a host CPU (could be an MCU, embedded linux, Windows PC etc..) and allows to easily develop applications for the RCM radio module connected to the host via simple UART/Serial connection. The library is distributed in the form of a C99-compatible source code, that supports or can be rapidly adapted to a wide range of hardware/OS platforms - mainly thanks to our HALFRED Hardware Abstraction Layer. We're basically giving you a software to run on your system, that uses the RCM radio module.

What can I do with it?

You can easily develop an application for any distributed sensor device (we call this a field device) that sends measured values to a central device (we call it a gateway). The picture below presents a typical case where multiple field devices are distributed over a certain terrain.

rcmhub_topology.png

In this topology there is a single central point called the gateway. The gateway is responsible for starting the network and gathering data from all the field devices.

The field devices have two possible roles: they can either be routers or end-devices.

A router is a device that can route packets, thus allowing to form a multi-hop mesh network. However, it needs to be powered all the time in order to listen to incoming traffic.

An end-device cannot route packets, thus it always is the 'leaf' of the network. It can however preserve energy by entering deep sleep modes which allows it to be powered from a battery.

Using the RCM Hub library you can develop an application for a gateway, a router or an end-device.

How do I use the RCM Hub library?

You build your application, just as you would normally do, and call the RCM Hub library functions to handle the RCM module connected to your host. The RCM modules in your devices communicate with each other forming a wireless mesh network. This networking allows you to send and receive messages.

What are the requirements?

You need a HALFRED-compatible hardware and OS platform. This includes all Windows and Linux devices as well as many embedded microcontrollers from vendors like ST, Microchip, Silicon Labs along with embedded RTOSes like FreeRTOS.

For details on currently supported hardware/OS platforms please contact us (EMBETECH) directly.

Note, that it is also possible for us to port our software stack to your custom hardware platform.

Is this the only way to work with the RCM modules?

No, but it is the recommended one. There are basically two levels of API you can use with RCM modules See picture below for the overview of the provided software stack.

rcmhub_api.png

The RCM Hub is the top-level API. Use this API if you develop a system, in which field devices periodically or on-demand send some data to a single central gateway. If your application doesn't fit this paradigm, is more complex, requires you to develop communication between the end devices or the data you send does not fit into simple RCM Hub messages then you may need to go a level deeper and use the more powerful RCM C API Library.

So what precisely does the RCM Hub API deliver?

The RCM Hub delivers two APIs: for field devices and for gateways. See picture below.

rcmhub_stack.png

As you can see, the RCM Hub APIs sit on top of the RCM C API Library.

OK, so how do I start?

If you build a field device - start by exploring the RCM Hub API for field devices

If you develop a gateway use the RCM Hub API for gateway

Go to Top