(2)基于巴法云+MQTT+微信小程序控制esp8266点灯

news2024/11/15 17:36:29

目录

1、wifi配置指令表

2、连接连接wifi网络

3、连接巴法云MQTT

        (1)配置用户属性AT+MQTTUSERCFG

                ① 命令格式:

                ② 命令参数:

                ③ 实际配置方式:

        (2)配置ESP 设备连接的 MQTT broker

                ① 命令格式:

                ② 命令参数:

                ③ 实际配置方式:

4、巴法云MQTT发布和订阅Topic

        (1)订阅MQTT的Topic信息

                ① 命令格式:

                ② 命令参数:

                ③实际配置方式:

        (2)发布MQTT的Topic信息

                ① 命令格式:

                ② 命令参数:

                ③实际配置方式:


1、wifi配置指令表

  • AT+CWMODE:查询/设置 Wi-Fi 模式 (Station/SoftAP/Station+SoftAP)

  • AT+CWJAP:连接 AP

  • AT+CWRECONNCFG:查询/设置 Wi-Fi 重连配置

  • AT+CWLAPOPT:设置 AT+CWLAP 命令扫描结果的属性

  • AT+CWLAP:扫描当前可用的 AP

  • AT+CWQAP:断开与 AP 的连接

  • AT+CWSAP:配置 ESP32 SoftAP 参数

  • AT+CWLIF:查询连接到 ESP SoftAP 的 station 信息

  • AT+CWQIF:断开 station 与 ESP SoftAP 的连接

  • AT+CWDHCP:启用/禁用 DHCP

  • AT+CWDHCPS:查询/设置 ESP SoftAP DHCP 分配的 IP 地址范围

  • AT+CWAUTOCONN:上电是否自动连接 AP

  • AT+CWAPPROTO:查询/设置 SoftAP 模式下 802.11 b/g/n 协议标准

  • AT+CWSTAPROTO:设置 Station 模式下 802.11 b/g/n 协议标准

  • AT+CIPSTAMAC:查询/设置 ESP Station 的 MAC 地址

  • AT+CIPAPMAC:查询/设置 ESP SoftAP 的 MAC 地址

  • AT+CIPSTA:查询/设置 ESP Station 的 IP 地址

  • AT+CIPAP:查询/设置 ESP SoftAP 的 IP 地址

  • AT+CWSTARTSMART:开启 SmartConfig

  • AT+CWSTOPSMART:停止 SmartConfig

  • AT+WPS:设置 WPS 功能

  • AT+MDNS:设置 mDNS 功能

  • [ESP32 Only] AT+CWJEAP:连接 WPA2 企业版 AP

  • AT+CWHOSTNAME:查询/设置 ESP Station 的主机名称

  • AT+CWCOUNTRY:查询/设置 Wi-Fi 国家代码

2、连接连接wifi网络

通过串口给esp8266发送AT指令。

调试配置软件下载地址:https://docs.ai-thinker.com/_media/tools/aithinker_serial_tool_v1.2.3.7z

//用于设置ESP8266模块的Wi-Fi工作模式
//用于将ESP8266模块配置为Wi-Fi客户端(STA模式)
AT+CWMODE=1

//连接到指定的Wi-Fi网络"wifi_ssid"
AT+CWJAP="wifi_ssid","wifi_password"

//查询与 ESP Station 连接的 AP 信息
AT+CWJAP?

3、连接巴法云MQTT

(1)配置用户属性AT+MQTTUSERCFG

① 命令格式:
AT+MQTTUSERCFG=<LinkID>,<scheme>,<"client_id">,<"username">,<"password">,<cert_key_ID>,<CA_ID>,<"path">
② 命令参数:
  • <LinkID>:当前仅支持 link ID 0。

  • <scheme>

    • 1: MQTT over TCP;

    • 2: MQTT over TLS(不校验证书);

    • 3: MQTT over TLS(校验 server 证书);

    • 4: MQTT over TLS(提供 client 证书);

    • 5: MQTT over TLS(校验 server 证书并且提供 client 证书);

    • 6: MQTT over WebSocket(基于 TCP);

    • 7: MQTT over WebSocket Secure(基于 TLS,不校验证书);

    • 8: MQTT over WebSocket Secure(基于 TLS,校验 server 证书);

    • 9: MQTT over WebSocket Secure(基于 TLS,提供 client 证书);

    • 10: MQTT over WebSocket Secure(基于 TLS,校验 server 证书并且提供 client 证书)。

  • <client_id>:MQTT 客户端 ID,最大长度:256 字节。

  • <username>:用户名,用于登陆 MQTT broker,最大长度:64 字节。

  • <password>:密码,用于登陆 MQTT broker,最大长度:64 字节。

  • <cert_key_ID>:证书 ID,目前 ESP-AT 仅支持一套 cert 证书,参数为 0。

  • <CA_ID>:CA ID,目前 ESP-AT 仅支持一套 CA 证书,参数为 0。

  • <path>:资源路径,最大长度:32 字节。

