WiFi模块ESP8266同阿里物联网云平台连接(超详细)

写在前面:本节主要的内容是利用ESP8266模块,同阿里云物联网平台的连接,为后面的实现数据的远程展示与处理做好铺垫。

      本节的主要内容分为一下几个阶段进行:

  • 1、阿里云物联网平台的创建
  • 2、阿里云 IOT studio界面绘制
  • 3、mqtt.fx软件模拟MQTT客户端发布与订阅消息
  • 4、ESP8266与阿里云平台通信

一、阿里云物联网平台创建

        首先,我们需要创建一个物联网平台,用于数据的上传,也就是PC端进行数据的显示。之所以选择阿里云物联网平台,是因为中移动的ONENET平台创建失败了,阿里云创建成功了,所以这次先利用阿里云进行展示,后期也会学习其他物联网平台的使用。

        第一步肯定是登录或者是注册了,方法不用多说,和其他网页的注册是一样的,我当时选择的是利用支付宝进行验证的。

1、登录或者注册

                上面是阿里云平台的主界面,在右上角有注册与登录; 

 2、创建产品与设备

        登录后进入阿里云的物联网平台:点击产品——物联网——物联网平台;当然也可以在上方搜索栏直接搜索物联网平台。

        进入平台后,需要选择公共实例,新手刚进入不出意外得话是不能够直接进入公共实例的,这时候需要我们进行申请,可以免费使用一个月。当然企业版实例我们不需要用,公共实例已经足够了。 

        进入公共实例之后我们接着要做的就是创建设备与产品,如下图的界面,在左边栏中有产品,我们直接点解,然后我们就发现,系统已经给出我们后米恩的流程步骤了:创建设备——创建产品——编辑物模型——设备端开发。 当然,可以去看看里面的指导,也可以跟着我接着做;

        上方已经显示了一个我之前创建的产品:温湿度显示设计。我们直接重新创建,点击创建产品。

        点击后需要注意的有两点:1、产品名称(自定义设计)2、所属类型:选择(自定义品类);其余的不需要更改。
        

        上方就是有创建了一个新的产品:12345;接着是创建设备,很多人在这就不明白了,什么是产品?什么又是设备呢?

        简单理解两者的区别:产品可以认为是智能门锁一个大类,而设备可以认为是A家用户的智能门锁或者B家用户的自己能门锁。也就是说产品是一个大类,里面可以包含多个设备。

        我们直接点击产品中的管理设备,进入下面的界面:

            跟创建产品一样,我们在某一个设备下面创建一个产品,我已经创建了一个mqtt_stm32的设备,而且设备的状态离线(离线表示这个设备已经前面被激活了,只是现在不在线,如果是一个新的设备会显示的是未激活)如下图所示:     

3、物模型的创建 

        产品——设备——物模型

        物模型简单来说就是某个产品下面所要检测的数据量,例如:温度、湿度、光照强度、LED开关等等。一种数据量就需要一个创建一个物模型。

        我们点击产品,进入功能定义,然后前面编辑单稿,如下所示,我已经创建了三个物模型:LED开关、湿度以及温度;我们创建完所需要的物模型,点击右上方的发布,即可完成物模型的创建。

        在编辑物模型的时候,我们需要根据其变量特性进行设置编辑: 

功能名称:就是简单说明该物模型是用来干什么的;

标识符:用来标识,后面数据的传递需要用到此名称;

数据类型:传递的数据是什么类型,比如:温度就是浮点型37.5摄氏度,开关就是布尔类型开或者关;

取值范围:就是此物理量的变化范围;

步长:就是变化的最小单位;

单位:就是物理量对应的单位,例如温度就是摄氏度℃;

读写类型:读写不需要改变; 

         创建完成后,当我们点击产品——物模型数据时,就可以看见我们设置好的物理量,我这个已经有数据是因为我进行连接过,刚开始创建时,没有数据,需要后面上传数据,至此,物联网平台的产品-设备-物模型就已经建立完成,当数据传入后就可以在此平台上进行展示以及控制。

