0% found this document useful (0 votes)
42 views

2017 OpenCPU

This document summarizes a study on the OpenCPU platform for Internet of Things (IoT) applications. OpenCPU is an embedded development solution that allows application software to run directly on a GSM/GPRS module rather than requiring an external microcontroller. This reduces costs and complexity compared to conventional frameworks that use separate microcontrollers and GSM modules. The document describes the advantages of OpenCPU platforms, common features they support, and a case study of an OpenCPU-based remote environmental monitoring system implemented using a Quectel M66 GSM module, demonstrating the versatility of OpenCPU.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

2017 OpenCPU

This document summarizes a study on the OpenCPU platform for Internet of Things (IoT) applications. OpenCPU is an embedded development solution that allows application software to run directly on a GSM/GPRS module rather than requiring an external microcontroller. This reduces costs and complexity compared to conventional frameworks that use separate microcontrollers and GSM modules. The document describes the advantages of OpenCPU platforms, common features they support, and a case study of an OpenCPU-based remote environmental monitoring system implemented using a Quectel M66 GSM module, demonstrating the versatility of OpenCPU.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/326078091

OpenCPU platform for IoT applications — A study

Conference Paper · December 2017


DOI: 10.1109/TAPENERGY.2017.8397305

CITATIONS READS

0 3,956

3 authors, including:

Anju Pillai
Amrita Vishwa Vidyapeetham
68 PUBLICATIONS   338 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

1. Energy and Performance Optimization for Embedded Processors using Genetic Algorithms View project

All content following this page was uploaded by Anju Pillai on 22 October 2018.

The user has requested enhancement of the downloaded file.


2017 IEEE International Conference on Technological Advancements in Power and Energy (TAP Energy 2017)

OpenCPU Platform for IoT Applications –


A Study
Manjunath P.K. Sri Janani R., Anju S. Pillai
Department of Electronics and Communication Department of Electrical and Electronics Engineering,
Engineering, Amrita School of Engineering, Coimbatore, Amrita School of Engineering, Coimbatore,
Amrita Vishwa Vidyapeetham, Amrita University, India. Amrita Vishwa Vidyapeetham, Amrita University, India

II. OPENCPU PLATFORM


Abstract— In the past couple of years Internet of Things (IoT)
has become a buzzword, even though IoT is not a completely new
A. Conventional and openCPU frame work – A Comparison
concept, but a latest iteration of an old concept called M2M OpenCPU is an embedded development solution for M2M
(Machine-to-Machine). IoT is in its early stage and is evolving field. The OpenCPU platform enables the developer to
rapidly. A concept which can aid to this evolution is OpenCPU. conveniently design their applications and port the application
This paper aims at defining and distinguishing the concept of software to a Micro Controller Unit (MCU), but with a
openCPU, highlighting the features commonly supported by significant change of GSM/GPRS module acting as a main
openCPU modules. This work includes description about various processor. The central idea is to eliminate the usage of a
application domains where openCPU can be used and also a separate MCU. Figure 1 shows the schematic of a conventional
description about an environment monitoring system M2M frame work where, an external MCU (loaded with the
implemented with the help of openCPU platform to prove the application software) acts an interface between the GSM/GPRS
versatility of openCPU. module and the external device. But in an openCPU frame
work, the external MCU is eliminated and the application
Index Terms— OpenCPU, IoT, M2M, remote monitoring,
wireless networks, communication.
software is ported to the openCPU module as in Figure 2.