③ 实际配置方式:
//配置 MQTT 用户属性
AT+MQTTUSERCFG=0,1,"client_id","","",0,0,""

 

(2)配置ESP 设备连接的 MQTT broker

① 命令格式:
AT+MQTTCONN=<LinkID>,<"host">,<port>,<reconnect>
② 命令参数:
  • <LinkID>:当前仅支持 link ID 0。

  • <host>:MQTT broker 域名,最大长度:128 字节。

  • <port>:MQTT broker 端口,最大端口:65535。

  • <path>:资源路径,最大长度:32 字节。

  • <reconnect>

    • 0: MQTT 不自动重连。如果 MQTT 建立连接后又断开,则无法再次使用本命令重新建立连接,您需要先发送 AT+MQTTCLEAN=0 命令清理信息,重新配置参数,再建立新的连接。

    • 1: MQTT 自动重连,会消耗较多的内存资源。

  • <state>:MQTT 状态:

    • 0: MQTT 未初始化;

    • 1: 已设置 AT+MQTTUSERCFG;

    • 2: 已设置 AT+MQTTCONNCFG;

    • 3: 连接已断开;

    • 4: 已建立连接;

    • 5: 已连接,但未订阅 topic;

    • 6: 已连接,已订阅过 topic。

  • <scheme>

    • 1: MQTT over TCP;

    • 2: MQTT over TLS(不校验证书);

    • 3: MQTT over TLS(校验 server 证书);

    • 4: MQTT over TLS(提供 client 证书);

    • 5: MQTT over TLS(校验 server 证书并且提供 client 证书);

    • 6: MQTT over WebSocket(基于 TCP);

    • 7: MQTT over WebSocket Secure(基于 TLS,不校验证书);

    • 8: MQTT over WebSocket Secure(基于 TLS,校验 server 证书);

    • 9: MQTT over WebSocket Secure(基于 TLS,提供 client 证书);

    • 10: MQTT over WebSocket Secure(基于 TLS,校验 server 证书并且提供 client 证书)。

③ 实际配置方式:
  • 服务器地址:bemfa.com
  • 普通端口:9501
AT+MQTTCONN=0,"bemfa.com",9501,1

4、巴法云MQTT发布和订阅Topic

        MQTT(Message Queuing Telemetry Transport)协议是一种轻量级的消息协议,专为低带宽、不可靠或高延迟的网络环境设计,广泛应用于物联网(IoT)领域。MQTT的工作方式基于发布/订阅(publish/subscribe)模式,这种机制允许消息的生产者(发布者)和消费者(订阅者)之间解耦。

        在MQTT中,设备或应用程序可以扮演发布者(Publisher)或订阅者(Subscriber)的角色,或者同时扮演两者。当设备1号订阅了一个特定的Topic时,它实际上是在告诉MQTT代理(Broker):“我对这个Topic上的消息感兴趣,请将它们转发给我。”MQTT代理是MQTT网络中的核心组件,负责消息的存储和转发。

        随后,当设备2号(或任何其他发布者)向这个Topic发布消息时,MQTT代理会检查哪些订阅者订阅了这个Topic,并将消息推送给这些订阅者。因此,设备1号由于已经订阅了这个Topic,所以会自动接收到设备2号发送的数据。

        这种机制提供了高度的灵活性和可扩展性,因为发布者和订阅者之间不需要直接通信,也不需要知道对方的存在或状态。它们只需关注自己感兴趣的Topic,MQTT代理会处理消息的传递和分发。这使得MQTT成为物联网场景中实现设备间通信和数据交换的理想选择。

具体理解:

        MQTT通信 是当 设备1号 订阅了这个的 Topic 后,另外一个 设备2号 通过这个 Topic 发布数据,设备1号 由于订阅了这个 Topic 就会自动接收 设备2号 发送的数据。