二、IOT studio界面绘制

        在前面我们对阿里云的物联网平台进行了创建,包括:产品——设备——物模型,当数据传入后,我i们就能够在物模型平台进行查看以及进行对应的控制。

        当然,前面的创建并不能够美观的进行数据的展示,我们经成看见的数据检测平台是美观且高大上的,不能只在物模型处去看数字的变化,这一节我们就去看看阿里云平台为我们提供的数据界面的绘制,包括仪表盘、折线图等绘制——IOT studio界面绘制

        首先我们退回最开始的物联网云平台,也就是公共实例的位置;在公共实例旁边有一个增值服务,点击后,新版进入需要点击选购增值服务,像我点击就直接出现下面的IOT Studio(应用开发)。这个阿里云平台提供免费使用30天。

          进入应用开发后,我们所需要的是Web应用开发: 

        我们新建Web页面进行设计,需要注意的是;1、我们需要填写应用的名称;2、选择所属的项目。此处,如果没有项目,点击右边新建项目,先按照要求新建一个项目,然后再将所创建的Web应用归属到对应的项目中。

         创建好新的Web应用后,进入下面的设计页面,分为以下的5个步骤:

        1、选择创建;2、选择对应的元素;3、设计画布;4、保存;5、发布;

        如下所示,设计的显示界面(虽然很丑,但是只是起到一个学习的作用,大家根据自己的设计天赋,设计更美观的界面)。

        设计完界面后,我们需要进行数据源的配置,就是给对应的元素添加对应的数据源。每个元素点击进去都会有如上图3所示的配置数据源的部分;配置界面如下所示:

        首先是选择产品,我们目前的产品只有一个,就是温湿度显示设计,我们直接选择就好;很多人刚开始进来之后,发现选择产品这一栏,没有产品共我们选择,但是我们明明在第一部分已经创建了产品?那是因为公共实例ITO Studio界面并没有形成关联,也就是说是两个独立的部分,我们需要将公共实例中的产品移至过来。点击下方的产品管理;             

        我们可以看到关联物联网平台产品,然后选择对应的产品进行管理,就会在数据源的选择时有选择。 

         经过上面的操作,我们就完成里对应界面的设计,我们只是提供方法,并没有规定平台的设计!

三、mqtt.fx模拟MQTT客户端发布与订阅消息

        经过上面产品—设备—物模型的创建、以及ITO Studio界面的设置,物联网云平台端也就是PC端的设置就已经完成了,接着就是如何与云平台进行互联,将数据进行上下传递。我们最终的想法时将传感器的数据利用STM32以及ESP8266进行采集,上传至云平台。但是我们肯定不能直接进行采集与上传。我们需要先验证所创建的阿里云物联网平台是否正确,数据传递过去后是否能够按照我们要求进行显示。

        所以我们本节先利用MQTT.fx软件对我们所设计的平台进行数据模拟,消息的发布与订阅。

        首先我们需要用到以下两个软件,一个是MQTT.fx软件进行数据的传输,一个是阿里云物联网平台配置,用于相关数据的配置。 

百度网盘连接:

链接:https://pan.baidu.com/s/1-hIIUVsVK9K2oz_2v9NFfg 
提取码:1022

         首先,我们进入MQTT.fx软件,进入后为上方界面,我们需要在这个界面完成与阿里云物联网平台的连接。点击上方的设置按钮,填写对应的内容:

        如上图所示:需要填写的内容较多,主要包括:

1、Broker Address:填写阿里云物联网平台配置软件连接域名半部分,冒号之前.com截至

2、Broker Port:填写阿里云物联网平台配置软件连接域名后半部分,1883(一般情况不变);

3、Client ID:填写阿里云物联网平台配置软件Clienld内容;

4、User Credentials-UserName:填写阿里云物联网平台配置软件Username内容;

      User Credentials-Password:填写阿里云物联网平台配置软件Password内容;

填写完后Apply,然后Cancel,最后点击设置旁边的Connect;