I. INTRODUCTION
A car engine is able to perform good enough to achieve
best fuel economy; this is possible because of the microchip
which tells the engine how to perform under various
circumstances. Machines are being used to make our lives
easier and are becoming smarter. They are smart enough to
“talk” with each other, in a language called telemetry. This Figure 1. Conventional frame work. Source [2]
concept of telemetry is taken to a whole new level with the
advent of modern networking technologies. Wireless sensors,
internet and computers have come together to achieve
machine to machine communication [8]. For such systems,
collection of data is carried out using remote sensor units and
transmission of data takes place wirelessly through the internet
to a server such as a personal computer. At the server side, the
data processing followed by the required actions will be
performed. M2M communication proves to be a competent
technology in many sectors like telematics, energy, security, Figure 2. OpenCPU frame work. Source [2]
health, transport and logistics. Irrespective of the sector to
which this technology is applied, the core concept remains the B. Advantages of openCPU platform
same - real time communication between remote machines The primary advantage for such an embedded solution is
and centralized data management. M2M has endless that, it makes hardware design easy and efficient for the
possibilities for innovation and also can deliver services with developer. The main features of openCPU solutions are:
good quality, high speed and at reduced cost. The prominent • Reduction in product development cost
factors driving the M2M market are growing in range of • Reduction in time to market (TTM)
successful applications, regulatory mandates, and penetration • Simplified circuit design
of 3G technologies and advent of 4G technologies. A recent • Reduced product size and power consumption
embedded solution that can revolutionize M2M field is
OpenCPU [1]. C. Supporting features of a typical OpenCPU platform
OpenCPU GSM/GPRS module typically supports:
• ADC and DAC

978-1-5386-4022-7/17/$31.00 ©2017 IEEE


• Analog audio interface III. STATE OF THE ART
• SPIs, UARTs and USB connectivity OpenCPU is an emerging platform for embedded
• I2C bus management applications and it is gaining popularity among academicians
• Serial Display bus as well as among industry personnel. In order to assess and
• RTC and Interrupt inputs understand the reach of openCPU platform, a study has been
• Charging and battery Interface done. A project thesis: ‘Remote measuring and logging -
• PWM / Buzzer interface Evaluation of the Quectel openCPU technology’ aims at
• Keypad interface improving the existing precision agriculture product from
• Multi SIM card interface Sensefarm (based in Lund, Sweden), a company which
• Programmable clock signal output develops embedded solutions for agriculture is studied [4].
• Network & operating status indication The existing product was developed to collect, store and
• GPIOs and External memory interface transmit data on local environmental conditions of a farm.
This solution makes use of a separate Arduino controller at the
• Camera interface
base station where information is acquired and is equipped
• Integrated broadcast FM tuner
with a separate GSM module for data transmission. To make
• Bluetooth Integrated the product more affordable, the functionalities of the GSM
module and the Arduino controller were combined. This
The various peripheral support of openCPU platform can be integration was brought about with the help of M66 GSM
found as in Figure 3. module from Quectel, which supports openCPU and allows
programming of a custom firmware which can take over the
responsibilities of the Arduino controller. The overall aim of
this thesis is to investigate whether M66 GSM module with
the support of openCPU is able to replace the existing
solution, and it was done by evaluating the following criteria:

• Three years battery life without human intervention


• Power off and wake up at set time
• Reception of updates using Firmware Over The Air
• Transmission and reception of data
• Communication with I2C devices
• Positioning data acquisition from GPS device

Of the above six criteria, five criteria were met with the help
of the following features:
• Hardware Interface API
• Socket API along with code implementation for
HTTP and JSON
• Built in support for FOTA
• RTC modules

The criterion of battery life was met partially, but in a


