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

news2024/12/26 21:18:35

一.固件烧录

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.coloradmin.cn/o/1898526.html

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

相关文章

数据驱动下的SaaS渠道精细化运营:提升ROI的实战指南

在当今数字化转型的大潮中,SaaS(Software as a Service)企业面临着日益激烈的市场竞争。为了在市场中脱颖而出,实现可持续增长,SaaS企业必须转向更为精细化的运营模式,而数据驱动则是实现这一目标的关键。本…

NoSQL 非关系型数据库 Redis 的使用:

redis是基于内存型的NoSQL 非关系型数据库,本内容只针对有基础的小伙伴, 因为楼主不会做更多的解释,而是记录更多的技术接口使用,毕竟楼主不是做教学的,没有教学经验。 关于redis的介绍请自行搜索查阅。 使用redis数据…

Java后端每日面试题(day3)

目录 Spring中Bean的作用域有哪些?Spring中Bean的生命周期Bean 是线程安全的吗?了解Spring Boot中的日志组件吗? Spring中Bean的作用域有哪些? Bean的作用域: singleton:单例,Spring中的bean默…

一种频偏估计与补偿方法

一种简易的频偏估计补偿方法,使用QAM等信号。估计精度受FFT长度限制,可以作为粗频偏估计。 Nfft 1024; % FFT长度 N 10*Nfft; % 仿真符号数 M 16; % 调制QAM16 freq 1e…

PDF合并怎么做?分享几种简单好用的PDF合并方法

PDF文件以其良好的兼容性和稳定的格式,成为了我们日常办公、学习不可或缺的一部分。然而,随着PDF文件的不断增多,如何高效管理这些文件,特别是如何将多个PDF文件合并成一个,成为了许多人头疼的问题。下面给大家分享几款…

超参数优化方法之贝叶斯优化实现流程及代码

超参数优化方法之贝叶斯优化实现流程及代码 在机器学习模型的训练过程中,超参数的选择往往对模型性能有着决定性的影响。贝叶斯优化作为一种高效的超参数调优方法,以其在高维空间中的搜索效率和对最优化问题的独特见解而受到关注。本文将深入探讨贝叶斯…

CTF常用sql注入(三)无列名注入

0x06 无列名 适用于无法正确的查出结果,比如把information_schema给过滤了 join 联合 select * from users;select 1,2,3 union select * from users;列名被替换成了1,2,3, 我们再利用子查询和别名查 select 2 from (select 1,2,3 union select * f…

QT 布局演示例子

效果 源码 #include <QApplication> #include <QWidget> #include <QSplitter> #include <QVBoxLayout> #include <QLabel>int main(int argc, char *argv[]) {QApplication app(argc, argv);QWidget mainWidget;mainWidget.setWindowTitle(&qu…

适合金融行业的国产传输软件应该是怎样的?

对于金融行业来说&#xff0c;正常业务开展离不开文件传输场景&#xff0c;一般来说&#xff0c;金融行业常用的文件传输工具有IM通讯、邮件、自建文件传输系统、FTP应用、U盘等&#xff0c;这些传输工具可以基础实现金融机构的文件传输需求&#xff0c;但也存在如下问题&#…

价值499的从Emlog主题模板PandaPRO移植到wordpress的主题

Panda PRO 主题&#xff0c;一款精致wordpress博客主题&#xff0c;令人惊叹的昼夜双版设计&#xff0c;精心打磨的一处处细节&#xff0c;一切从心出发&#xff0c;从零开始&#xff0c;只为让您的站点拥有速度与优雅兼具的极致体验。 从Emlog主题模板PandaPRO移植到wordpres…

VCL界面组件DevExpress VCL v24.1 - 发布全新的矢量主题

DevExpress VCL是DevExpress公司旗下最老牌的用户界面套包&#xff0c;所包含的控件有&#xff1a;数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验&#xff0c;提供高影响力的业务解决方案&#xff0c;并利用您现有的VCL技能为未来构建下一代应用程…

CNN文献综述

卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff09;是深度学习领域中的一种重要模型&#xff0c;主要用于图像识别和计算机视觉任务。其设计灵感来自于生物学中视觉皮层的工作原理&#xff0c;能够高效地处理图像和语音等数据。 基本原理…

Vue 邮箱登录界面

功能 模拟了纯前端的邮箱登录逻辑 还没有连接后端的发送邮件的服务 后续计划&#xff0c;再做一个邮箱、密码登录的界面 然后把这两个一块连接上后端 技术介绍 主要介绍绘制图形人机验证乃个 使用的是canvas&#xff0c;在源码里就有 界面控制主要就是用 表格、表单&#x…

哏号分治,CF103D - Time to Raid Cowavans

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 103D - Time to Raid Cowavans 二、解题报告 1、思路分析 想了半天数据结构最终选择根号分治 我们考虑 大于 550 的公差直接暴力 小于550 的公差的所有询问&#xff0c;我们直接计算该公差后缀和&#xf…

Ubuntu 22.04.4 LTS 安装 php apache LAMP 环境nginx

1 安装php-fpm apt update apt-get install php-fpm #配置php-fpm服务启动 systemctl enable php8.1-fpm systemctl start php8.1-fpm #查看服务 systemctl status php8.1-fpm #查看版本 rootiZbp1g7fmjea77vsqc5hmmZ:~# php -v PHP 8.1.2-1ubuntu2.18 (cli) (built: J…

植物学(书籍学习资料)

包含观赏植物学、植物学、植物学百科图鉴等多本植物学方面的书籍学习资料。 图2、3为观赏植物学截图&#xff1b; 图4、5为植物学百科图鉴截图&#xff1b; 图6、7为植物学学习指南截图。

【网络安全】第4讲 身份认证技术(笔记)

一、身份认证技术概述 1、身份认证 是网络安全的第一道防线。是最基本的安全服务&#xff0c;其他的安全服务都依赖于它。在物联网应用系统中&#xff0c;身份认证也是整个物联网应用层信息安全体系的基础。 2、基本身份认证技术 &#xff08;1&#xff09;双方认证 是一种双…

数据结构——队列练习题

在C语言中&#xff0c;.和->运算符用于访问结构体的成员变量。它们之间的区别在于&#xff1a;.运算符用于访问结构体变量的成员。->运算符用于访问结构体指针变量的成员 1a&#xff08;rear指向队尾元素后一位&#xff0c;判空判满时牺牲一个存储单元&#xff09; 首先…

Linux系统安装青龙面板结合内网穿透实现使用公网地址远程访问

文章目录 前言一、前期准备本教程环境为&#xff1a;Centos7&#xff0c;可以跑Docker的系统都可以使用。本教程使用Docker部署青龙&#xff0c;如何安装Docker详见&#xff1a; 二、安装青龙面板三、映射本地部署的青龙面板至公网四、使用固定公网地址访问本地部署的青龙面板 …

ASP.NET Core 使用Log4net

1. Nuget安装log4net&#xff0c;图里的两个 2.项目根目录下添加log4net.config.添加下面的代码: <?xml version"1.0" encoding"utf-8"?> <configuration><!-- This section contains the log4net configuration settings --><log…