注:填写时,一定一定认真,输入法为英文,多次尝试,基本上很难一次连接成功!!!

        那么问题来了,阿里云物联网平台配置软件中的数据是哪里来的呢?

        首先,红色框中的三项数据来自物联网云平台的三元组;在设备中点击:DeviceSecret中查看;TimeStamp:随便填写(123456等);Clientld:设备的名称;填写成后点击右下方的生成,其余的连接参数就会直接生成。

        按照上述说明,进行MQTT.fx同阿里云物联网平台连接,连接成功后,在MQTT.fx软件右上方,🔒标识打开,绿灯亮。在物联网平台中,设备状态改为在线,即成功。

         在成功连接后,下一步就是进行数据的传递;

 1、MQTT.fx——物联网云平台

        首先是由MQTT.fx向阿里云物联网平台进行数据的发布,先在产品中的Topic类列表里面寻找物模型通信Topic中属性上报,操作权限为发布的报文,其报文如下:

        在MQTT.fx软件的Publish处进行发布:

        /sys/ProducKey/设备名称/thing/event/property/post_reply

        将对应的内容进行替换;

         然后由MQTT.fx填写需要发布的数据,但是数据有其严格的格式:

        {"params":{"temperature":45,"humi":43},"version":"1.0.0"} 

        其中,temperature、humi——物模型的标识符;45、43是需要传递的数据,其余格式保持不变即可。

操作视频,需要缓冲一会才能观看。

mqtt.ft与物联网平台

 2、物联网云平台——MQTT.fx

        再就是由阿里云物联网平台向MQTT.fx进行数据的订阅,先在产品中的Topic类列表里面寻找物模型通信Topic中属性设置,操作权限为订阅的报文,其报文如下:

        /sys/ProducKey/设备名称/thing/service/property/set

          将对应的内容进行替换;

        然后,通过控制物联网云平台的LED开关,观察MQTT.fx收到的信息指令。

操作视频,需要缓冲才能观看。 

mqtt按键

        以上便是利用MQTT.fx进行物联网平台数据的发布与订阅,成功地证明了我们创建的平台是没有问题的。后面在此基础上在引入ESP8266模块进行通信。

 四、ESP8266与物联网云平台进行通信

        在上面我们进行了软件的通信,这节我们就利用ESP8266模块实现与物联网云平台的通信,当然我们也是最简单的利用串口助手进行通信。

1、ESP8266固件库烧录

        首先要做的就是对ESP8266进行MQTT固件库的烧录,其烧录的方法和我之前的博客烧录的方法是一模一样的,大家可以进行查看学习,不同的是烧录的文件不同,我将烧录的文件以及所用的资料放在百度网盘中供大家使用。

WiFi模块ESP8266(超详细)---(含固件库、AP、STA、原子云使用)-CSDN博客

百度网盘链接:

链接:https://pan.baidu.com/s/1WPIRfKuuXpNcxJqgq_ze8A 
提取码:1022(文件)

链接:https://pan.baidu.com/s/1LaKXs4IOnOg6Prz2GHYGRA 
提取码:1022(烧录软件)

烧录的界面如下: 

2、AT指令

        在此我们利用ESP8266进行通信依靠的依旧是AT指令,因此我们将所需要的AT指令进行说明:

1、AT//用于验证ESP8266模块的好坏,如果发送后能够返回OK,则证明模块没有问题。
2、AT+CWMODE=1//用于设置ESP8266的工作模式,设置为 STA 模式;
3、AT+CWJAP="Mi","123456782"//连接WIFI,前面是WFIF名称后面是密码;
4、AT+MQTTUSERCFG=0,1,"Clientid(每个逗号前面要加\)","用户名称","Password",0,0,""
5、AT+MQTTCONN=0,"Broker Address",1883,0//连接物联网平台
6、AT+MQTTSUB=0,"/sys/k1hk6fyktFW/mqtt_stm32/thing/service/property/set",0//订阅主题:
7、AT+MQTTPUB=0,"/sys/k1hk6fyktFW/mqtt_stm32/thing/event/property/post","{\"params\":{\"temperature\":73\,\"humi\":53}\,\"version\":\"1.0.0\"}",0,0//发布数据的命令;

注:1、指令4为:AT+MQTTUSERCFG=0,1,"Clientid(每个逗号前面要加\)","用户名称","Password",0,0,""     黄色的内容是需要进行替换的,按照前面软件产生的数据填写;

2、指令5为:AT+MQTTCONN=0,"Broker Address",1883,0    黄色内容也需要进行替换;

3、指令6为:AT+MQTTSUB=0,"/sys/k1hk6fyktFW/mqtt_stm32/thing/service/property/set",0   不需要进行修改。