theoretical sense this constraint was achieved. The thesis
concluded on a positive note, stating that openCPU solution
Figure 3. OpenCPU features. Source [3] could be an effective replacement for the current processor-
GSM solution.
OpenCPU software architecture supports the following
components through Application Programming Interface In [5], a GPS based personal tracking system was designed
(APIs): using the openCPU platform. The primary objective of this
• File operations work is to make the device accurate, less in weight and
• Dynamic memory management compact. This is achieved by the usage of openCPU platform,
• GPIO Pins & Bus control thereby eliminating the need for a separate processor.
• ADC / Timer / Local time / System time OpenCPU based approach reduced the product development
• Communication period, simplified the circuit design, decreased the product
• TCP / IP, FOTA update interfaces for application size, decreased the total cost and power consumption.
• Standard C Library
• Multitask Management and Inter-task communication
IV. APPLICATIONS USING OPENCPU PLATFORM C. Remote monitoring and controlling of equipment
A. Automotive On-Board Diagnostics Low cost monitoring system can be used for Potential Free
Contact (PFC) and non-PFC alarm detection and controlling
On-board diagnostics (OBD) refers to a vehicle's self-
of site equipment (such as air conditioner, exhaust fan, battery,
diagnostic and reporting capability [6]. It gives the health
generator etc.) by driving relays through GPIO. Industrial
information for various vehicle subsystems. The OBD-II is a
meters can be connected through RS485 to the alarms to
standard which is implemented in all vehicle models
collect data on regular intervals. Several monitoring devices
developed from 1996. This standard is used to measure the
exist in the market. However, not only are they application-
real-time data of various engine parameters like coolant
specific, but also are expensive. Hence, there is a need for a
temperature, engine rpm, etc. By sending appropriate request
low cost system that can be implemented in large numbers for
messages to the OBD of the car, these parameters can be
various applications for effective monitoring. Additional
measured. The OBD also provide the diagnostic trouble codes
diverse applications which demand the support of remote
(DTCs). They are stored in the engine control module (ECM)
monitoring and control include [7]:
memory and indicate the circuit in which fault has occurred.
• Smart metering: Green energy solutions
When the request message for DTC is sent, the ECU responds
with the available DTCs stored and thus the vehicle health • Vehicle tracking with GPS and without GPS, done
status can be observed. through triangularisation method on the multiple
On-board diagnostics can be sent to backend server using tower co-ordinates
CAN transceiver, CAN controller and Open CPU-GSM • Asset monitoring
Modem. Open CPU GSM Modem operates as a central • Mobile Health (m-Health)
controlling device; it controls the ECU access through serial D. Internet of Things (IoT)
interface with CAN controller and transfers log to back-end
IoT is an emerging technology, an extremely broad field
server. OBD solution using openCPU allows manufacturers to
influencing various sectors viz., infrastructure, logistics, retail,
create quick end products.
transpiration etc [9]. Data collection is done with the help of
these devices and communication takes place autonomously
between other devices. Such useful data can be collected on an
openCPU device through network and can be analyzed. This
data can be used for improving the quality also to study
pattern and predict probabilities of various events. For all of
the above mentioned applications, a server can be used to
• Communicate with thousands of clients
• Track & control the status of clients
• Upgrade firmware, thus reducing OPEX (Operational
Expenditure)
The communication can be facilitated using TCP or UDP or
Figure 4. OBD solution using openCPU HTTP or HTTPS.

B. Temperature/ Humidity Monitoring Station V. AN IOT APPLICATION DEVELOPMENT USING OPENCPU


