江汉大学刘春萌同学整理的wifi模块 上传mqtt实验步骤

一.固件烧录

1.打开安信可官网

2.点击wifi模组系列的ESP8266

3.点击各类固件后选择固件号1471下载

4.打开烧录工具将下载的二进制文件导入并将后面的起始地址写为0x00000,下面勾选40mhz QIO 8Mbit点击start下载即可

二.本地部署mqtt服务器(windows)

1.下载mosquitto后有一个mosquitto.conf文件,该文件为配置文件,用记事本打开

2.先找到我们局域网的内网ip地址,在命令号下输入ipconfig

我的就是192.168.1.106

3.修改配置文件,打开刚刚打开的配置文件

在最下方(可以在任意位置修改),主要要修改三个值第一个是listener:该值的格式为 端口号/ip地址(mqtt默认的端口号是1883)我就写1883了,那我的listener就是1883/192.168.1.106 第二个allow_anonymous该值是是否允许匿名登入我这边写的是false就是不允许匿名登入,填入true就是允许匿名登入;第三个是password_file该值的意思是用户信息的位置,我的位置就是在该目录下所以我的写入的值就是E:\mqtt\mosquitto\pwfile.example

4.部署完后重启下mqtt服务,win+r后输入services.msc找到Mosquitto Broker点击重启动即可。

三.增加用户信息

1.在mosquitto目录下的上方输入cmd按下回车

2. mosquitto_passwd -c pwfile.example 用户名:该命令相当于清楚所有的用户然后添加该用户mosquitto_passwd pwfile.example 用户名:该命令就是直接追加用户了那我这边就直接追加一个用户

用户名是user4,密码是1234。注意:密码不显示的,直接输入即可

我直接一共就有了4个用户user1、user2、user3、user4密码均是1234

四.部署mqttx

1.点击左边的加号

Name、Client ID随便填、Host的后面写入内网ip地址,也可就写入本机地址127.0.0.1,Username和Password要填入正确的,我这边填入的就是user1connect就行了。

2.先订阅一个主题topic1

五.ESP8266 01S发送消息(第一种方式)

依次发送以下AT指令

1. AT+CWMODE=1\r\n(设置客户端模式)

2. AT+CWJAP="120","Jhun1204"\r\n(填写wifi名称和密码,热点也可以)

3. AT+MQTTUSERCFG=0,1,"MQTT_ID","user2","1234",0,0,""\r\n(MQTT_ID填入客户端名称,后面依次填写设置好用户密码即可)

4. AT+MQTTCONN=0," 192.168.1.106",1883,0\r\n(后面两个填写自己的内网ip和端口,1883为默认的)

5. AT+MQTTPUB=0,"topic1 ","666",0,0\r\n(第一个双引号填写主题,第二个填写消息即可)

打开串口助手测试(波特率要为115200)

可以看到mqttx这边已经接受到了

六.ESP8266 01S发送消息(第二种方式)

依次发送以下指令

1.AT+CWMODE=1\r\n

2. AT+CWJAP="120","Jhun1204"\r\n

3. AT+CIPSTART="TCP"," 192.168.1.106",1883\r\n(后面填入ip和端口)

4. AT+CIPMODE=1\r\n(设置透传)

5. AT+CIPSEND\r\n(开始透传)

透传后相当于直接把数据发送到服务端,这边就要设备16进制发送按照mqtt协议发送即可

Mqttx这边已经收到了

我的两个十六进制为

1. 10 22 00 04 4D 51 54 54 04 C2 00 78 00 09 35 32 38 39 38 36 38 37 35 00 05 75 73 65 72 32 00 04 31 32 33 34

这个是连接,如果连接成功后,服务端会发送表示连接成功

2. 30 0B 00 06 74 6F 70 69 63 31 31 32 33

这个是像topic1发送123

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

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

相关文章

Java并发编程知识整理笔记

目录 ​1. 什么是线程和进程? 线程与进程有什么区别? 那什么是上下文切换? 进程间怎么通信? 什么是用户线程和守护线程? 2. 并行和并发的区别? 3. 创建线程的几种方式? Runnable接口和C…

Qt实现流动的管道效果代码示例

在现代图形用户界面(GUI)应用程序中,动态效果可以显著增强用户体验。本文将介绍如何使用Qt框架实现一个流动的管道效果。我们将通过自定义QWidget来绘制管道,并使用定时器来实现流动效果。 1. 准备工作 首先,确保你已…

HMI 的 UI 风格创造奇迹

HMI 的 UI 风格创造奇迹

Laravel5+mycat 报错 “Packets out of order”

背景 近期对负责项目,配置了一套 主从复制的 MySQL 集群 使用了中间件 mycat 但测试发现,替换了原来的数据连接后,会出现 Packets out of order 的报错 同时注意到,有的框架代码中竟然也会失效,比如 controller 类中&…

Linux:进程间通信(一.初识进程间通信、匿名管道与命名管道、共享内存)

上次结束了基础IO:Linux:基础IO(三.软硬链接、动态库和静态库、动精态库的制作和加载) 文章目录 1.认识进程间通信2.管道2.1匿名管道2.2pipe()函数 —创建匿名管道2.3匿名管道的四种情况2.4管道的特征 3.基于管道的进程池设计4.命…

Vue3学习笔记(n.0)

