As both me and my predecessor have mentioned in the past, the RL78 family is an excellent fit for any IoT applications.  Focusing on one particular aspect of the requirements inherent in IoT is the communications capabilities.  There’s a continued movement to integrate embedded systems into IP based networks such as the internet to utilize already established infrastructure and increase design resiliency.  While a non-negligible number of IoT products are wired, the great majority are wireless.  There are a multitude of options available for wireless transmissions but Zigbee is a relatively common option at this time, particularly for mesh networks.

In concept, a mesh network is created of two entities - full-function devices (FFDs) and reduced-function devices (RFDs).  The FFDs have the capability of not only receiving and sending information but also determining the final destination of the data and forwarding it on if necessary.  FFDs can communicate with other FFDs or RFDs, while the RFDs are more limited in their capabilities and can only communicate with FFDs.  RFDs, in general, are simpler, less expensive and require less energy to operate due to their limited processing requirements.  Effectively utilizing the maximum number of RFDs in a system minimizes the overall resource requirements of the network, though at the expense of reduced flexibility.

The RL78 is flexible enough to be used as the basis of either the FFD or RFD.  Using an RL78/G14 RDK loaded with the Contiki OS and with a Zigbee based PMOD, a mesh network can quickly and easily be setup.  Using Contiki, the RL78/G14 can be setup as a User Datagram Protocol (UDP) server or UDP client.  As a server, the larger code storage available of 256KB of the RL78’s is enough to fit the necessary code to act as an FFD, receiving data and deciding where it should be routed.  As a client, an RL78 with the smaller code storage, such as the 16KB option, can be sufficient for its role as an RFD.

 

The UDP Server in this simple example connects to the large network, the internet, through a Serial Line Internet Protocol.  Though data is routed specifically through the server, both the server and the client have their own unique IP addresses.  Again, this is one simple setup to show the ease of creating a small mesh network, this can be expanded significantly and doing so will expand both its reach and reliability.  Also, while the server and client may seem oversized due to the usage of the RDK, this is just a way to develop the code, when creating the final product, these devices, particularly the smaller RFDs can be very small, portable devices.