一、 实训目的
1、在平台上实现发送命令使开关灯
2、运用postman写入设备控制开关灯
3、会使用 HTTP 推送
4、了解如何处理 HTTP 推送
二、实训步骤
第一段实验(在平台上发送命令)
步骤1 修改工程文件里面的代码
向SDK添加外围硬件驱动,本项目Demo中已经做好LED和光照传感器驱动程序。在HAL文件夹中,包含了开发板所有外围硬件设备的驱动程序。
在读回调函数read_callback里增加光照和LED资源,当从平台接收到光照值和LED状态的读取命令时,响应命令,上报数据。
下行命令的处理︰在写入回调函数write_callback里增加LED控制:
步骤二 平台输入命令
平台信息展示
发送写入数据true
发送数据false
平台发送记录
第二段实验(通过即使命令-写入设备实现LED灯)
步骤1为post man添加参数
添加参数
步骤二
添加代码
步骤三
写入命令----开灯
呈现效果
写入命令----关灯
呈现效果
第三段实验 (http数据推送自动开关LED灯)
在 OneNET Studio 平台上接入 NB 设备后,完成从 Studio 向第三方应用(本应用)的数据推送,
从而在应用程序中获取 NB 设备的所有数据。同时,在应用程序中监控光照传感器的值,达到预设的最
大阈值后,调用 LwM2M IPSO API,自动关闭 LED 灯;达到预设的最小阈值后,调用 API 自动打开 LED
灯,从而实现节能的目的。
本项目基础代码由中移官方数据推送 SDK 克隆而来,使用命令 git clone -b OneNET5.0
https://github.com/cm-heclouds/data-push,然后再简单地封装了一下 Studio 访问 LwM2M IPSO
的 API。
步骤 1 安装依赖
1) 安装配置 JDK
setx /m JAVA_HOME "C:\Program Files\Java\jdk1.8.0_101"
setx /m CLASSPATH ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;"
setx /m PATH "%PATH%;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;"
关闭当前 cmd 窗口,重新打开一个新的 cmd 窗口,然后输入 java -version 命令,如果能够看到
类似如下的输出,则表示 JDK1.8 安装完成。
2) 安装配置 Maven
setx /m MAVEN_HOME "F:\ProgramEnv\apache-maven-3.3.9"
新开一个 cmd 窗口,运行 mvn -version 命令,如果能够看到如下输出,则表示 Maven 安装成功:
3) 安装配置 IntelliJ IDEA
步骤 2 运行程序
打开 JAVA\src\main\java\com\onenet\datapush\receiver\ReceiverDemo.java 文件,点击绿色
三角,则可以运行本程序
1) 修改参数
api.authorization: 使用 OneNET Studio 提供的 Token 工具生成。需要注意的是,生成该鉴
权信息的参数中包括 et,它代表访问过期时间,尽可能设置大一点,否则可能需要不断地修改该
鉴权信息。
➢ light.imei: NB-IoT 设备的 IMEI 号。
➢ http-push.token: 第三方应用 Token,HTTP 数据推送页面中配置的 Token 需要与之一致。
➢ http-push.aesKey: 第三方应用 AesKey,HTTP 数据推送页面中配置的 AesKey 需要与之一
致。本实验中这里设置为空,于此同时,下一个步骤中,数据推送配置页面上的“消息加密方式”
应该对应选择“明文模式”。
步骤 3 OneNET Studio HTTP 数据推送配置
实例名称:自己取一个合理的名称。
➢ 推送地址:http://www.xxx.net/receive,注意 URL 后面必须包含 /receive,它是在本应用程
序中实现的,用于接收处理 Studio 的验证和数据。
➢ Token:自己输入一个合理的字符串。该字符串需要与配置文件中的 http-push.token 保持一致。
➢ 消息加密方式:选择“明文模式”,本应用程序不进行消息加密。
配置完成以后,需要手动点击数据推送的“验证”按钮,只有验证成功了,Studio 才会向其推送数
据
步骤 4 OneNET Studio 规则引擎配置
在 Studio 上点击“应用开发->项目管理”,新建一个项目,取一个合理的名称,比如“智能灯控项
目”:
点击上图“进入项目管理”按钮,就可以进入项目管理页面。在“设备管理→设备列表”中,点击“添
加设备”按钮,将前面创建的 NB-IoT 设备加入到该项目中
接下来,点击左侧的“规则引擎”按钮,创建一个规则引擎。勾选所有的消息源,指定前面创建的 NB-IoT
产品,然后关联前面创建的 HTTP 数据推送。
步骤 5 根据光照度的阈值自动开关 LED 灯
三、实验总结
通过本次实验,更加熟悉了onenet平台的操作,并且也对postman的相关操作也更加的清楚,多方面的扩展了自己的知识面,在不断的失败中,通过查询资料和向老师求解,明白了更多的解决方法,也让我自己印象更加的深刻。0.