Implementing an IoT Network Using Only JavaScript

DZone 's Guide to

Implementing an IoT Network Using Only JavaScript

There's a way to implement an entire IoT network just using JavaScript.

· IoT Zone ·
Free Resource

This article provides a brief explanation on how embedded software developers can build an IoT network using JavaScript on Alibaba Cloud's IoT platform. This tutorial is ideal for developers with front-end experience and who typically prefer JavaScript over C and Java. Let's get right into it!


This example uses the Developer Kit (with AliOS Things ported) as the development hardware to implement data uploading from a board-mounted temperature sensor to Link Develop and uses Web App for demonstration.

Development Process

Configuring the Environment

AliOS Things is an IoT-oriented and highly scalable IoT operating system underdeveloped by Alibaba Cloud's IoT team. To meet front-end developers' requirements, AliOS Things integrates BoneEngine, a Java engine that supports JavaScript for IoT development, which was previously only implemented in C and C++. Meanwhile, BoneEngine simplifies the syntax, allowing embedded devices with limited resources to run JavaScript applications as well.

You need to configure the environment before you use BoneEngine to perform device-side development. The configuration steps are shown as follows:

Image title

  1. Install Node.js (version 6.4.0 or later; for front-end development, version 8.9.0 or later is recommended).
  2. Install the be-cli tool to provide support for updating app.bin via serial port or over the network: npm i be-cli -g -P. If you are still prompted that the command cannot be found even when you run beafter the preceding global installation is done, run the npm prefix -g command to get the module installation path of Node.js, and then, simply add the global installation path in the output to the "Path" entry of the environment variable.
  3. (For Windows users only) Install Python, Visual Studio, and the AliOS plug-in. Then, install this Hardware USB driver.
  4. Install Git and download AliOS Things source code: git clone git@github.com:alibaba/AliOS-Things.git.

Now that the environment is configured, we are ready to begin development.

Developing on the Cloud

We will be using Link Develop to set up our IoT network on Alibaba Cloud. Choose Create Project (you may name it as you want) > Device Development > Add Product. Select Other for the product type, select Wi-Fi for the communication method, and select Alink for the data format.

Select Add Custom Features in Product Details and add the following features:

Image title

Choose Device Development > Add Debugging Devices, and take note of the device triplets.

Developing on the Device

Open the source code directory of AliOS Things in a compiler, and then, open the AliOS-Things/framework/tinyengine/samples/app/lcd_shtc1_mqtt/device.js file, and change Three Device Elements to Device Triplets that you obtained before. Save your changes.

Use the terminal to compile the sample application: be -p samples/app/lcd_shtc1_mqtt.

Connect Developer Kit to a computer and run be connnect.

Burn the compiled bin file to the device: be push app.bin

Restart the device. After restarting, the device automatically loads, runs this file, and simultaneously uploads it to the Link Develop platform.

Image title

Developing in Web App

To help you get started quickly, here we use the visual creation feature of Web App integrated into the new version of Link Develop. All we need to do is drag the components of the hygrothermograph and connect to your data.

Image title

For experienced front-end developers, you should try using the Bone.js framework to perform hardcore programming functionality. Again, it can be implemented using only JavaScript.


The mix of AliOS Things TinyEngine and Link Develop Bone.js allows front-end developers to quickly and seamlessly get started with IoT development, without having to learn other programming languages. 

To learn more about Alibaba Cloud IoT Platform, visit www.alibabacloud.com/product/iot

alibaba cloud, internet of things, iot, iot network, javascript, networking, trends, tutorial

Published at DZone with permission of Leona Zhang . See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}