PLATFORM
Measurement of temperature and humidity play a crucial
role in places where the environment has to be controlled, for A Server User Interface was developed for ‘Environment
example, in places like milk dairies or building management Monitoring System’ implemented using openCPU platform. A
system (BMS). In case of milk diaries, temperature and system of six clients (mix of Quectel & Fibocom openCPU
humidity conditions play an important role in storing and modules) were configured to measure temperature and
pasteurizing milk. OpenCPU GSM modem can be used to humidity of the environment and send the data to server along
extract data from temperature and humidity sensor through with co-ordinates (latitude and longitude) of the place where
channel ADC (10-bit resolution). This data can be transmitted they are stationed. Using these co-ordinates the clients’
to the diagnostics for analysis, using which the temperature position was mapped through Google map. For firmware up-
and humidity can be controlled for best results. gradation, most of these modules have built in features
(normally use TR69 specification), thus eliminating the
In case of BMS, depending on the temperature and humidity software components at server as well as client side.
values read from the sensors, openCPU GSM modem can be
programmed to automatically control air conditioning unit so
as to maintain specific temperature and humidity conditions.
The Figure 5 shows a user interface that can be used for VI. OPENCPU ARCHITECTURAL FEATURES INFLUENCED BY THE
observing the position of various monitoring units, status and APPLICATION DOMAIN
so on. The above mentioned low cost monitoring systems are
versatile hardware that can be used for monitoring and control
in various environments and for various applications. They are • These Open CPU modules support boot time configurable
cost effective and can be deployed in large numbers. option for either Open AT commands or directly use APIs
from the abstraction layer.
• They have RTOS as well; the development environment
provides complete tool chain with RTOS.
• Instead of controller and 2G/3G modules as two separate
components, it exposes the GSM module’s shared memory
and CPU space for a user to accommodate his logic or
solution. This helps battery operated devices for efficient
power usage.
• Possibility of remote debug and software upgrade makes it
cost effective and thereby reducing the OPEX.
• Reduced energy footprint of the variable and battery
operated devices.
VII. CONCLUSION
The concept of openCPU is bestowed with the potential to
improve various M2M and IoT applications by reducing the
cost, the product development cycle and the form factor. Most
of these modules come in the form of MIB (Module In Box)
and are ready to use. Knowing the architectural and peripheral
support of openCPU platform, one can develop IoT and M2M
products and applications with reduced cost and avoiding the
Figure 5. User interface for temperature and humidity monitoring system
using OpenCPU platform
burden of interfacing between MCU and the GSM module.
This can result in a cost effective product development cycle
Remote controlling and configuration is handled through for various industrial applications. The versatility of openCPU
GPRS and SMS. Live interaction with these clients and platform is demonstrated through the IoT application –
configuration update done from Server through GPRS ‘environment monitoring system’ using six clients (openCPU
connectivity. Scaled down configurations and status are modules) and a single server through the server user interface.
exchanged through SMS from a set of registered/authenticated The obtained results are in par with the conventional MCU-
mobile numbers. By this SMS commands, the user can know GSM frame work and outperformed the conventional system
the status of the devices without server assistance. Normal in terms of reduced cost and reduced interfacing complexities.
configurations include like, changing IP address, port number, This guarantees that when openCPU technology is deployed at
threshold level changing for alarms. The clients used to a larger scale for big and complex data streaming and IoT
interact with server on two modes: 1. Periodic mode and 2. applications, will maximize the profit and minimize the
Event based mode. In the periodic mode, the clients used to product development time. Thus, it can be foreseen that the
send the GPRS data to server on a configured intervals time. concept of openCPU will revolutionize the fields of M2M and
In case of event based mode, the GPRS data sent on IoT.
occurrence of an event (like status change or alarm or critical
events). Firmware upgradation gets triggered through SMS REFERENCES
message indicating the server IP & port number to be used for [1] Fibocom. (2013, Nov.13). OpenCPU programme application note
new software and then GPRS connection will be established. [Online]. Available: https://www.fibocom.com
In case of network fail, the client stores the data locally and [2] Quectel. (2013, Sep. 22). M85 openCPU solution presentation [Online].
will be delivered to server in a chunk once the network is up. Available: https://www.quectel.com
Each messgae will carry message creation time stamp and [3] RDA Microelectronics. RDA8851C Datasheet V1.02. Available:
message ID. https://www.rdamicro.com
[4] S. Nilsson,“ Remote measuring and logging – Evaluation of the Quectel
OpenCPU technology,” Dissertation, MID Sweden University, Sweden,
2015.
[5] S. Janwadkar, D. Bhavar and M. T. Kolte, "Design and implementation
of a GPS based personal tracking system," 2016 IEEE 1st International
Conference on Power Electronics, Intelligent Control and Energy
Systems (ICPEICES), Delhi, 2016, pp. 1-5.
[6] Quectel. (2014, Oct). M66 openCPU solution presentation [Online]. [9] S. Sathyadevan, Kalarickal, B. S., and Jinesh, M. K., “Security Trust and
Available: https://www.quectel.com Implementation Limitations of Prominent IoT Platforms”, in
[7] OpenCPU. (2015, May 6). An API for Embedded Scientific Computing Proceedings of the 3rd International Conference on Frontiers of
[Online]. Available: https://opencpu.org Intelligent Computing: Theory and Applications (FICTA) 2014: Volume
2, Advances in Intelligent Systems and Computing, Cham, 2015, vol. 2,
[8] K. N. Prakash and Surjith, B., “Wireless sensor network based remote
pp. 85–95.
monitoring system in smart grids”, International Journal of Control
Theory and Applications, vol. 9, pp. 6639-6646, 2016.

View publication stats

You might also like