10分钟物联网设备接入阿里云IoT平台
前言
最近尝试了一下阿里云IoT物联网平台,还是蛮强大的。在此记录一下学习过程。
本教程不需要任何外围硬件,一台电脑和一根能上网的网线即可。算是一篇Hello World了。先上效果图
第一章 准备工作
1.1 注册阿里云账号
首先打开阿里云的官网并注册新用户,网址为:
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 新增产品属性
在产品详情的功能定义中点击 新增,创建属性
新增 温度
新增 湿度
注意:标识符非常重要,是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
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"};
//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设备在线
本例框图
原文地址:https://www.geek-workshop.com/thread-37883-1-1.html
10分钟物联网设备接入阿里云IoT平台的更多相关文章
- 阿里云 IOT 对接设备开发 C# 开发设备对接阿里云 IOT平台
一,创建阿里云 IOT 产品.设备 目前阿里云每月赠送 100 万条流量,可以免费使用基础版.高级版,开通后即可免费使用. 阿里云 IOT 平台地址 https://iot.console.aliyu ...
- 【小程序案例】支付宝小程序-MQTT模器,IoT设备通过WSS接入阿里云IoT物联网平台
支付宝小程序-MQTT模拟器通过WSS接入阿里云IoT物联网平台 小程序效果: 1. 准备工作 1.1 注册阿里云账号 开通阿里云账号,并通过支付宝实名认证 https://www.aliyun.co ...
- 阿里云IoT初试
本文从概念到实战,以一个假想产品--"电子货架标签"(Electronic Shelf Label,以下简称ESL)为例,介绍基于阿里云IoT的物联网应用开发. 数据交互流程 以云 ...
- 未来-区块链-Aliyun:阿里云IoT - 所知不止于感知
ylbtech-未来-区块链-Aliyun:阿里云IoT - 所知不止于感知 1.返回顶部 1. 基础产品接入 设备接入 设备管理 数据分析 应用开发 网络管理 边缘计算 设备认证 安全运营 AliO ...
- 【阿里云IoT+YF3300】7.物联网设备表达式运算
很多时候从设备采集的数据并不能直接使用,还需要进行处理一下.如果采用脚本处理,有点太复杂了,而采用表达式运算,则很方便地解决了此类问题. 一. 设备连接 运行环境搭建:Win7系统请下载相关的设备驱 ...
- 【阿里云IoT+YF3300】6.物联网设备报警配置
纵然5G时代已经在时代的浪潮中展现出了它的身影,但是就目前的物联网环境中,网络问题仍旧是一个比较突出的硬伤.众所周知,在当前的物联网规划中,与其说是实现万物互联,倒不如说是行业指标数据监控.对于一些特 ...
- 【阿里云IoT+YF3300】8.物联网设备用户脚本开发
除了我们必须熟悉的网页脚本,比如JavaScript.其实在工业自动化中,组态软件是必备脚本的,只是有的脚本语言风格类似C或类似Basic而已.比如昆仑通泰的组态屏中的组态软件.通过安装组态软件可以简 ...
- 【阿里云IoT+YF3300】11.物联网多设备快速通信级联
我们见到的很多物联网设备,大都是“一跳”上网,所谓的“一跳”就是设备直接上网,内嵌物联网模块或者通过DTU直接上网.其实稍微复杂的物联网现场,往往网关下面连接若干物联网设备(如下图),并且这些物联网设 ...
- 【阿里云IoT+YF3300】10.快速开发188协议设备驱动
188协议的全称为CJ-T188-2004 <户用计量仪表数据传输技术条件>,是针对水表.燃气表.热量表和其他集中采集的一个国家行业标准协议. YFIOs就是YFSoft I/O Serv ...
随机推荐
- 一起来踩踩 Spring 中这个循环依赖的坑
1. 前言 2. 典型场景 3. 什么是依赖 4. 什么是依赖调解 5. 为什么要依赖注入 6. Spring的依赖注入模型 7. 非典型问题 参考资料 1. 前言 这两天工作遇到了一个挺有意思的Sp ...
- 【dog与lxy】8.25题解-necklace
necklace 题目描述 可怜的dog最终还是难逃厄运,被迫于lxy签下城下之约.这时候lxy开始刁难dog. Lxy首先向dog炫耀起了自己的财富,他拿出了一段很长的项链.这个项链由n个珠子按顺序 ...
- TypeScript 在开发应用中的实践总结
背景 以前 hybrid app 的移动端开发模式下,H5 和客户端通信的 js sdk 代码使用 js 编写,sdk 方法的说明使用文档输出.对于开发的使用来说,在 IDE 中不能得到友好的参数类型 ...
- linux下 大日志文件查看与搜索---less
场景 有一个几十m的大日志文件,里边的记录是按时间排序的. 现在需要找到其中,不知道在什么位置的一条错误消息.这时候,想把内容拷出来都费劲,就算拷出来了,一般的编辑器也难以hold住这么大的文件.这时 ...
- excel判断数据是否存在另一列中
1.if(EXACT(A2,B2)=TRUE,"相同","不同"),A2,B2相同(字母区分大小写)则函数值true正确,反馈相同,反之返回不同.注:单元格值受 ...
- IPVS的ICMP报文处理-由内到外
这里主要明与NAT/Masq转发模式相关的ICMP报文处理,但也会提及由于出错引发的IPVS系统主动发送的ICMP报文. 1.ICMP由外到内处理流程入口 入口函数ip_vs_in实质上挂载在netf ...
- nexus AD 集成配置
nexus AD 集成配置 管理用户登录 点击设置图标-->LDAP-->Create connection 进入AD 集成配置页面 Connection配置 User and group ...
- leetcode 字符串转换整数 (模拟)
思路分析 1.跟着题意模拟,分成几种情况来看待 2.一种全是空格 3.有可能有空格,然后有符号的 4.有可能有空格,无符号数字 5.有可能有空格,非数字开头 6.最后还需要考虑一个越界的问题,所以要除 ...
- 一文读懂 .NET 中的高性能队列 Channel
介绍 System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它可以用来做消息队列,进行数据的生产和消费, 公 ...
- QT. 学习之路 二
Qt 的信号槽机制并不仅仅是使用系统提供的那部分,还会允许我们自己设计自己的信号和槽. 举报纸和订阅者的例子:有一个报纸类 Newspaper,有一个订阅者类 Subscriber.Subscribe ...