阿里云物联网平台测试知识点梳理

目录

知识点一:利用nodejs发送数据至阿里云物联网平台

知识点二:ESP8266上传数据至阿里云物联网平台&平台下发

知识点三:利用C#发送数据至阿里云物联网平台&平台下发

知识点四:阿里云物联网平台AMQP服务端订阅NodeJS Demo

知识点五:使用IoT Studio开发可视化大屏&大屏&手机APP


知识点一:利用nodejs发送数据至阿里云物联网平台

Node就是一个js的执行环境,npm是nodejs下的包管理器。新版的nodejs已经集成了npm;

Node.js官方安装包及源码下载地址:

Index of /download/release/

下载 | Node.js

安装后输入“node –version”检查Node.js版本及是否安装成功;

输入“npm -v”来测试是否安装成功;

npm安装的文件目录

C:\Users\sunkaige\node_modules

C:\Users\sunkaige\AppData\Roaming\npm\node_modules

举例

npm install express -g

npm install jade -g

npm install mysql –g

npm install -g express-generator

说明-g的,会安装到“C:\Users\sunkaige\AppData\Roaming\npm\node_modules”中

10分钟接入阿里云IoT物联网平台     阿里官网案例

案例注意事项:手动创建文件夹 aliyun-iot-demo,在该文件夹下编写程序thermometer.js,之后添加引用的SDK。

方法1(推荐):在该文件夹下右键打开命令窗口,输入“npm install aliyun-iot-mqtt -S”,之后自动安装IoT套件,并生成package.json和node_modules文件夹。

方法2手动创建package.json ,文件内容如下,之后输入“npm install”,则自动生成node_modules文件夹。

{

  "name": "aliyun-iot-demo",

  "dependencies": {

    "aliyun-iot-mqtt": "^0.0.4"

  },

  "author": "wongxming",

  "license": "MIT"
}

引用SDK后在命令窗口中运行 node thermometer.js即可将数据传到阿里云物联网平台(阿里云物联网平台设置此处忽略),利用Ctrl+C停止服务,则显示暂停发送。效果如下:

 


知识点二:ESP8266上传数据至阿里云物联网平台&平台下发

ESP8266采用arduino进行开发,首先需要添加阿里云SDK库文件,可直接在arduino库管理器中搜索“AliyunIoTSDK”进行安装,安装后被保存在库管理器中,如“C:\Users\sunkaige\Documents\Arduino\libraries”,也可将下载的库文件夹直接拷到这里。

(说明:软件自带库安装在“C:\Program Files (x86)\Arduino\libraries”中)

注意事项:更改PubSubClient.h文件中定义的 MQTT_MAX_PACKET_SIZE的值, 最好要大于1024, MQTT_KEEPALIVE 大于60,否则连接不上,其余参考示例代码。

在阿里云平台创建产品和设备,进行合适的“功能定义”;

编写arduino程序,注意更改设备三要素名称(ProductKey、DeviceName、DeviceSecret)和与“功能定义”中相同的“标识符”名,上传程序至ESP8266模块中,即可上传数据;

云端下发数据,控制LED灯

在“监控运维”–>“在线调试”页面,选择相应产品、设备和调试功能,输入“1”或“0”,点击发送指令,即可控制ESP8266模块上的LED灯。


知识点三:利用C#发送数据至阿里云物联网平台&平台下发

如何使用C#语言的Paho MQTT类库接入阿里云物联网平台

在VS–>Nuget中安装mqtt包

参考阿里云官网例子程序,再自行更改,此处不做详细说明,看实现效果。

测试“自定义主题测试”,即可将数据传至平台,其中params:{CurrentTemperature:48}是设备上传至平台的数据,大括号内既可以是对应设备下面所有的参数,也可以是单个参数。点击“开启订阅”,即可接收从阿里云“在线调试”中设置的灯状态,相当于远程开关灯。


