Paasmer_platform_sdk

Build Your IoT Solution using PAASMER SDK

ManagementTeamMouli1

Srinidhi Murthy

An IOT device is a hardware that connects with various sensors in the enterprises or industries, collects data, preprocess, send them to cloud hosted IOT platform or an IOT application for further analysis and interpretation to present them for decision making or feed them for process efficiency and production improvement. The IOT devices should be developed with the support for IOT communication standards to communicate with different kinds of sensors in the industry and IOT devices should be communicating with each other.

An industry who wants to implement the IOT solution in their company may need to develop different kinds of IOT devices to collect data from various sensors from various locations. It is a time consuming for any IOT solution provider or IOT device developers to develop a new IOT device/solution quickly with support for various kinds of connectivity standards from the scratch.

Once the devices are developed and deployed, the IOT solution should provide a management console to view their devices, the sensors connected to devices and the data collected from them in an easily understandable format. The user who has the authority to manage the IOT devices to view the data and control the devices should be provided with easy to use user interfaces in web UI or smartphone Apps to control the devices. Developing such a management console from the scratch is time-consuming.

An IOT development platform with software development kits to provide APIs to develop IOT devices using commonly used open source IOT hardware can enable IOT solution developers, IOT device developers, and IOT consultants to quickly develop and implement IOT solutions with different kinds of IOT devices.

The IOT platform can also provide a management console to manage all the IOT devices, sensors and their data presented in a user editable formats with control options. The platform can be hosted in in-premises and(or) in the cloud and can connect with the various IOT applications analytical and management applications. This can enable developers to develop value-added IOT solutions quickly.

The software development kits provided in IOT development platform can also provide APIs to quickly develop security layer of IOT solution like TOR and Blockchain.

PAASMER SDK
It enables you to do Design, Connect and Analyze your data using PAASMER’s IOT platform.

Design:
PAASMER’s SDK allows you to connect any sensors to existing IOT boards in the market like Raspberry Pi, Node MCU, and many other IOT boards. The PAASMER platform is hardware agnostic. The trial build will provide support for connecting sensors to RPi and Node MCU and supports languages like C and Python.

Connect:
PAASMER SDK enables easy connectivity of your IOT devices to PAASMER cloud. The SDK allows communication of all the IOT devices with the PAASMER cloud. It works with all the popular platforms and supports multiple communication protocols. The trial version will support the Wi-Fi method of communication using MQTT protocol and RESTFUL APIs. The SDK allows managing all the devices connected to the PAASMER platform.

Analyze:
The PAASMER Developer Login enables the users to Analyze the data that is being sent from the devices and draw a meaningful conclusion out of it. There is also an option for Manual control of sensors based on inputs received.

Paasmer_sdk_platform

Overview of PAASMER IOT platform

SDK:
The PAASMER SDK for Embedded C, Python and ESP Open RTOS is a collection of source files that enables you to connect to the PAASMER IOT Platform. It includes the transport client for MQTT with TLS support. It is distributed in source form and intended to be built into customer firmware along with application code, other libraries, and RTOS.

Features:
The SDK’s simplifies access to the Pub/Sub functionality of the PAASMER IOT broker via MQTT. The SDK has been tested to work on the Raspberry Pi 3 running Raspbian Jessie and NodeMCU / Adafruit Huzzah. Support for Other SBC’s running any flavors of Linux would be available shortly. The SBC-SDK provides functionality to create and maintain a mutually authenticated TLS connection over which it runs MQTT. This connection is used for any further publish operations and allow for subscribing to MQTT topics which will call a configurable callback function when these topics are received. More information is available about the SDK’s at https://github.com/PAASMERIOT/

Developer Login:
The PAASMER Developer Login provides the ability for the User to register, Login, View devices, sensor data and the ability to send control messages to the Edge hardware.

Features:
The PAASMER developer Login is available at http://developers.paasmer.co. Here the user can register for the free trial and upon verification of the credentials is allowed to Login.

After login, the user is directed to the various available SDK’s that he can download and edit the same to enable his devices to be connected to the PAASMER IOT platform.

Once the SDK’s are downloaded onto the devices and his credentials entered and the program is running, the device is connected the PAASMER IOT platform and starts sending sensor information.

