阿里云物联网IOT平台使用案例教程(模拟智能设备)

简介: 阿里云物联网IOT平台使用案例教程(模拟智能设备)
我将介绍如何通过MQTT、阿里IOT SDK完成设备与云平台对接

前言

最近尝试了一下阿里云IoT物联网平台,还是蛮强大的。在此记录一下学习过程。

本教程不需要任何外围硬件,一台电脑和一根能上网的网线即可。算是一篇Hello World了。先上效果图

第一章 准备工作

1.1 注册阿里云账号

首先打开阿里云的官网并注册新用户,网址为:

https://www.aliyun.com 【阿里云官网】

https://www.aliyun.com/product/iot 【阿里云物联网平台】

如果有不熟悉阿里云物联网平台怎么用的朋友,可以查阅官网教程文档 阿里云物联网帮助文档

1.2 注册完成后自动跳转到实名认证界面,可以通过支付宝授权快速完成认证。

1.3 开通物联网平台

在左边菜单选择《产品与服务》中的物联网平台,并激活开通此功能。

开通成功后,即可进入管理控制台

1.4 软件环境搭建

下载并安装编辑器VS Code(全称Visual Studio Code)

https://code.visualstudio.com/

1.5 下载并安装Nodejs

https://nodejs.org/en/download/

第二章 IoT云端开发

2.1 打开阿里云控制台

https://iot.console.aliyun.com

2.2 创建高级版产品

在产品管理界面点击 创建产品,并选择高级版

2.3 新增产品属性

在产品详情的功能定义中点击 新增,创建属性

新增 温度。此图是我更新,注意截图中的标识符是小写的temperature(原文是大写,与代码不一致)

新增 湿度

注意:标识符非常重要,是JSON里传递的属性!而且要区分大小写!

属性界面一览

2.4 创建设备

首先点击设备管理,并在下拉菜单中选择Demo产品

点击 添加设备,并命名Unit01

创建完成后获得该设备的重要数据——三元组

可以继续添加其他设备

云端的任务告一段落。

点击Unit01进入设备详情,可以看到运行状态中并无数据。

第三章 设备端开发

本教程用nodejs程序来模拟设备,建立连接,上报数据。无实际硬件。

3.1 在电脑桌面创建设备端项目

创建项目文件夹 aliyun-iot-demo,本Demo共需要2个文件和一个库

创建文件package.json,代码如下

{
 
  "name": "aliyun-iot-demo",
 
  "dependencies": {
 
    "aliyun-iot-mqtt": "^0.0.4"
 
  },
 
  "author": "wongxming",
 
  "license": "MIT"
 
}
注:代码中author是原作者
 

3.2 下载阿里云物联网套件硬件端SDK
在VS Code中打开CMD界面
 

用CD指令找到项目所在路径
 

用NPM指令下载阿里IoT的MQTT库,笔者的下载进度卡住过,重试很多次才成功。
文末有下载好的压缩包,复制到项目路径下即可。
npm install aliyun-iot-mqtt -S

注意:我在VS Code中和电脑CMD中都试过这段代码,一直报npm json错误。后来我去原文地址重新下载了源代码,并上传到了CSDN(CSDN设置积分为5分),资源名是“10分钟物联网设备接入阿里云IoT平台(源代码)

3.3 创建Nodejs程序文件thermometer.js

//1.引入阿里云IoT的sdk
const mqtt = require('aliyun-iot-mqtt');
 
//2.设备属性
const options = {
    productKey: "产品productKey,这里是a1wgoXxYRbs", 
    deviceName: "设备deviceName,这里是Unit01",
    deviceSecret: "设备的secret,AEU2vP略",
    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),
            Humidity: Math.floor((Math.random() * 20) + 60)
        },
        method: "thing.event.property.post"
    }
 
    console.log("===postData topic=" + topic)
    console.log(payloadJson)
 
    return JSON.stringify(payloadJson);
 
}
复制代码

3.4 运行程序

在CMD窗口输入指令,运行代码,启动设备终端

node thermometer.js

程序会定期上传随机的温度和湿度数据

第四章 最终效果

回到控制台,在运行状态页面,激活 实时刷新,就可以看到温度和湿度值了

回到设备管理界面,可以看到当前只有Unit01设备在线

