Understanding the growth of new technologies and keeping in mind of giving an added value to its existing product eStorm-L1, Embien launched an Android app named “DAQ Suite”. With experience in developing Android app for many segments such as IoT, healthcare, automotive etc we have developed “DAQ Suite” for enhancing user experience in multiple industrial applications such as remote control, remote data acquisition/logging, etc.

This blog is the sequel of the blog “eStorm-L1 as GSM based remote switch” demonstrating the relay control and sensor monitor via an Android app. The following video shows the remote monitoring and control application typically applicable in industrial domain and many other verticals. The demo is setup using the GSM based remote switch and android application controlling the device through SMS command.

For the demo purpose we have connected two LED’s and two switches for demonstrating the relay control and sensor monitor functionality respectively. In the real time application, the LED could actually be a relay with suitable external DC supply for coil excitation and switch could be a sensor/transducer output preferably a digital high/low signal or even a pulse type output. The device stores all the configuration settings corresponding to the user, IO, etc in the EEPROM and hence preserved even on power cycling. Also the device has an option to erase the memory on site and start the user settings from the initial factory default.

The DAQ Suite android app includes the following menu options

  1. Device type selection setting – To select the type of the device need to be monitored or controlled. Available device will be listed in the Device model list box.
  2. User settings – To set the user details such as name, phone number, password, device description, and phone number to be taken for call actions etc.
  3. Relay settings – To set the on duration, ON/OFF delay etc. For multiple relays, the name of the device attached to the relay can be set.
  4. Update settings – To set the update interval for how much time interval the user need to receive the SMS about the current status of the relay and digital input. Many options can be chosen from the list view such as on change, periodic, both and none.
  5. Call actions settings – To set the action to be done on the relay upon calling the device. Either the relay can be switched ON/OFF.

The main screen of the DAQ suite includes the status of the SMS command being sent and time information of the last received/sent SMS. The control switch to toggle the relay and the status LED of the digital inputs is also included in the main screen.

Upon every operation, a SMS will be sent to the device with the predefined command set and the respective status of the digital inputs and relay will be displayed on the main screen based on the acknowledge SMS from the device.

About Embien: Primary focus of Embien technologies lies in the Industrial Automation segment. We have a rich experience in working on industrial automation and control systems with customers across geographies to enable their factories and assembly lines run efficiently. Our team have developed protocol stacks for various industrial protocols and enabled them in customer devices. We have created various Human Machine Interfaces (HMI) systems to make easier the interface with the machine. Our Machine to Machine (M2M) service offering includes developing system capable of remote monitoring and controlling of machines, PLC’s, etc.

In our earlier blog, we discussed about the suitability of OMA’s LWM2M protocol for IoT applications, including how the Light Weight M2M protocol defines the Object model, basic communication methodologies and the opportunities and challenges it presents.

While in M2M context, LWM2M devices can community with machines locally using CoAP, in IoT context, it can be used for communication with a gateway or aggregator from where it can be taken to the cloud platform using with the CoAP or customized REST/HTTP packets

It is expected to see large deployments of LWM2M protocol for usage in IoT/M2M applications and hence brought several solutions based on the same. In this article, we will discuss some of these offerings as well as other solutions available for integrating the protocol on different technologies.

LWM2M on Android/Java

Without doubt, Android is going to play a major role in industrial scenarios with growing usage in the HMI segments. Standardized APIs, Rich UI, improving performance, powerful processors and growing RAM storage, ease of use and more importantly familiarity of users are some of the key factors for this trend.

Another important reason of gaining acceptance amount the developers is the need for support in Eclipse IDE. It must be possible to create servers and clients in Eclipse based development environment before/during deployment in the device. Eclipse foundation has launched a dedicated initiative to facilitate IoT developments under iot.eclipse.org.

Requirements in Android/Eclipse necessitates the need for a Java based protocol stack. This is available in form of the WAKAAMA project.

The project uses the Californium server as the underlying CoAP implementation.

This server internally uses the Californium stack. It supports LWM2M clients connect to it over CoAP/UDP over WiFi (or Ethernet if available in the Android device). It supports configuration of server port number, start/stop options along with features like observe notifications etc. Currently only basic communication is supported. Security and Bootstrapping will be supported in upcoming releases.

A customized Bluetooth transport is also available for use with low power devices.

LWM2M Stack for embedded

The reference for the LWM2M protocol is provided in form of a library named LIBLWM2M. This should form a basis for developing your own LWM2M client and server implementation.

Another option is the availability of the open source LWM2M client stack from Embien. Since majority of the device is going to be only clients, this should serve purpose for those cases. Again a minimal stack without many advanced features, it is optimized for resource constrained embedded applications. The stack can be run with or without using an OS/RTOS.

The code is available at LWM2M Client Github repository in a BSD license.

The implementation supports two transports

  • CoAP/UDP – for communicating with LWM2M servers
  • REST/TCP – for communicating with SkyCase server

The transports can be chosen in the configuration file and used easily in a minimal time. LWM2M Objects are also supported with callback functions enabling quick integration of custom logic with the main stack

Cloud based Solutions

For an IoT scenario, soon there will be a need for a cloud platform to manage these connected devices. As of now, only solution available for LWM2M model is SkyCase – IoT application platform. This platform currently supports REST interface for communication and uses LWM2M object model internally.

SkyCase provides the JAVA API library to develop cloud applications with LWM2M/IPSO standard objects.

Soon it can be expected to support CoAP transport directly enabling direct LWM2M communication.

This blog should have given an idea of LWM2M related developments with a consolidated list of LWM2M stacks for IoT/M2M devices available. We hope there will be more implementations of the stack available in the near future as adaptation of the technology increases.

About Embien Technologies: Embien Technologies is a leading provider of embedded design services for the Semi-conductor, Industrial, Consumer and Health Care segments. With track record of working with cutting edge technologies, Embien is an adopter of OMA LWM2M standard in its designs as well as in its flagship SkyCase IoT application platform. Feel free to contact us or email us for any queries regarding LWM2M stack or SkyCase or any other requirements on IoT/embedded developments.