Implementing an IoT Network Using Only JavaScript

This article provides briefly explains how embedded software developers can build an Internet of Things (IoT) network using JavaScript on Alibaba Cloud’s IoT platform. This tutorial is ideal for developers with front-end experience, who typically prefer JavaScript over C and Java.

Overview

This example uses 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.

Image for post
Image for post

Development Process

Configuring the Environment

AliOS Things is an IoT-oriented and highly scalable IoT operating system under developed 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:

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 WiFi for the communication method, and select Alink for the data format.

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

Image for post
Image for post

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, 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 and runs this file, and simultaneously uploads it to the Link Develop platform.

Image for post
Image for post

Developing in Web App

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

Image for post
Image for post

For experienced front-end developers, you should try using the Bone.js framework to perform hard core programing functionality. Again, it can be implemented using only JavaScript: https://bone.aliyun.com/bone-web/bonewebsdk.html?name=wpgl7p.

Conclusion

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 programing languages. This also represents the compatibility and originality of the Alibaba Cloud IoT Platform.

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

Reference:https://www.alibabacloud.com/blog/implementing-an-iot-network-using-only-javascript_594140?spm=a2c41.12267726.0.0

Written by

Follow me to keep abreast with the latest technology news, industry insights, and developer trends.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store