本例框图

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
4月前
|
消息中间件 DataWorks 物联网
MQTT问题之接入阿里云物联网平台如何解决
MQTT接入是指将设备或应用通过MQTT协议接入到消息服务器,以实现数据的发布和订阅;本合集着眼于MQTT接入的流程、配置指导以及常见接入问题的解决方法,帮助用户实现稳定可靠的消息交换。
352 1
|
1月前
|
存储 传感器 监控
理解并利用物联网(IoT)数据的技术探索
【8月更文挑战第11天】物联网数据是数字化转型的重要资源。通过深入理解物联网数据的特性和价值,并采取有效的收集、处理和分析策略,我们可以更好地利用这些数据为企业决策提供支持、优化运营效率、创造新的商业模式并推动数字化转型的深入发展。
|
2月前
|
存储 运维 监控
阿里云物联网平台的优势
【7月更文挑战第19天】阿里云物联网平台的优势
53 1
|
4月前
|
Cloud Native 安全 物联网
【阿里云云原生专栏】云边端一体化:阿里云如何利用云原生技术赋能物联网
【5月更文挑战第22天】阿里云借助云原生技术赋能物联网,实现云边端一体化,提升系统弹性与敏捷性。通过容器化部署,保证高可用性与可靠性。在智能交通等领域,阿里云提供高效解决方案,实现实时数据分析与决策。代码示例展示如何使用阿里云服务处理物联网数据。同时,阿里云重视数据安全,采用加密和访问控制保障数据隐私。丰富的工具和服务支持开发者构建物联网应用,推动技术广泛应用与发展。
265 1
|
4月前
|
消息中间件 存储 JavaScript
阿里云IOC物联网异步处理基础概念
该内容介绍了异步处理基础和消息队列的相关概念。首先,同步处理指任务完成后才能执行其他操作,而异步则允许任务并行执行,不阻塞程序。异步能提高系统并发性和响应性,但也增加复杂性和资源消耗。接着,提到了消息队列,包括生产者、消费者、队列、broker和topic等概念,并指出在IoT中,设备作为生产者发送消息到特定topic,消费者从队列获取数据。最后,简要介绍了AMQP协议,它是用于应用程序间消息传递的开放标准,常用于分布式系统和物联网,如RabbitMQ和Apache Qpid。课程将以Apache Qpid为例接收IoT数据。
194 6
阿里云IOC物联网异步处理基础概念
|
3月前
|
机器学习/深度学习 传感器 算法
物联网(IoT)数据与机器学习的结合
【6月更文挑战第6天】物联网和机器学习加速融合,驱动数据收集与智能分析。通过机器学习算法处理 IoT 数据,实现智能家居、工业生产的智能化。示例代码展示如何用线性回归预测温度。结合带来的优势包括实时监测、预警、资源优化,但也面临数据质量、隐私安全、算法选择等挑战。未来需强化技术创新,应对挑战,推动社会智能化发展。
119 0
|
4月前
|
消息中间件 弹性计算 物联网
【阿里云弹性计算】阿里云ECS在IoT领域的应用:支撑大规模设备连接与数据处理
【5月更文挑战第26天】阿里云ECS是弹性计算服务,支持IoT设备的连接与数据处理。通过MQTT协议实现设备快速接入,配合消息队列处理异构实时数据。ECS可用于部署数据处理工具、应用服务,如智能家居控制系统,通过弹性伸缩适应负载变化。结合阿里云其他服务,ECS为IoT提供完整解决方案,助力企业数字化转型。
64 0
|
4月前
|
存储 安全 物联网
安防摄像头IPC如何快速接入阿里云Link Visual视频服务(阿里云生活物联网)
Link Visual是生活物联网平台针对视频产品推出的增值服务,提供视频数据上云、存储、转发、AI计算等能力。 大白话就是:通过阿里云的Link Visual视频服务,可以让你的IPC摄像头设备完成上云功能,并快速实现如下功能介绍中的功能。其中可以享受阿里云P2P协议支持,帮助企业节省流量服务器流量带宽。
580 7
|
4月前
|
消息中间件 网络协议 物联网
MQTT协议问题之阿里云物联网服务器断开如何解决
MQTT协议是一个轻量级的消息传输协议,设计用于物联网(IoT)环境中设备间的通信;本合集将详细阐述MQTT协议的基本原理、特性以及各种实际应用场景,供用户学习和参考。
449 1
|
3天前
|
运维 供应链 物联网
未来已来:区块链、物联网和虚拟现实技术的融合与创新
在科技日新月异的今天,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正引领着一场前所未有的技术革命。本文将深入探讨这些技术的独特发展趋势和它们在未来社会中的潜在应用场景,揭示它们如何相互交织,共同塑造我们的工作和生活方式。通过分析具体案例,我们将看到这些技术如何超越传统界限,开启全新的创新之路。

相关产品

  • 物联网平台