开发者社区 问答 正文

10分钟虚拟设备接入阿里云IoT平台实战



1. 准备工作



1.1 注册阿里云账号


使用个人淘宝账号或手机号,开通阿里云账号,并通过 实名认证(可以用支付宝认证)

1.2 免费开通IoT物联网套件


产品官网 https://www.aliyun.com/product/iot



1.3 软件环境


Nodejs安装 https://nodejs.org/en/download/
编辑器 sublimeText/nodepad++/vscode

2. 开发步骤



2.1 云端开发



1) 创建高级版产品





2) 功能定义,产品物模型添加属性




物模型对应属性上报topic
/sys/替换为productKey/替换为deviceName/thing/event/property/post物模型对应的属性上报payload {
    id: 123452452,
    params: {
        temperature: 26.2,
        humidity: 60.4
    },
    method: "thing.event.property.post"
}



3) 注册设备,获得身份三元组





2.2 设备端开发


我们以nodejs程序来模拟设备,建立连接,上报数据。

1) 应用程序目录结构





2) package.json添加阿里云IoT套件sdk依赖


{
  "name": "aliyun-iot",
  "dependencies": {
    "aliyun-iot-mqtt": "^0.0.4"
  },
  "author": "wongxming",
  "license": "MIT"
}
下载安装SDK
$npm install


3) 模拟设备thermometer.js代码


/**
"dependencies": { "aliyun-iot-mqtt": "^0.0.4" }
*/
const mqtt = require('aliyun-iot-mqtt');
//设备属性
const options = {
    productKey: "替换自己productKey",
    deviceName: "替换自己deviceName",
    deviceSecret: "替换自己deviceSecret",
    regionId: "cn-shanghai"
};
//建立连接
const client = mqtt.getAliyunIotMqttClient(options);

//属性上报的Topic
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),
            humidity: Math.floor((Math.random() * 40) + 60)
        },
        method: "thing.event.property.post"
    }

    console.log("===postData topic=" + topic)
    console.log(payloadJson)

    return JSON.stringify(payloadJson);
}



3. 启动运行



3.1 设备启动


$node thermometer.js


3.2 云端查看设备运行状态











展开
收起
游客886 2018-06-26 16:52:03 21619 分享 版权
阿里云 AI 助理回答

要实现设备与阿里云物联网平台的接入和数据上报,您可以遵循以下结构化步骤操作:

1. 准备工作

1.1 注册阿里云账号

  • 使用个人淘宝账号或手机号注册阿里云账号,并完成实名认证,可利用支付宝进行快速认证。

1.2 免费开通IoT物联网套件

  • 访问阿里云物联网套件产品官网免费开通服务。

1.3 软件环境配置

  • 安装Node.js环境,推荐从nodejs.org下载。
  • 选择一个代码编辑器,如Sublime Text、Notepad++或VSCode,用于编写代码。

2. 云端开发

2.1 创建高级版产品

  • 在阿里云物联网平台控制台创建一个高级版产品,以满足更复杂的功能需求。

2.2 功能定义

  • 在所创建产品的“物模型”中添加属性,定义设备需要上报的数据格式。例如,添加温度和湿度属性。

2.3 注册设备

  • 在产品下注册实际或模拟设备,获取设备身份三元组(ProductKey、DeviceName、DeviceSecret)。

3. 设备端开发

3.1 应用程序目录与依赖

  • 创建项目目录,初始化package.json文件,并添加阿里云IoT SDK依赖:
{
  "name": "aliyun-iot",
  "dependencies": {
    "aliyun-iot-mqtt": "^0.0.4"
  },
  "author": "your_name",
  "license": "MIT"
}

通过运行npm install安装SDK。

3.2 模拟设备代码

  • 编写设备模拟代码(如thermometer.js),使用SDK建立MQTT连接,周期性上报随机生成的温度和湿度数据到指定Topic。

4. 启动运行

4.1 设备启动

  • 运行模拟设备脚本:node thermometer.js,开始数据上报流程。

4.2 云端查看设备状态

  • 登录阿里云物联网平台控制台,监控设备在线状态及上报的数据,确保一切运行正常。

通过上述步骤,您将能够成功地在阿里云物联网平台上实现设备的接入、数据上报,并能实时监控设备运行状态。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答