(1)订阅MQTT的Topic信息

① 命令格式:
AT+MQTTSUB=<LinkID>,<"topic">,<qos>
② 命令参数:

  • <LinkID>:当前仅支持 link ID 0。

  • <state>:MQTT 状态:

    • 0: MQTT 未初始化;

    • 1: 已设置 AT+MQTTUSERCFG;

    • 2: 已设置 AT+MQTTCONNCFG;

    • 3: 连接已断开;

    • 4: 已建立连接;

    • 5: 已连接,但未订阅 topic;

    • 6: 已连接,已订阅过 MQTT topic。

  • <topic>:订阅的 topic。

  • <qos>:订阅的 QoS。

实际配置方式:
AT+MQTTSUB=0,"Atopic111",0

 

(2)发布MQTT的Topic信息

① 命令格式:
AT+MQTTPUB=<LinkID>,<"topic">,<"data">,<qos>,<retain>
② 命令参数:
  • <LinkID>:当前仅支持 link ID 0。

  • <topic>:MQTT topic,最大长度:128 字节。

  • <data>:MQTT 字符串消息。

  • <qos>:发布消息的 QoS,参数可选 0、1、或 2,默认值:0。

  • <retain>:发布 retain。

实际配置方式:

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

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

相关文章

【AI大模型】自动辅助驾驶的“大模型”时代

&#x1f388;边走、边悟&#x1f388;迟早会好 一、自动辅助驾驶实现与设计 1. 系统架构 1.1. 传感器系统 摄像头&#xff1a;提供前视、侧视、后视等多角度图像数据&#xff0c;用于检测车道线、交通标志、行人和其他车辆。雷达&#xff08;RADAR&#xff09;&#xff1a…

【python】PyQt5中QRadioButton的详细用法教程与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

论文速递 | Operations Research 6月文章合集

编者按&#xff1a; 在本系列文章中&#xff0c;我们梳理了运筹学顶刊Operations Research在2024年6月份发布的9篇相关文章的基本信息&#xff0c;旨在帮助读者快速洞察领域新动态。 推荐文章1 题目&#xff1a;Tight Guarantees for Multiunit Prophet Inequalities and On…

list模拟实现--用节点封装的迭代器问题

目录 一、list的使用 1.1list的构造 1.2list的iterator ​编辑 1.3 list的capacity 1.4 list的element access ​编辑 1.5list的mdifiers ​编辑 二、list的迭代器失效问题 三、list的模拟实现 3.1定义一个节点类 3.2用节点去封装迭代器 编译器对->的优化问题 …

JavaScript做网页是否过期的处理

通过路由上的参数生成唯一md5和路由上token做验证_md5 token-CSDN博客 前言&#xff1a;基于这篇文章我们做网页是否超时&#xff0c;网页是否过期的处理。打开一个网页允许他在一定时间内可以访问&#xff0c;过了这个时间就不可以访问了&#xff0c;encrypt是h5加密方法&…

数据仓库基础理论—维度建模(图文详解)

数据仓库基础理论—维度建模 维度建模是数据仓库设计中的一种核心方法&#xff0c;旨在以业务角度组织数据&#xff0c;使其更易于理解、查询和分析。 1. 维度模型的基本概念 1.1 事实表&#xff08;Fact Table&#xff09;&#xff1a; 事实表是维度模型的核心&#xff0…

ARM编程指令二

一、算术指令 1. add指令 功能: 将两个操作数相加&#xff0c;并将结果存储在目标寄存器中。 ADD R0, R1, R2 // R0 R1 R22. sub指令 功能: 将第二个操作数从第一个操作数中减去&#xff0c;并将结果存储在目标寄存器中。 SUB R0, R1, R2 // R0 R1 - R23.ADC指令- 带…

强化学习机械臂

一.前言 这里记录一下我学习强化学习的一些知识&#xff0c;并希望在今后可以通过仿真成功验证算法&#xff0c;如果时间允许的情况下希望可以结合到真实机械臂上。 二.学习过程 机械臂强化学习实战&#xff08;stable baselines3panda-gym&#xff09; 这里我先用anaconda创…

【原创教程】电气电工常用剥线钳和压线钳(入门篇)

