##注:本教程不涉及硬件方面,所有的硬件发送数据都是模拟的。最终完成的目标是,在阿里云接收到硬件的数据,然后转发到自建服务器,然后存储并大屏展示,其中还包含远程控制硬件设备。(后面可能还有其他需求,还没有想好。)
一、创建物联网平台实例
物联网平台在连接少量设备的时候,是免费的,可以开通一个免费的物联网平台实例。开通成功后,如下图
二、创建产品
点击设备管理,点击产品,然后创建产品
自定义产品名称,选择自定义品类,剩下的没有需要的可以不用更改。
三、添加对应产品的设备
点击设备,添加设备,然后选择产品,自定义名称,然后确认即可。
然后可以在上图中,看到一些关键信息,后面需要用到这些信息来进行连接设备。
四、创建物模型
物模型就是我通俗的理解就是从硬件那里接收什么数据。
在产品里面,点击刚刚创建的循环水,然后点击功能定义
然后点击编辑草稿,点击添加自定义功能
以创建温度为例,点击确认。
五、模拟硬件向云平台发送数据
我使用了三种方式进行模拟硬件向物联网平台发送数据。
1.编写js程序,每隔一段时间就向云平台发送数据。
2.使用mqtt.qx程序连接云平台,然后互通数据。
3.云平台的设备模拟器。
1.js程序
//1.引入阿里云IoT的sdkconst mqtt = require('aliyun-iot-mqtt');//2.设备属性const options = {productKey: "", deviceName: "",deviceSecret: "",regionId: "cn-shanghai"};//完整属性如下所示,需要根据您产品和设备的属性来修改//const options = {// productKey: "a1wgoXxYRbs", // deviceName: "Unit01",// deviceSecret: "AEU2vP",// regionId: "cn-shanghai"};//3.建立连接const client = mqtt.getAliyunIotMqttClient(options);//4.属性数据上报const topic = `/sys/${options.productKey}/${options.deviceName}/thing/event/property/post`;setInterval(function() {//发布数据到topicclient.publish(topic, getPostData());}, 5 * 1000);function getPostData(){const payloadJson = {id: Date.now(),params: {Temperature: Math.floor((Math.random() * 20) + 10)},method: "thing.event.property.post"}console.log("===postData topic=" + topic)console.log(payloadJson)return JSON.stringify(payloadJson);}
填上一些设备信息就可以向平台发送数据了。
2.第二个方法可以去阿里云产品文档里去找一下下载地址。和使用方法。
3.点击监控运维,设备模拟器
选择产品和设备,选择启动设备模拟器,填上数据,就可以发送指令了。
下次分享,使用java sdk接收到物联网云平台的数据并保存到自己的数据库。