4、指令7为:AT+MQTTPUB=0,"/sys/k1hk6fyktFW/mqtt_stm32/thing/event/property/post","{\"params\":{\"temperature\":73\,\"humi\":53}\,\"version\":\"1.0.0\"}",0,0    只修改黄色部分,物模型的标识符,以及传递的数据;其余的任何标点符号都不要修改;
利用串口助手进行发送,注意每条指令需要加上换行,再手动发送,返回OK即发送正确

3、操作验证

串口助手:

链接:https://pan.baidu.com/s/1c4qFxLoi5Z0jWeQSK0ipow 
提取码:1022

操作视频,需要缓冲后查看;

ESP8266+aliyun

        以上便是利用ESP8266模块,完成了同阿里云物联网平台的连接。

        创作不易,还请大家多多点赞支持!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/861797.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web服务器与Apache(虚拟主机基于ip、域名和端口号)

一、Web基础 1.HTML概述 HTML&#xff08;Hypertext Markup Language&#xff09;是一种标记语音,用于创建和组织Web页面的结构和内容&#xff0c;HTML是构建Web页面的基础&#xff0c;定义了页面的结构和内容&#xff0c;通过标记和元素来实现 2.HTML文件结构 <html>…

【初阶数据结构】二叉树(附题)

目录 1.树概念及结构 1.1树的概念 1.2 树的相关概念&#xff08;树结构的相关概念命名参考自然树和人的血缘关系&#xff09; 1.3 树的表示 1.4 树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff0c;初次之外网盘中使用到&#xff09; 2.二叉树概念及结构 …

【pytorch08】拼接与拆分

1.拼接与拆分 CatStackSplitChunk 2.Cat 有两张成绩单 [class1-4,students,scores] [class5-9,students,scores]’ 要把这两个成绩单合并在一起 如何理解该行为 注意&#xff1a;班级情况中 A的tensor是[4,32,8],B的tensor是[5,32,8]如果我们是在0维上进行拼接&#xff0c;要…

“水刊”来了!专注发表水方向的SCI刊物,此“水刊”非彼水刊

【SciencePub学术】曾经的超级“水刊”《WATER SUPPLY》因为触碰红线&#xff0c;现在依旧被“on hold”中&#xff0c;解封日期恐怕也是遥遥无期。 来源&#xff1a;科睿唯安官网 后台有人私信小编有没有关于“水”类的期刊推荐&#xff0c;小编后台整理了一下&#xff0c;今…

step6:改用单例模式

