热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

图解连接阿里云(一)创建阿里云物联网平台产品和设备,使用MQTT.fx快速体验

前沿提要:MQTT是什么不知道?看这一篇:https:www.cnblogs.comhappybirthdaytoyoup10362336.html阿里云官网玩不转?看这一篇:&

 

前沿提要:

MQTT是什么不知道?

看这一篇:https://www.cnblogs.com/happybirthdaytoyou/p/10362336.html

阿里云官网玩不转?

看这一篇: https://www.cnblogs.com/happybirthdaytoyou/p/14065294.html

不会用代码连接阿里云?

看这一篇:https://www.cnblogs.com/happybirthdaytoyou/p/14074606.html

 

 

1.  打开 https://www.aliyun.com/  注册账号

 

2.注册账号登录后点击控制台

 

 

3. 在下图1处输入物联网平台,会弹出2处所示物联网平台的入口,点击红色箭头所示处,进入物联网平台页面

 

4. 在物联网平台页面处 点击该公共实例

 

 

5. 选中1处产品这一栏,点击2处的创建产品按钮

 

 

6. 填写创建产品所需的参数。 我之后将十使用windows软件MQTT.fx来连接阿里云,我的电脑是通过wifi联网的,所以我在下图的联网方式处选择Wi-Fi 。

  下面我创建一个产品,产品名称叫做:我是产品-我负责管理设备们

     (产品名称在账号内具有唯一性。例如,可以填写为产品型号。支持中文、英文字母、日文、数字、下划线(_)、短划线(-)、@符号和英文圆括号,长度限制4~30个字符,一个中文或日文占2个字符)

 点击确认,我们将进入下图页面

 

7.

 

现在我们面临两个选择,通过阅读上图2的文字,我们了解到,物模型是一种抽象的数据结构,我们需要为每个产品定义一个物模型,这是产品下属的设备们的抽象父类。

所以,我们按照由上至下的设计原则,先为产品定义物模型吧! 点击上图2处,前往定义物模型。

 

8.

再点击编辑草稿

 

9.

再点击 添加标准功能

 

10.

  选择 其他类型, 我在这里输入 温度,表示我的物联网设备将要上传温度值吧(你不一定要选择温度的,这里的选择仅仅是阿里云对用户数据进行一个粗略的分类而已),

  点击3处的搜索按钮, 4处随便选择一个, 我选择的是当前温度--空气盒子。 

然后点击确定

 

 

 还可以点击编辑

我们将其读写类型改为 :读写。 这表示该数据不仅可以上传到云平台(只读),还可以由云平台下发到设备。

再点击 发布上线,勾选:确认已查看当前版本与线上版本的比对结果。 点击确定。

 

这样,一个物模型就创建好了。

根据上面的提示,一个产品,不仅需要物模型,还需要设备,所以,接下来,我们就添加设备。

 

11. 在物联网平台 / 设备管理 / 设备 页面, 点击:添加设备

 

 1选择我们刚才创建的产品    2给设备起个英文名字    ,再点击确认

 

 再点击完成

 

 至此,我们又将设备创建好了。PS:当前设备状态可以看到,是未激活。

 

接下来我们就可以跑起来单片机或者其他什么Linux板子,又或者是上位机软件,又或者是ubuntu内允许的可执行程序,来连接这个阿里云了。

连接需要一些参数,这些参数阿里云已经为我们都提供了,我们通过自己的主页就可以看到, 如下图所示:

 上图可以查看设备的参数。

 

上图可以查看设备模型( 即 产品 )的参数。

 

12. 后面要用到的时候再来查看相关参数, 我们先下载MQTT.fx吧 

 

MQTT.fx软件的下载路径

https://mqttfx.jensd.de/index.php/download?spm=a2c4g.11186623.2.16.63f75800DlwS9m

我下载的是最新版的1.71版本

 

打开该软件

接着点击上图的该设置按钮

 

然后填好相关参数,如下图所示:

 

 这里解释下相关参数

你的Client ID可以和我的配置一样。 后面的securemode也可以设置为3, signmethod也可以跟我一样,设置为sha1(sha1就是上图的hmacsha1)。

Broker Address就是个域名, 你的这个域名可以配置为  “你的ProductKey”+ “iot-as-mqtt.cn-shanghai.aliyuncs.com” 这串字符,

你的ProductKey可以通过下图方式查到:

 

接着我们来填写User Credentials选项卡

下面介绍下这两行怎么填写:

 

 

