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 Boot WebFlux-06——WebFlux 整合 Redis
第06课:WebFlux 整合 Redis 前言 上一篇内容讲了如何整合 MongoDB,这里继续讲如何操作 Redis 这个数据源,那什么是 Reids? Redis 是一个高性能的 key-val ...
- AVAssetWriter视频数据编码
AVAssetWriter介绍 可以通过AVAssetWriter来对媒体样本重新做编码. 针对一个视频文件,只可以使用一个AVAssetWriter来写入,所以每一个文件都需要对应一个新的AVAss ...
- oracle 11g查看alert日志方法
一.第一种方法 1.切换到oracle用户 su - oracle 2.进入sqlplus窗口 sqlplus / as sysdba 3.执行sql命令,查看trace文件位置:background ...
- 简单聊聊Ehcache缓存
最近工作没有那么忙,有时间来写写东西.今年的系统分析师报名已经开始了,面对历年的真题,真的难以入笔,所以突然对未来充满了担忧,还是得抓紧时间学习技术. 同事推了一篇软文,看到了这个Ehcache,感觉 ...
- .NET Core/.NET5/.NET6 开源项目汇总7:电商项目
系列目录 [已更新最新开发文章,点击查看详细] 谈起.NET/.NET Core的企业级实战案例,电商项目是典型代表.其中高负载.高并发.高可用性等问题是考核.NET技术性能的重要指标.下面整 ...
- Golang超时机制--2秒内某个函数没被调用就认为超时
Golang超时机制--2秒内某个函数没被调用就认为超时 需求描述 当一整套流程需要其他程序来调用函数完成时通常需要一个超时机制,防止别人程序故障不调你函数导致你的程序流程卡死 实现demo pack ...
- 1、JVM体系结构
1.JVM跨语言的平台 随着java7的正式发布,java虚拟机的设计者们通过JSR-292规范基本实现在java虚拟机平台上运行非java语言编写的程序. java虚拟机根本不关心运行在其内部的程序 ...
- 『无为则无心』Python基础 — 16、Python序列之字符串的下标和切片
目录 1.序列的概念 2.字符串的下标说明 3.字符串的切片说明 1.序列的概念 序列sequence是Python中最基本的数据结构.指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通 ...
- css中的毛玻璃(不是透明度) 简单文档
其实毛玻璃很简单 只需要在css中加入 backdrop-filter:blur(8px); 8px是模糊力度 注意:使用该方法前需要设置背景不能是透明(如果是显示这个元素下面的图像记得半透明,例子就 ...
- 在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题
iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...