文章目录 文章介绍codemain.cppSerialPort.qmlSerialPortHandler.h 文章介绍 案例MF改为单例模式 参考之前写过的关于单例模式的文章单例模式1、单例模式2 code main.cpp qmlRegisterSingletonType(“com.example.serialport”, 1, 0, “SerialPortHandler”, SerialPortHan…

《software architecture patterns》学习笔记

了解通用的架构模式并知道什么时候使用它们。 软件架构定义了软件的基本特点和行为。比如&#xff0c;有些软件架构会让软件变得可扩展&#xff0c;而有些软件架构会让软件变得易于修改。 知道每一种软件架构的特点、优缺点是非常有必要的&#xff0c;因为它们能帮助你选择一种…

吉时利 Keithley2461 数字源表

Keithley2461吉时利SMU高电流数字源表 2461 型图形化高电流数字 SourceMeter SMU 2461 高电流 SMU 凭借其 10A/1000W 脉冲电流和 7A/100W 直流电流能力以及双 18 位 1MS/s 数字转换器&#xff0c;优化用于检定和测试高功率材料、器件和模块&#xff0c;例如碳化硅 (SiC)、氮化…

Codeforces Round 954 (Div. 3) A~F

A.X Axis&#xff08;暴力&#xff09; 题意&#xff1a; 在 X X X轴&#xff08; 1 ≤ x i ≤ 10 1\leq x_i\leq 10 1≤xi​≤10&#xff09;上有三个点&#xff0c;其整数坐标分别为 x 1 x_1 x1​、 x 2 x_2 x2​和 x 3 x_3 x3​。您可以选择 X X X轴上任何一个整数坐标为 …

一分钟学习数据安全—自主管理身份SSI分布式标识DID介绍

SSI标准化的两大支柱&#xff0c;一个是VC&#xff0c;之前简单介绍过&#xff0c;另一个就是DID。基本层次上&#xff0c;DID就是一种新型的全局唯一标识符&#xff0c;跟浏览器的URL没有什么不同。深层次上&#xff0c;DID是互联网分布式数字身份和PKI新层级的原子构件。 一…

分别使用netty和apache.plc4x测试读取modbus协议的设备信号

记录一下常见的工业协议数据读取方法 目录 前言Modbus协议说明Netty 读取测试使用plc4x 读取测试结束语 前言 Modbus 是一种通讯协议&#xff0c;用于在工业控制系统中进行数据通信和控制。Modbus 协议主要分为两种常用的变体&#xff1a;Modbus RTU 和 Modbus TCP/IP Modbus …

通过验证邮箱进行注册信息确认

应用在进行注册时&#xff0c;避免恶意攻击和垃圾注册&#xff0c;可以通过验证注册者身份后才能够提交。一般可以使用验证手机短信或者验证邮箱&#xff0c;验证短信会有专门的第三方服务&#xff0c;可以进行付费购买。验证邮箱的正确与否&#xff0c;可以通过以下2种方式进行…

Linux 安装 MySQL 8.0.26

1、MySQL 8.0.26 下载 官方网站下载 MySQL 8.0.26 安装包&#xff0c;下载地址&#xff1a;mysql8.0.26 本案例采用Linux 64位操作系统进行讲解&#xff0c;通过wget命令下载安装包。 使用df -lh命令查看&#xff0c;磁盘大小&#xff0c;尽量安装在比较大的磁盘下&#xff0c…

vue3+ts <script setup lang=“ts“> element-plus的el-date-picker设置默认日期

效果图&#xff08;单个日期&#xff09;&#xff1a; utils.ts&#xff1a; /*** 格式化时间戳* param {number} timestamp 时间戳* param {string} format 格式* returns {string}*/ export const formatTimeStamp (timestamp: number, format: string) > {if (!timesta…

Linux系统防火墙iptables(下)

备份与还原iptables规则设置 1、yum -y install iptables iptables-services 安装iptables软件包 2、systemctl start iptables.service 开启服务 3、systemctl enable iptables.service 开机自启 我们对iptables命令行中的设置&#xff0c;都是临时设置&#xff0c;只要遇到服…

GPT-5

欢迎来到 Papicatch的博客 文章目录 &#x1f349;技术突破预测 &#x1f348;算法进步 &#x1f348;理解力提升 &#x1f348;行业推动力 &#x1f349;人机协作的未来 &#x1f348;辅助决策 &#x1f348;增强创造力 &#x1f348;复杂任务中的角色 &#x1f348;人…

深入剖析Tomcat(十三) Host、Engine 容器

前面很多篇文章都在介绍Context与Wrapper两个容器&#xff0c;因为这两个容器确实也比较重要&#xff0c;与我们日常开发也息息相关&#xff0c;但是Catalina是存在四个容器的&#xff0c;这一章就来简单看看Host与Engine这两个容器。 再次展示下Catalina的容器结构&#xff0…

VS2022(Visual Studio 2022)最新安装教程

1、下载 1、下载地址 - 官网地址&#xff1a;下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux - 根据自己的电脑的 【操作系统】 灵活选择。 2、安装包 【此处为Windows系统安装包】 2、安装 1、打开软件 - 右击【以管理员身份打开】&#xff0c; 2、准备配置 …

Web Serial串口通信实现WEB浏览器读写M1卡

本示例使用的设备&#xff1a;RS232串口RFID NFC IC卡读写器可二次开发编程发卡器USB转COM-淘宝网 (taobao.com) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> &l…

优思学院|工厂的部门架构管理与精益生产

工厂内有不同部门&#xff0c;各部门之间必须协调合作才能发挥整体功能。工厂最主要的部分是制造产品的现场&#xff0c;这里安装了生产工具&#xff0c;还有操作员进行加工或生产制造。 制造时使用的材料或零组件&#xff0c;需要对外采购。对于加工组装型的工厂&#xff0c;…

基于Boost和平均电流控制方法的APFC电路设计

通过学习无线充电相关知识&#xff0c;为更快熟悉APFC工作原理&#xff0c;通过实验得以掌握 技术要求&#xff1a; 1&#xff09;输入电压&#xff1a;AC 85V&#xff5e;265V&#xff1b; 2&#xff09;输出电压&#xff1a;400V1%&#xff1b; 3&#xff09;输出额定电流…