ProductKey的查看方法前面已经介绍过了,这里介绍下DeviceName的查看方法: 

 填好它。  现在就只剩一个Password还需要填写了,我们需要借助一个密码计算工具。

 在该QQ群进行如下搜索即可下载

 

QQ群号在此

解压缩下载包后,双击sign文件,即可使用,

下图是我输入的计算密码所需的参数:

productKey、deviceName、clientId都介绍过了,或者我的配图里都展示出来了。method选择为sha1,还记得吧,我们之前配置Client ID的时候配置为了sha1,这里要对应上。

现在只剩一个deviceSecret没介绍了,我们可以通过下图方式查看:

填写好参数以后,点击Genrete,就可以生产password了。

然后把password复制黏贴到MQTT.fx的下图处,再点击OK按钮

 然后再点击Connect

 

如果上面的操作都正确,那么喜迎时刻到了:

小灯变成了绿色,disconnect按钮也可见(白色背景,黑色字体)了。

同时!==》我们可以看到,该设备由原先的 未激活 状态更改为 在线状态。我们已经建立了上位机MQTT.fx软件和阿里云的连接了。

既然连接已经通了,那我们接着来干点收发数据的事情吧。

毕竟仅仅建立个连接不是目的,收发数据去辅助完成业务逻辑才是我们的目的。

 

 13 在下图处,阿里云平台为我们预设了一些Topic(主题), 我们可以借助这些主题来通信。

  当然,我们也可以自定义Topic, 都可以的。

  这里我们先使用预设好的物模型Topic吧。

 这里可以看到,设备属性上报的主题,

 我订阅的Topic就是:    /sys/a11B0MP4tDp/1st_device_mqttfx/thing/event/property/post     填入下图的3处:

留意一下,红色框内选择最左边一个蓝色的圈即可,这是通信的质量等级Qos, 阿里云好像不支持Qos为2.

现在不确定支不支持不要紧,因为现在是快速体验阿里云,到时候我们写下位机代码来和阿里云通信的时候肯定会设计到这个问题的,所以现在不操心,知道这么回事就行了。  

 

4处我填写的是CurrentTemperature":43, 为什么是CurrentTemperature呢?

因为CurrentTemperature是我们创建的温度数据的标识符。

点击Publish。数据就传到云上去咯。

 

现在我们可以去云上查看下数据。

至此,我们完成了设备向云发送数据的功能。

 

接下来我们来完成云下发数据到设备的功能:

先配置MQTT.fx

再次查看阿里云预设好的Topic列表,入下图紫色划线的主题就是我们现在需要的订阅主题。

意思就是,物联网设备订阅这个主题,云平台也可以通过向这个主题发送消息,传递给各个订阅过该主题的物联网设备,以此实现通信。

 

 我下图填入的主题是:/sys/a11B0MP4tDp/1st_device_mqttfx/thing/service/property/set

然后点击Subscribe。

 

接着在云平台这边来操作:

点击在线调试

点击前往查看

再进行如下配置

在3处填入你要发送的数值,我随便填了个35.

点击发送指令

之后会显示云端下发数据的记录:

 

回到MQTT.fx

3处可以选择按照JSON格式显示收到的数据。

至此,我们又完成了云端数据下发到设备的功能。

 

还有自定义Topic,有提到,没涉及,可以自己去尝试尝试。

 

 江湖很大,你我相遇在此有一定缘分,可以考虑加个QQ群聊聊人生,技术离不开生活,生活离不开聊聊。

 

 

.


推荐阅读
  • 本视频教程将带你快速了解 Android 开发的基础知识,并详细讲解如何在 Android 应用中使用 SQLite 数据库进行数据存储和管理。 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • HTML中span元素为何会脱离li元素对齐?
    在HTML布局中,有时会遇到span元素未能与li元素保持对齐的问题。本文将探讨这一现象的原因,并提供解决方案。 ... [详细]
  • Python 3 Scrapy 框架执行流程详解
    本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
  • 系统转换的三种方法及其具体应用分析
    系统转换是信息技术领域中常见的任务,本文详细探讨了三种主要的系统转换方法及其具体应用场景。这些方法包括:代码迁移、数据迁移和平台迁移。文章通过实例分析了每种方法的优势和局限性,并提供了实际操作中的注意事项和技术要点。例如,代码迁移适用于从VB6获取网页源码,数据迁移在Ubuntu中用于隐藏侧边栏,而平台迁移则涉及Tomcat 6.0的使用和谷歌爬虫的测试。此外,文章还讨论了蓝翰互动PHP面试和5118 SEO工具在系统转换中的应用,为读者提供了全面的技术参考。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
author-avatar
大爱仅有的财产丶_468
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有