This sensor information is available on the PAASMER Developer Login for viewing and base on the sensor information the User can take actions using the control feeds to control actuators.

iot2

Naturalizing IOT through standardization

ManagementTeamMouli1

Kavitha Gopalan

Internet of Things is one of fast growing technology in the recent years. It’s expected that the growth of connected things will be around 50 billion by 2020. Every industry vertical has signed itself into embracing IOT either to create cutting edge products or for optimizing the resource and improve efficiency. As IOT growth explodes there are few challenges that are becoming key road blocks for a wider adoption of IOT. The two of the challenges that stands out are the security and Standardization.

Like any new growing technology, standardization is important for IOT. Standardization will allow devices to interoperable in IOT and allow seamless integration between various verticals. Several attempts have been made to standardize IOT, new alliances and consortiums have been formed but there is yet no single winner though many have shown promises for becoming one.

Why is standardizing IOT difficult?

The main reason for the complexity of IOT standardization is the fragmented nature of its adoption base. IOT is a global phenomenon and it has expanded its roots to all sectors of life- Factories, Healthcare, transportation, utilities, home. The standards and protocol used for one vertical may not scale well for the other. For example, a smart home device may be managed with the wireless protocol such as Zigbee or WiFi. But when IOT is used for an M2M application Zigbee or WiFi may not be the right approach we need to look at cellular communication protocols.

Similarly, each layer of the IOT architecture could vary depending on which industry its used for. The way an industrial application handles data may be different from the way the home device handles it. So arriving at the common standard which is agreeable to all has been difficult.

Differences in IOT spring from each layer of the architecture. Each vendor/manufacturer use the approach which easily adaptable to their industry segment.

Where are we now?

Z-wave and Zigbee were the top standards used by several smart home manufacturers in the beginning. But they could not establish themselves as the defacto standard for IOT. Then we had many more communication protocols that emerged as the one that could serve the needs of IOT, there are around 12+ protocols now available for IOT, Bluetooth, Zigbee, Zwave, EnOcean, NFC, WiFI, LPWAN, NB-IOT, weightless, LoRA, LTE, Cellular being some of them.

The differences are just not in the communication layer.Different standards are available for data transport in IOT – MQTT, CoAP, REST, SOAP, Websocket.

Many consortium and alliance have been formed to standardize IOT. Some of the as listed below

  • The Open Interconnect Consortium has come out with their IOTvity standards
  • AllSeen Alliance has their ALLJoyn standard.
  • THread group has the thread standard.
  • ZigBee Alliance has their Zigbee standard.
  • Z Wave alliance.
  • Industrial Internet Consortium.

The goal of these consortiums is to find a common ground /standard that every vendor manufacturer can follow while implementing IOT. But unfortunately they haven’t been able to agree on the terms But currently, no one has emerged as the leader in setting the standards. Disagreement in standards, licensing has been the reason for no clear winner. Which standard will emerge as a leader will be based on which is easily adaptable by manufacturers.

Right now every vendor puts together the pieces that works best for their application without much thought on the standards. But if IOT has to mature a common standard must emerge which would allow Interoperability of various devices and can scale to different industry verticals seamlessly. Whether this is possible or not depends on how much collaboration happens between this different consortium.

raspberry-pi_connect to Paasmer IoT Platform copy-min

How to Connect Raspberry Pi 3 to the PAASMER IoT Platform

ManagementTeamMouli1

Srinidhi Murthy

In this blog series we look at how to connect a Raspberry PI 3 to the PAASMER IoT Platform.

The PAASMER IoT Platform makes it simple for Internet of Things companies to build and launch IoT-enabled hardware. PAASMER currently provides an SDK which can be installed on the hardware.

Modifying a few lines of code to provide the correct credentials and sensor information, it is ready to be connected to the PAASMER IoT Platform. The sensor data is then available on the PAASMER Developer Login, which can be utilized and actions taken by using the control fields to control various other sensors connected to the Hardware.

A pre-requisite for using the SBC-SDK is available of the Raspberry Pi 3 hardware running Raspbian Jessie OS. More hardware and software support would be added shortly.

