电信物联网平台:
IoT物联网技术推荐搜索
中国电信
物联网
IoT
中国电信物联网平台,帮助者搭建安全性能强大的数据通道,方便终端(如传感器、执行器、嵌入式设备或智能家电等等)和云端的双向通信。
一、产品定义和设备注册
登陆控制台后,我们现在产品中心创建产品。
产品创建后,我们可以在产品详情看到如下信息,其中设备为0台。
我们点击服务定义,属性列表,添加温度属性,并设置标识符和数据类型。
同理,添加湿度属性,设置完成如下。
我们点击服务列表,添加数据上报类型的服务,并定义服务标识和参数列表。
创建完成后,我们服务定义如下。
接下来,我们查看Topic列表,能看到用于数据上报的Topic主题。
最后,我们点击设备管理,添加一个新设备,注册成功后,设备状态为已注册。
二、设备端程序开发
温湿度计硬件设备以MQTT协议接入电信物联网平台,通过阅读开发文档,我们知道以下信息:
电信物联网平台支持MQTT3.1.1
接入地址为,端口为1883,TLS单向认证的接入端口为8883
MQTT的CONNECT报文的clientid字段填入设备ID、username字段必填(任意字符即可)、password字段填入设备特征串
Node.js完整设备端代码如下:
constmqtt=require('mqtt');//设备身份三元组+区域constdeviceConfig={deviceId:"设备ID",deviceSecret:"设备特征码"};//1.设备CONNECT参数constoptions={username:deviceConfig.deviceId+Date.now(),clientId:deviceConfig.deviceId,password:deviceConfig.deviceSecret,protocolVersion:4,//MQTTv3.1.1}//2.建立连接consturl='tcp://:1883';constclient=mqtt.connect(url,options);//3.属性数据上报constpubTopic='up_data';setInterval(function(){//发布数据到topicclient.publish(pubTopic,getPostData());},5*1000);functiongetPostData(){constpayloadJson={temperature:Math.floor((Math.random()*20)+10),humidity:Math.floor((Math.random()*20)+60)}console.log("===postData\ntopic="+pubTopic)console.log(payloadJson)returnJSON.stringify(payloadJson);}
三、设备端运行
我们启动模拟脚本,设备接入电信物联网平台。此时,我们查看设备管理,当前设备变为已激活,并且处于在线状态。
我们点击数据查看,输入设备ID,可以看到属性上报的数据内容,其中前两条包含两个属性,后两条仅有一个温度属性上报。
四、设备行为日志
当设备运行出现异常时,我们可以进入消息跟踪,来定位问题。下面截图,展示了数据上报异常信息。