上篇文章 简单阐述了嵌入式开发者和互联网开发者通过阿里云 IoT 平台产品无缝切入物联网开发的路径,不少开发者表示跃跃欲试。本篇文章提供一个开发实战供互联网开发者参考,没错,全流程只有你熟悉的 Javascript,什么 C&JAVA,通通闪开。
一、Demo概述
本例使用已移植 AliOS Things 的 Developer Kit 开发板作为开发硬件,实现板载温湿度传感器上报 Link Develop 云端,并通过 Web App 展示。
二、开发流程
0. 环境配置
AliOS Things 是阿里云 IoT 下的、面向 IoT 领域的、高可伸缩的物联网操作系统,针对互联网开发者的需求,内置了 JavaScript 引擎 —— BoneEngine,让以往依赖 C/C++ 才可以进行的物联网开发亦可以使用 Javascript 语言完成。同时 BoneEngine 进行了语法的精简,使资源相对紧张的嵌入式设备亦能运行 JS 应用。
使用 BoneEngine 进行设备端开发首先需要进行环境配置,具体步骤:
- 安装 Node.js (版本 >= 6.4.0,涉及前端开发,建议 >= 8.9.0)
- 安装 be-cli 工具,支持串口和网络更新 app.bin:
npm i be-cli -g -P
如果执行上述全局安装之后运行be
还提示找不到命令,则执行下面命令得到 Nodejs 的模块安装路径npm prefix -g
将输出的全局安装路径加入的环境变量的 Path 条目中即可。 - Windows 用户专属:安装 Python 软件、Visual Studio 软件及 AliOS 插件,之后安装 硬件 USB 驱动。
- 安装 Git 并下载 AliOS Things 源码:
git clone git@github.com:alibaba/AliOS-Things.git
环境配置之后我们正式步入开发:
1. 云端开发
首先,申请阿里云账号,并开通登陆 Link Develop 一站式开发平台:https://linkdevelop.aliyun.com
之后,新建项目(项目名任意)—— 设备开发 —— 新增产品 —— 所属分类选择『其他』,通讯方式选择 WiFi ,数据格式选择Alink——完成。
接着在产品详情内选择『新增自定义功能』,添加如下功能设置:
完成后选择『设备开发』标签页 —— 新增调试设备,记录下设备三元组。
2. 设备端开发
使用编译器打开 AliOS Things 源代码目录,打开 AliOS-Things/framework/tinyengine/samples/app/lcd_shtc1_mqtt/device.js
文件,修改『设备三要素』为上步中获取的测试设备『设备三元组』,之后保存。
使用终端编译示例应用:be -p samples/app/lcd_shtc1_mqtt
将开发板连接至电脑并执行:be connnect
最后烧录编译后的 bin 文件至设备:be push app.bin
重启设备,设备启动后会自动加载并运行index.js这个文件,同时上报数据至 Link Develop 平台。
3. Web App 开发
为帮助大家快速上手,这里使用了新版 Link Develop 平台自带的可视化 Web App 搭建功能,只需拖入温湿度计组件并连接数据即可。
各位经验老道的前端开发者也不妨使用 Bone.js 框架进行硬核编程,还是熟悉的 Javascript:https://bone.aliyun.com/bone-web/bonewebsdk.html?name=wpgl7p
配合 AliOS Things 的 TinyEngine 引擎和 Link Develop 的 Bone.js 框架,互联网开发者无需掌握其他编程语言,即可无缝快速切入物联网开发,也彰显了阿里云 IoT 平台的包容性和独创性。各位互联网开发者,赶紧丢掉犹豫,上手试试吧!