简介: IoT企业物联网平台开发实战
企业从联网平台开发实战

文章插图
通过阅读本文你将学会一下技能:
- 设备通过MQTT协议与您在阿里云上购买的IoT企业实例建立双向连接,上报设备采集的数据,监听云端下达的指令;
- 通过规则引擎配置把上报的数据实时存储到指定数据库,无需编写代码
- 通过规则引擎配置把上报的数据实时流转到业务服务器,需要使用AMQP协议SDK
- 业务服务器调用IoT平台的API,下达控制指令到设备端

文章插图
然后,在购买页面,根据实际业务需求,选择地域、实例类型、设备数量、消息上下行TPS、规则引擎TPS等参数,点击立即购买,付费成功后,即可看到企业实例创建中 。

文章插图
稍等几分钟后,企业实例创建完成 。进入企业实例,我们可以看到当前规格参数,设备接入点信息,AMQP订阅接入点信息,云端API调用接入点信息 。如下图:

文章插图
创建产品和注册设备在企业实例的设备管理页面,我们需要先创建一个产品家庭温控器,数据通信以JSON格式,认证方式为设备秘钥 。

文章插图
在产品的功能定义页面,我们添加温度和湿度两个属性,具体细节如下图:

文章插图
最后,我们在设备管理页面,基于家庭温控器产品,注册一个物理设备,并获取设备身份认证的三元组 。如下图:

文章插图
设备接入和上报数据获取设备身份三元组后,即可通过MQTT协议接入到我们开通的企业实例 。设备端应用程序逻辑如下图:

文章插图
完整的Nodejs示例代码如下:
const mqtt = require('aliyun-iot-mqtt');// 1. 设备身份信息var options = {productKey: "产品productKey",deviceName: "设备deviceName",deviceSecret: "设备deviceSecret",host: "实例化MQTT接入点"};// 2. 建立MQTT连接const client = mqtt.getAliyunIotMqttClient(options);client.subscribe(`/${options.productKey}/${options.deviceName}/user/get`)client.on('message', function(topic, message) {console.log("topic " + topic)console.log("message " + message)})setInterval(function() {// 3.上报温湿度数据client.publish(`/sys/${options.productKey}/${options.deviceName}/thing/event/property/post`, getPostData(), { qos: 0 });}, 5 * 1000);function getPostData() {const payloadJson = {id: Date.now(),version: "1.0",params: {temperature: Math.floor((Math.random() * 20) + 10),humidity: Math.floor((Math.random() * 20) + 10)},method: "thing.event.property.post"}console.log("payloadJson " + JSON.stringify(payloadJson))return JSON.stringify(payloadJson);}启动模拟脚本后,我们看到设备状态为在线,从模型数据中可以看到最新上报的温度和湿度值 。
文章插图
在监控运维的日志服务里,也可以看到设备上报数据的日志 。如下图:

文章插图
数据存储到数据库首先,我们创建一个表格存储实例 IoTDataStore,建立一张数据表iot_data,以deviceName和timestamp为主键 。如下图:

文章插图
在IoT企业实例,云产品流转中创建规则引擎,编写数据处理SQL,配置流转目的地为上面创建的数据库表 。

文章插图
【IoT企业物联网平台,从设备端到云端业务系统全链路开发实战】
数据处理SQL编辑界面:

文章插图
数据流转到表格存储编辑界面:
推荐阅读
- 物流发展的制约因素都有哪些
- 现代物流管理特点和现状
- 新西兰鸮鹦鹉 新西兰濒危动物鸮鹦鹉
- 浅析现代物流发展方向
- 酒店搞活动送什么合适 圣诞节酒店送客人什么礼物好
- 男人有药物性耳聋会遗传吗?
- 冰淇淋是高热量食物吗 冰淇淋是冰的怎么会有热量呢
- 如何挑选玉米面
- 如何挑选海鲜菇
- 如何挑选龙虾