今天我们来看一下电气电工经常会用到的工具&#xff0c;剥线钳和压线钳。 首先我们看剥线钳做什么用&#xff1f;主要就是剥线&#xff0c;让内部的铜丝裸露。我们来看一下&#xff0c;我们经常用到的剥线钳。 1、带刃口剥线钳 2、自动剥线钳 3、鸭嘴剥线钳 下面看压嘴剥线钳…

Nodejs的使用

1.安装nodejs服务器。 java 项目可以运行在 tomcat 服务器&#xff0c;开始完成前后端完全分离。前端有自己独立的工程。我们需 要把前端独立的工程运行起来。 --- 运行在 nodejs 服务器下。 理解为 tomcat 服务器 安装成功后在命令窗口查看 1.1 安装npm java 项目需要依赖…

finalshell连接kali-Linux失败问题略谈

如果你正在使用fianlshell或者xshell等终端软件远程连接Linux进行工作&#xff0c;但是突然有一天&#xff0c;你死活连不上了&#xff0c;报错提示如下&#xff1a; java.net.ConnectException: Connection refused: connect 就像这样&#xff1a; 哪怕是重装虚拟机&#xff0…

HardSignin _ 入土为安的第十二天

有壳 55 50 58 用010 把vmp改成upx ctrlf2,查找main函数 点第三个 Ctrlx交叉引用 把花指令改了90 一共三处 找db按c 找函数按p封装&#xff0c;按f5反编译函数 smc 用pythonida绕一下 from ida_bytes import * addr 0x00401890 for i in range(170):patch_byte(addr i,…

排序算法----冒泡,插入,希尔,选择排序

冒泡排序 原理 冒泡排序实际上是交换排序&#xff0c;将大的数据通过交换的方式排到一边&#xff0c;依次进行 代码实现 void Swap(int* p1, int* p2) {int temp *p1;*p1 *p2;*p2 temp; }void BullerSort(int* a, int n) {for (int end n - 1; end > 0; end--){for …

卷积神经网络理论(CNN)·基于tensorflow实现

传统神经网络的输入是一维的数据(比如28*28的图片&#xff0c;需要转化为一维向量)。 而卷积神经网络的输入是一个三维的(比如RGB)。 结构 卷积神经网络有以下结构&#xff1a; 输入层卷积层池化层全连接层 输入层 顾名思义&#xff0c;输入层就是输入数据(可以是图片等数…

仅缺一位作者,年内书号

《工程测量学概论》缺第三 《风景园林设计与施工技术研究》缺第二 《对外汉语教学方法与实践研究》缺第三 《基于视觉传达设计下的民间艺术发展研究》缺第三 《英语教学基础与翻译技巧》缺第三 《博物馆学体系与博物馆探究学习》缺第三 《新时期高校辅导员工作与队伍建设研究》…

迈向数智金融:机器学习金融科技新纪元的新风采

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

怎么通过 ssh 访问远程设备

文章目录 什么是 SSH背景环境配置前置准备在 linux 系统中安装 ssh 组件 什么是 SSH ssh 全称是 Secure Shell, 有时候也被叫做 Secure Socket Shell, 这个协议使你能通过命令行的方式安全的连接到远端计算机。当连接建立就会启动一个 shell 会话&#xff0c;这时你就能在你的…

Kubernetes中间件监控指标解读

监控易是一款功能强大的IT监控软件&#xff0c;能够实时监控和分析各种IT资源和应用的状态&#xff0c;为企业提供全面而深入的监控服务。在Kubernetes中间件监控方面&#xff0c;监控易提供了详尽的监控指标&#xff0c;帮助用户全面了解Kubernetes集群的运行状态和性能表现。…

一键PDF翻译成中文,划重点轻松get

现在信息多得跟海一样&#xff0c;PDF文件里全是宝贵的资料和文章。但是&#xff0c;看着满屏幕的外国字&#xff0c;你是不是也头疼过&#xff1f;别发愁&#xff0c;今天咱们就来好好聊聊pdf翻译成中文的工具&#xff0c;帮你轻松搞定语言障碍&#xff0c;一点按钮&#xff0…

电测量数据交换DLMS∕COSEM组件第61部分:对象标识系统(OBIS)(上)

1.范围 GB/T 17215.6的本部分规定了对象标识系统(OBIS)的总体结构并将测量设备中的所有常用数据项映射到其标识代码。 OBIS为测量设备中的所有数据都提供唯一的标识符,不仅包括测量值,而且还包括仪表设备的配置或获取测量设备运行状态的抽象数据。本部分定义的ID代码用作标…