一、设备端接入
0. 功能概要
本实例通过在设备端运行 AliOS Things
系统,并采集加速度传感器数据上报到云端,同时联动 Web App 显示数据图表,帮助开发者深度体验物联网一站式开发。
1. 注册阿里云账号
Link Develop 平台依托阿里云,使用前需要先注册阿里云账号:
打开浏览器书签注册阿里云账号:https://account.aliyun.com/register/register.htm
2. 开通试用 Link Develop 平台
打开浏览器书签 Link Develop 平台网页:https://linkdevelop.aliyun.com/,点击开通服务。
平台即申请即开通,目前免费使用。
3. 新建项目
新建一个项目,名称任意。进入项目,点击资源管理 —— 添加官方服务 —— 勾选物的管理服务 —— 确定 —— 回到项目管理页面。
4. 产品创建
创建一个自定义产品:
- 所属分类:其他类型
- 产品名称:_(自定义名称)_
- 产品型号:_(自定义型号)_
- 节点类型:设备
- 通讯方式:Wi-Fi
- 数据格式:Alink
5. 功能定义
由于平台目前还没有加速度相关的属性值,我们在『自定义功能栏』定义相关功能:
定义一个加速度的属性:
- 标识符:Accelerometer
- 类型:JSON对象(结构体)
- 读写类型:只读
**成员标识定义分别是X、Y、Z,标示各个轴向上的加速度值:
类型:浮点型(双精度)**
定义完成后展示如下:
6. 创建测试设备
产品创建成功后,我们为该产品添加实例(设备)。
7. 生成激活凭证
设备添加成功后,会生成对应的激活凭证,设备连接到云端需要使用,可以理解是设备在云端的唯一标识符。
请勿关闭此页面,之后开发中有需要使用!!
在平台上定义完成后就可以开始设备的开发。
8. 设备本地开发
8.1 查看、修改代码
使用 Visual Studio Code 打开桌面的 AliOS-Things
文件夹,代码将自动导入,这里我们要使用的是 example/ldapp
这一份示例代码,在 example/ldapp/mqtt-example.c
中更新设备激活凭证,将前一章中生成的激活凭证填入到代码中即可,这样我们这个程序就会使用新的凭证信息连接到云端,如:
#define PRODUCT_KEY "a1xxxxxxxxo"
#define DEVICE_NAME "QSxxxxxxxxxxxxxxxxHc"
#define DEVICE_SECRET "O6xxxxxxxxxxxxxxxxxxxxxxxxxxxxEi"
全部完成后,保存修改,cmd+s(Mac)或者 ctrl+s (Windows)。
8.2 编译
选择编译的目标程序,点击程序下方的编译目标按钮(放大镜),依次选择 ldapp —— developkit。
然后点击 √ 按钮开始编译:
出现:
Build complete
Making .gdbinit
表示编译成功。
8.3 烧录
将开发板连接至电脑,点击『插头』按钮连接
连接成功后,点击『闪电』按钮进行烧录
显示:
firmware upload succeed
即表示烧录成功,开发板屏幕将显示加速度折线图。
8.4 配网
烧录成功后,重新点击『插头』按钮连接,选择『重启任务』
这里我们直接通过在串口中输入命令来连接WiFi完成配网:
netmgr connect SSID PASSWORD
例如:
# netmgr connect mywifi mypassword
[330060]<I> Will connect via at cmd: AT+WJAP=mywifi,mypassword
# [330100]<I> AT command AT+WJAP=mywifi,mypassword succeed, rsp:
OK
[337560]<I> AT command AT+WJAPIP? succeed, rsp:
+WJAPIP?:192.168.1.19,255.255.255.0,192.168.1.1,192.168.1.1
OK
[337580]<I> AT command AT+WMAC? succeed, rsp:
+WMAC:c8936840aa40
OK
设备WiFi连接成功后会自动建立MQTT连接,之后定期上报采集到的传感器数据。
尝试摇晃一下设备,可以在终端看到加速度数据发生变动。
恭喜你,到这里你就完成了设备端的开发,现在你可以在 Link Develop 平台看到设备上报的实时数据。
下面我们来进行 Web 应用的开发:
9. Web应用开发
9.1 创建应用
在 Link Develop 平台创建一个 Web 应用,应用类型选择『托管应用』
创建后得到 Appkey 和 AppSecret,作为应用标识。不要关闭页面,之后会用到此数据。
9.2 应用开发
使用 Visual Studio Code 打开桌面的 boneweb-demo-chart
文件夹,找到 index.js
文件,将 productKey
和 deviceName
替换为自己产品和测试设备的凭证。
9.3 本地测试
打开终端或命令指示符,进入 boneweb-demo-chart
文件夹,执行 bone start
,浏览器自动打开 http://localhost:8000,填入 9.1 获取的应用标识,应用运行成功将显示:
9.4 应用打包
应用本地测试成功后,打开终端或命令指示符,进入 boneweb-demo-chart
文件夹,执行 bone pack
。Web App 就被打包成一个压缩包。
9.5 部署发布
回到 Link Develop 平台,从应用版本管理页面中,依次点击『构建部署』——『上传构建包』—— 上传打包好的zip文件 —— 等待构建部署 —— 部署成功后,点击通过 —— 进入生产环境:点击“发布” —— 等待发布构建 —— 发布成功。
恭喜你,给自己鼓鼓掌,到这里你就完成了基于 Link Develop 平台进行物联网一站式开发的全部流程,在线上Web App就可以看到你手中开发的加速度传感器数据的实时变化,有没有一种“世界尽在掌中”的快感?