DesignSpark Electrical Logolinkedin

Creator IoT Framework meets Node.js

Creator IoT Framework and Node.js

Great news for node.js Creator Ci40 IoT fans out there, there is now a Creator-js-client live on the Javascript package manager NPM, an online resource for node.js modules. The Creator-js-client interfaces the Node.js world to the Creator IoT Framework. This allows data to flow all the way from IoT edge devices to your web application and back, traversing IoT hubs and connecting IoT sensor data to the cloud on the way. All of this in a free open source secure LWM2M + IPSO object framework that delivers scalability, accelerated time to market and interoperability across silicon vendors and device manufacturers.  

Using creator-js-client you can accelerate the development of your server side web applications for IoT projects and services utilizing the power of Node.js. Use the open-source library and Creator IoT Framework to rapidly connect your web application to IoT devices.

Node.js is an open-source, cross-platform JavaScript runtime environment for developing a wide variety of tools and applications. Being a lightweight and efficient non-blocking I/O event-driven architecture it’s perfect for data-intensive real-time applications that run across distributed devices, which makes it ideal for developing the web or server side of many IoT applications.

We’ve put together an example of how to create an application using node.js and the Creator IoT Framework using the Creator Ci40 and a simple Temperature Logging example on Github.

The Creator-js-client wraps up the calls to access the Creator Device Server RESTful API into a simple library of functions that any developer familiar with javascript can use in node.js.

We’ve put an example application together (we call it project Kiwano) that demonstrates the use of the Creator node.js client

  • Kiwano uses the user’s credentials to establish a link to the Creator device server Deverloper REST API
  • The list of provisioned devices is parsed to find the temperature sensor for this project
  • A subscription to a device’s temperature data is established
  • A function is linked the webhook event sent by the device server to the node.js webapp,
  • The Kiwano app then unwraps the payload of the webhook so that the data can be processed, stored or acted upon
  • Finally commands are returned to the sensor, if applicable.

The client implements

  • Setting up the API with the developer’s device server API key
    • (The library creates a link to the device server using a simple config file),
  • Retrieving the list of clients,
  • Ability to parse clients based on a client name, etc

All of the activities around subscribing, configuring notifications (eg set max timeout values, set delta values that need to be exceeded before the notification will be sent) are possible through the client as well as writing values to the objects to update the device.

Paul Evans joined Imagination Technologies in January 2012 and is now a Director of Business Development. Prior to joining Imagination, Paul worked for Altera Corporation for 11 years in marketing. He holds a BEng in digital electronic engineering from the University of Kent at Canterbury in England.