学习日记——阿里云物联网平台
文章目录
- 前言
- 一、阿里云物联网平台
- 产品架构
- 产品规格
- 计费标准
- MQTT
- 二、阿里云创建产品和设备
- 1、开通物联网平台
- 2、创建产品
- 3、添加设备
- 4、接入阿里云物联网平台
- 5、 规则引擎
- 6、MQTT-FX
- 7、修改MQTT例程
- 参考链接
前言
如何使用阿里云物联网平台,和如何连接物联网平台。
一、阿里云物联网平台
产品架构
- 设备通过MQTT等协议将数据上报到阿里云物联网平台,之后通过规则引擎,将数据发送到阿里云其他云服务,来实现需要的功能。
产品规格
基础版:提供安全可靠的设备连接能力,提供设备管理和固件升级能力,支持规则引擎进行数据引流。
高级版:在基础版的所有功能的基础上,增加了Alink协议的支持,增加了其他的一些功能。
学会基础版的前提下再学习高级版这样会更加轻松。高级版其实就是在基础版的基础上增加了一些功能。
其他概念的理论可以到阿里云官网的帮助文档观看https://help.aliyun.com/document_detail/30523.html?spm=a2c4g.11186623.6.552.71a93d9cRUqulH
计费标准
在初次开通物联网平台的前两个月,有100万条消息的免费额度。
MQTT
阿里云物联网平台MQTT与标准MQTT的区别
- 支持MQTT的PUB、SUB、PING、CONNECT、DISCONNECT、UNSUB等报文。
- 支持clean session
- 不支持will、retain mag
- 不支持QoS2
- 基于原生的MQTT Topic上支持RRPC同步模式,服务器可以同步调用设备并获取设备回执结果。
二、阿里云创建产品和设备
阿里云平台有一个月的免费试用,所以初学者可以尝试
1、开通物联网平台
- 首先打开阿里云官网,点进企业物联网平台
- 点击免费尝试
- 在开通物联网平台之前,需要先实名认证,可以选择个人实名认证和企业实名认证。实名认证之后可以开通物联网平台。
- 开通之后,首页如下:
2、创建产品
- 创建产品并添加产品相关信息
3、添加设备
- 点击添加设备、选中对应的设备、然后添加即可
- 可点击查看,可查看产品码、设备名、设备密钥等重要信息。
- 当设备连接到阿里云物联网平台时,阿里云会根据这3个参数,鉴别设备的身份。再创建MQTT-FX客户端软件对应的设备,创建完成的两个云端设备如下所示:
4、接入阿里云物联网平台
- 首先我们接入阿里云物联网平台,我们需要获取以下内容
以下是阿里云文档说明:
https://help.aliyun.com/document_detail/73742.html?spm=a2c4g.11186623.6.588.5de26eebCAhXgL
地区和可用区如下所示:
- 这三个参数的设置方法,参见CONNECT报文参数说明:
- 其中,mqttClientId 和 mqttUsername 可以直接设置,mqttPassword比较麻烦,sign_hmac(deviceSecret, content) ,可以看到,mqttPassword 是根据设备密钥和content 进行哈希加密,而 content 又由多个参数字符合成。 这个如果自己实现会比较麻烦,可以使用自动生成的配置工具
链接:https://pan.baidu.com/s/1kYLzobVkl7CVKoT1JME1TQ
提取码:ezle
- 此工具,可以根据设备的三元组来生成MQTT连接的相关参数。
首先注意:SN/MAC这个参数。这个参数就是Clientid的值。这个值也会参与之后的哈希算法加密,一般设为设备的序列号和MACK地址。
- 如果我们是练习或者是学习,可以随便设置一个。 将对应的参数复制粘贴后,直接点击生成基本信息即可。
- 打开我们创建的产品,打开产品列表,点击参看,点击Topic列表。。可以看到预先定义了三个Topic。设备名在对应设备下会被替换。
- 我们还可以创建新的Topic类。 点击确定即可。
- 成功创建
- 这个主题可以订阅消息或者是发布消息。注意,这个主题只可以操作这四个主题,对于其他的任何主题都没有操作的权限。
5、 规则引擎
- 规则引擎可以将设备上报到IOTHub的数据转发到其他设备,并且可以将数据发送到其他的云服务来实现不同的功能。下面实现,通过规则引擎将一个主题的消息转发到另一个主题。阿里云的规则引擎有多种,这次我们选用“云产品流转”
- “云产品流转”当产品基于Topic通信时可以在规则引擎的数据流转中,编写SQL对Topic中的数据进行处理,并配置转发规则将处理后的数据转发到其他Topic或阿里云的其他服务
- 例如:将数据转发到另一个Topic中以实现M2M通信;将数据转发到RDS、表格存储、TSDB中进行存储;将数据转发到DataHub中,然后使用实时计算进行流计算,使用Maxcompute进行大规模离线计算;将数据转发到函数计算进行事件计算;可以转发到消息队列RocketMQ.消息服务实现高可靠消费数据。使用规则引擎的数据流转功能后,您无需购买服务器部署分布式架构,即呵实现采集+计算+存储的全栈服务。
- 创建规则引擎:
规则引擎需要使用SQL语句(结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统)
设置SQL语句
创建成功,启动规则引擎;
6、MQTT-FX
- MQTT-FX有问题的可以看以下我之前的学习日记
https://editor.csdn.net/md/?articleId=108580628
里面有详细的MQTT-FX操作说明,供大家参考
7、修改MQTT例程
- 设置好域名、设备ID、用户名、用户密码、wifi名、wifi密码以及修改持有人标识(每次都需要修改,随便修改即可)
- 修改主题以及注释掉向主题的回应。
下载程序,复位8266
以上说明ESP8266接入物联网成功。
连接MQT-FX客户端,配置完成之后,向以下的主题发送JSON字符串。
主题为:/a132qqtzQPK/iot_light_mqtt.fx/user/SW_LED(每个都不同)
即可点亮LED灯
参考链接
https://baike.so.com/doc/87665-92587.html
学习日记——阿里云物联网平台相关推荐
- HaaS学习笔记 | 阿里云物联网平台的产品和设备创建明细教程
[1]题目要求 [本教程视频]:阿里云物联网平台产品与设备的创建 [2]登录阿里云物联网平台 登录阿里云IOT主页:https://iot.aliyun.com 在该页面登录帐号.如果没有帐号,可以免 ...
- 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台
摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...
- pytorch学习第三天: 阿里云物联网平台使用
这一节考虑的是如何在本地实现对外网设备端的固件更新和数据传输 初级使用教程 阿里云物联网平台使用教程(一) 阿里云物联网平台使用教程(二) 阿里云物联网平台使用教程(三) 1. vscode中的字体下 ...
- Aliyun 学习笔记(二)阿里云物联网平台介绍
文章目录 1 阿里云物联网平台 1.1 设备接入 1.2 设备管理 1.3 安全能力 1.4 规则引擎 1 阿里云物联网平台 根据阿里云物联网平台文档可以了解到所有有关阿里云物联网平台的介绍. 阿里云 ...
- 阿里云物联网平台开发学习(一)
1. 注册阿里云物联网平台: 2. 阿里云物联网平台:添加产品: 3. 阿里云物联网平台:添加设备: 4. 下载mtqq.fx实现模拟设备:测试发布.订阅: 5. 通过amqpDemo实现数据接收: ...
- 使用eclipse实现阿里云物联网平台数字签名(Signature)(附源代码)
摘要:要实现对基于阿里云物联网平台的设备的控制,就需要调用阿里云的API.这些API不会让我们随意调用,而是有相当严格的审核机制,确保数据的安全.这种机制就是"签名机制",我们每调 ...
- 通用ESP8266连接阿里云物联网平台
最近在做毕业设计.毕竟本科4年,作为计算机嵌入式专业学生,又在嵌入式实验室学习三四年,不想糊弄自己,准备好好搞一个.最近突然决定要将硬件连接云平台,采用的是通用的ESP8266,于是乎就开始搞阿里云. ...
- 【阿里云物联网平台-1】使用MQTTfx模拟客户端,往阿里云物联网平台发布数据
目录 MQTT协议简单介绍(每句都是干货) 手把手流程 服务器:阿里云物联网平台 客户端:MQTTfx 后记 MQTT协议简单介绍(每句都是干货) MQTT是应用层协议,基于TCP/IP. 是一种发布 ...
- 【PBL项目实战】户外智慧农场项目实战系列——1.阿里云物联网平台的开通与云端可视化应用的新建
岭师人工智能素养教育共同体PBL项目教程系列之1:户外智慧农场项目实战系列 原文链接 https://mp.weixin.qq.com/s/avKWJHNvnPeFsdEXUBByjw 本系列以户外 ...
最新文章
- putty ubuntu服务器 上传文件,教你如何使用PuTTY上传文件?
- Nilearn教程系列(4)-fMRI解码入门教程(一)
- 我参与阿里巴巴 ASoC-Seata 的一些感悟
- Jerry文章《浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP面向切面编程的尝试一文的源代码》
- 关于cat命令修改文件内容(导入变量符号以及变量内容)
- 京东发布“下一代智能协同开放平台”战略 助力政企数字化转型
- 那个花457万美元拍下巴菲特20周年慈善午宴的90后是他!
- Neo4j从mysql读取数据_[bigdata-086] python3+neo4j 从mysql数据库读取记录然后创建节点和关系写入到neo4j...
- 通过升级.NET框架提升实体框架性能
- asp.net 大文上传配置
- 对Table_locks_immediate值的理解
- staticmethod自己定制
- SSE指令介绍及其C、C++应用 zz
- aws80端口不能访问的问题
- 如何把pdf拆分成多个文件?
- c语言中fflush作用,详解C语言fflush()函数的使用
- [C语言]——矩阵的转置
- 谈谈单元测试:为什么要进行单元测试?
- 时间序列分析教程(二):移动平均与指数平滑
- 将树莓派连接到显示器
热门文章
- [数据统计]百度在调低索引库的容量
- 《结构信息论》——结构信息论Ⅰ:信息处理的数学原理
- “I don’t understand” 表达 “我不明白”,太老土了!
- java程序员22年终总结以及23年展望
- 天润IVR语音自助系统破解电商验证难题
- 分享一些提高逻辑能力的心得
- Serverless 2.0,鸡蛋还是银弹?
- AtCoder Beginner Contest 174 E.Logs
- linux 创建dat文件‘,DAT 文件是什么
- 物联网在中国的崛起,具有什么样的价值?