vue指令之v-for 首先创建自定义组件&#xff08;practice5.vue&#xff09;&#xff1a; <!--* Author: RealRoad1083425287qq.com* Date: 2024-07-05 21:28:45* LastEditors: Mei* LastEditTime: 2024-07-05 21:35:40* FilePath: \Fighting\new_project_0705\my-vue-app\…

重载一元运算符

自增运算符 #include<iostream> using namespace std; class CGirl { public:string name;int ranking;CGirl() { name "zhongge"; ranking 5; }void show() const{ cout << "name : "<<name << " , ranking : " <…

cmake编译源码教程(一)

1、介绍 本次博客介绍使用cmake编译平面点云分割的源代码,其对室内点云以及TLS点云中平面结构进行分割,分割效果如下: 2、编译过程 2.1 源代码下载 首先,下载源代码,如下所示,在该文件夹下新建一个build文件夹,用于后续生成sln工程。 同时,由于该库依赖open…

自动化设备上位机设计 二

目录 一 设计原型 二 后台代码 一 设计原型 二 后台代码 namespace 自动化上位机设计 {public partial class Form1 : Form{public Form1(){InitializeComponent();timer1.Enabled true;timer1.Tick Timer1_Tick;}private void Timer1_Tick(object? sender, EventArgs e)…

您的私人办公室!-----ONLYOFFICE8.1版本的桌面编辑器测评

随时随地创建并编辑文档&#xff0c;还可就其进行协作 ONLYOFFICE 文档是一款强大的在线编辑器&#xff0c;为您使用的平台提供文本文档、电子表格、演示文稿、表单和 PDF 编辑工具。 网页地址链接&#xff1a; https://www.onlyoffice.com/zh/office-suite.aspxhttps://www…

AJAX-day1:

注&#xff1a;文件布局&#xff1a; 一、AJAX的概念&#xff1a; AJAX是浏览器与服务器进行数据通信的技术 >把数据变活 二、AJAX的使用&#xff1a; 使用axios库&#xff0c;与服务器进行数据通信 基于XMLHttpRequest封装&#xff0c;代码简单 Vue,React项目使用 学习…

哪个品牌的加密软件稳定方便使用?

一、什么是企业加密软件&#xff1f; 企业加密软件是一种用于保护企业内部数据安全的工具。在数字化时代&#xff0c;随着数据量的爆炸式增长&#xff0c;信息安全和隐私保护变得愈发重要。企业加密软件作为保障数据安全的关键工具&#xff0c;受到越来越多用户的青睐。 企业…

昆虫学(书籍学习资料)

包括昆虫分类&#xff08;上下册&#xff09;、昆虫生态大图鉴等书籍资料。

如何使用 SwiftUI 构建 visionOS 应用

文章目录 前言WindowsVolumes沉浸式空间结论 前言 Apple Vision Pro 即将推出&#xff0c;现在是看看 SwiftUI API 的完美时机&#xff0c;这使我们能够将我们的应用程序适应 visionOS 提供的沉浸式世界。苹果表示&#xff0c;构建应用程序的最佳方式是使用 Swift 和 SwiftUI。…

2024年软件测试岗必问的100+个面试题【含答案】

一、基础理论 1、开场介绍 介绍要领&#xff1a;个人基本信息、工作经历、之前所做过的工作及个人专长或者技能优势。扬长避短&#xff0c;一定要口语化&#xff0c;语速适中。沟通好的就多说几句&#xff0c;沟通不好的话就尽量少说两句。举例如下&#xff1a; 面试官你好&…

鸿蒙 HarmonyOs 网络请求 快速入门

官方文档&#xff1a; ArkUI简介-ArkUI&#xff08;方舟UI框架&#xff09;-应用框架 | 华为开发者联盟 (huawei.com) 一、通过原有的http组件进行网络请求&#xff08;方式一&#xff09; 1.1 HttpRequestOptions的操作 名称类型描述methodRequestMethod请求方式&#xff…

12款超良心好用APP推荐,每一款都值得下载!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/分享是奉献的果实&#xff0c;分享是快乐的前提。每天给小伙伴们分享自己认可的软件&#xff0c;也是莫大的幸福&#xff0c;今天获得12款好用的软…

class类和style内联样式的绑定

这里的绑定其实就是v-bind的绑定&#xff0c;如代码所示&#xff0c;div后面的引号就是v-bind绑定&#xff0c;然后大括号将整个对象括起来&#xff0c;对象内先是属性&#xff0c;属性后接的是变量&#xff0c;这个变量是定义在script中的&#xff0c;后通过这个变量&#xff…

flutter:监听路由的变化

问题 当从路由B页面返回路由A页面后&#xff0c;A页面需要进行数据刷新。因此需要监听路由变化 解决 使用RouteObserver进行录音监听 创建全局变量&#xff0c;不在任何类中 final RouteObserver<PageRoute> routeObserver RouteObserver<PageRoute>();在mai…

面试-微服务篇

springcloud组件有哪些&#xff1f; eureka、ribbon负载均衡、feign、hystrix、zuul/gateway网关 nacos、ribbon、feign、sentinel、gateway 服务注册和发现是什么意思&#xff1f;springcloud如何实现服务注册发现&#xff1f; 微服务中必须要使用的组件&#xff0c;考察我们使…