淘先锋技术网

首页 1 2 3 4 5 6 7

##注:本教程不涉及硬件方面,所有的硬件发送数据都是模拟的。最终完成的目标是,在阿里云接收到硬件的数据,然后转发到自建服务器,然后存储并大屏展示,其中还包含远程控制硬件设备。(后面可能还有其他需求,还没有想好。)

一、创建物联网平台实例

物联网平台在连接少量设备的时候,是免费的,可以开通一个免费的物联网平台实例。开通成功后,如下图
公共实例

二、创建产品

点击设备管理,点击产品,然后创建产品
在这里插入图片描述
自定义产品名称,选择自定义品类,剩下的没有需要的可以不用更改。

三、添加对应产品的设备

在这里插入图片描述
点击设备,添加设备,然后选择产品,自定义名称,然后确认即可。
在这里插入图片描述
然后可以在上图中,看到一些关键信息,后面需要用到这些信息来进行连接设备。

四、创建物模型

物模型就是我通俗的理解就是从硬件那里接收什么数据。
在产品里面,点击刚刚创建的循环水,然后点击功能定义
在这里插入图片描述
然后点击编辑草稿,点击添加自定义功能
在这里插入图片描述
以创建温度为例,点击确认。
在这里插入图片描述

五、模拟硬件向云平台发送数据

我使用了三种方式进行模拟硬件向物联网平台发送数据。
1.编写js程序,每隔一段时间就向云平台发送数据。
2.使用mqtt.qx程序连接云平台,然后互通数据。
3.云平台的设备模拟器。
1.js程序

//1.引入阿里云IoT的sdk
const 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() {
    //发布数据到topic
    client.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接收到物联网云平台的数据并保存到自己的数据库。