An account created in http://developers.paasmer.co allows for a 30 day trial period to explore the PAASMER IoT platform. After creating and activating the account, the SDK for the appropriate hardware can be downloaded.

Given below are the detailed steps to be followed after downloading the SBC-SDK.

PAASMER IoT SDK for Single Board Computers Running Linux

Overview

The PAASMER SDK for Single Board Computers (SBC) like Raspberry-PI, Intel Edison, Beagle Bone is a collection of source files that enables you to connect to the PAASMER IoT Platform. It includes the transport client for MQTT with TLS support. It is distributed in source form and intended to be built into customer firmware along with application code, other libraries, and RTOS.

Features

The SBC-SDK simplifies access to the Pub/Sub functionality of the PAASMER IoT broker via MQTT. The SDK has been tested to work on the Raspberry Pi 3 running Raspbian Jessie. Support for Other SBC’s running any flavors of Linux would be available shortly.

MQTT Connection

The SBC-SDK provides functionality to create and maintain a mutually authenticated TLS connection over which it runs MQTT. This connection is used for any further publish operations and allow for subscribing to MQTT topics which will call a configurable callback function when these topics are received.

Pre-Requisites

Registration on the portal http://developers.paasmer.co is necessary to connect the devices to the PAASMER IoT Platform.The SDK has been tested on the Raspberry PI 3 with Raspbian Jessie (https://downloads.raspberrypi.org/raspbian_latest)

Installation

  • Download the SDK or clone it using the command below.
    • $ git clone github.com/PaasmerIoT/SBC-SDK.git
    • $ cd SBC-SDK
  • To connect the device to Paasmer IoT Platform, the following steps need to be performed.
    • $ cd external_libs/mbedTLS/
    • $ make
    • $ cd ../../
    • $ sudo ./install.sh
  • Upon successful completion of the above command, the following commands need to be executed.
    • $ sudo su
    • $ source ~/.bashrc
    • $ PAASMER
    • $ sed -i ‘s/alias PAASMER/#alias PAASMER/g’ ~/.bashrc
    • $ exit
  • Go to the directory below.
    • $ cd samples/linux/subscribe_publish_sample/
  • Edit the config.h file to include the username(Email), device name, feed names and GPIO pin details.
    #define UserName "Email Address" //your user name used in developer.paasmer.co for registration
    #define DeviceName "" //your device name
    #define feedname1 "feed1" //feed name used for display in the developer.paasmer.co
    #define sensorpin1 gpio-pin-no-for-sensor-1 //modify with the pin number which you connected the sensor, eg 6 or 7 or 22
    #define feedname2 "feed2" //feed name used for display in the developer.paasmer.co
    #define sensorpin2 gpio-pin-no-for-sensor-2 //modify with the pin number which you connected the sensor, eg 6 or 7 or 22
    #define feedname3 "feed3" //feed name used for display in the developer.paasmer.co
    #define sensorpin3 gpio-pin-no-for-sensor-3 //modify with the pin number which you connected the sensor, eg 6 or 7 or 22
    #define feedname4 "feed4" //feed name used for display in the developer.paasmer.co
    #define sensorpin4 gpio-pin-no-for-sensor-4 //modify with the pin number which you connected the sensor, eg 6 or 7 or 22
    #define controlfeedname1 "controlfeed1" //feed name used for display in the developer.paasmer.co
    #define controlpin1 3 //modify with the pin number which you connected the control device (eg.: motor)
    #define controlfeedname2 "controlfeed2" //feed name used for display in the developer.paasmer.co
    #define controlpin2 4 //modify with the pin number which you connected the control device (eg.: fan)
    #define timePeriod 15000 //change the time delay as you required for sending sensor values to paasmer cloud
  • Compile the code and generate the output file.
    • $ sudo make
  • Run the code using the command below.
    • $ sudo ./subscribe_publish_sample
  • The device would now be connected to the Paasmer IoT Platform and publishing sensor values are specified intervals.

Support

The support forum is hosted on the GitHub, issues can be identified by users and the Team from Paasmer would be taking up requests and resolving them. You could also send a mail to support@paasmer.co with the issue details for a quick resolution.