知识点四:阿里云物联网平台AMQP服务端订阅NodeJS Demo

使用Node.js语言的AMQP SDK接入阿里云物联网平台,接收服务端订阅消息的示例

前面介绍的都是设备如何上传数据到云平台&云平台如何下发指令到设备,这些数据如何应用,阿里云平台也具有丰富的数据应用方式,详见官网介绍

本例为服务端订阅案例,参照阿里云上的案例进行操作即可;

阿里云物联网控制台à公共实例à规则引擎à服务端订阅à消费组列表中创建新消费组,可利用默认的,之后回到订阅列表,创建订阅

创建文件夹,添加npm install rhea –s,创建js程序,复制示例代码,更改参数,在回调函数中添加用于报文显示的代码,部分参数更改参考如下:

//建立连接。

var connection = container.connect({

    //接入域名,请参见AMQP客户端接入说明文档。

    'host': '1402095915306205.iot-amqp.cn-shanghai.aliyuncs.com',

    'port': 5671,

    'transport':'tls',

    'reconnect':true,

    'idle_time_out':60000,

    //userName组装方法,请参见AMQP客户端接入说明文档。其中的iotInstanceId,购买的实例请填写实例ID,公共实例请填空字符串""。

'username':'SKGTEST|authMode=aksign,signMethod=hmacsha1,timestamp=1573489088171,authId=LTAI4G5HZVZFkJMeL6ty1qY4,iotInstanceId= ,consumerGroupId=DEFAULT_GROUP|',

    //计算签名,password组装方法,请参见AMQP客户端接入说明文档。

    'password': hmacSha1('RCylzrkY8vsxo3Wwz08HviA1MeHwVJ', 'authId=LTAI4G5HZVZFkJMeL6ty1qY4&timestamp=1573489088171'),

});

运行js后可看出,返回的是JSON格式。

 

在阿里云物联网平台查看连接的客户端ID信息等数据


知识点五:使用IoT Studio开发可视化大屏&大屏&手机APP

IoT Studio平台是阿里云的物联网开发平台。包含Web可视化开发、移动可视化开发、业务逻辑、数据分析等模块,其业务功能比较强大。本文以nodejs模拟的温湿度仪上传数据为例,简单介绍可视化大屏、大屏和手机可视化页面开发过程,实现底层设备的数据展示。

可视化大屏开发

从“物联网平台”–>“相关产品”–>“IoT Studio”进入开发平台,新建Web应用

之后进入开发界面,类似传统的组态软件,根据需要添加相应的组件,并设置组件的数据源(展示数据 配置展示数据源),如果需要控制底层设备,在交互页面进行配置。

以下为湿度参数配置页面,选择“数字框”组件,数据源绑定到设备的相关参数。

 

配置完成后,运行nodejs并预览大屏,即可看到数据上传至平台,确认无误后即可发布。

大屏开发

此处说的大屏指的是狭义的“黑底大屏”,在阿里云中虽然属于可视化大屏的一个组件,但具有专用的配置页面和丰富的可视化组件,如饼图、柱状图等,利用该平台,方便快速搭建。

本例中,新建Web应用,在可视化大屏平台中,选择“大屏组件”,选择一个空的模板,之后进行“编辑大屏”,根据需要添加相应的组件。以下为湿度参数配置页面,选择“通用标题”组件,设置自动更新时间,配置数据源为设备的相关参数。

 

都配置好后,关闭配置页面,运行nodejs并预览大屏,即可看到数据上传至平台,确认无误后即可发布。

手机可视化应用开发

新建移动应用,进入编辑,出现类似以上的配置页面

以下为湿度参数配置页面,选择“卡片”组件,配置数据源为设备的相关参数。

  

都配置好后,运行nodejs并预览,即可看到数据上传至平台,利用手机扫码即可查看在手机上的运行效果,确认无误后即可发布。


版权声明:本文为zhigedali原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。