STM32+W5500+MQTT使用记录

2023-11-17

第一次尝试写博客,不为别的,为了积累一些知识和记录下使用的遇到的问题。

关于MQTT协议的介绍可以百度搜索或者在本论坛内查找,介绍的还是很多,而且介绍的很想学习,当然我也收藏了很多,一下主要介绍我使用时如何处理的。

1.实现MQTT协议,要基于TCPIP协议,则首先要能正确的使用W5500 ,并配置成客户端,可以正常的链接服务器并传输数据,关于W5500的使用,还在学习中,现在调试是基于原来的工程,所以省了很多时间调试。只是学习的如何写客户端。MQTT协议不论发布数据还是订阅数据,都是基于客户端的方式进行通信的,所以我感觉调试通客户端链接服务器并传输数据是比较重要的。

2.如何在自己的工程内添加MQTT协议,我使用的是开源的库,根据别人博客介绍进行添加到自己工程内。主要是修改几个函数如下,这个是自己根据使用中遇到的问题进行修改的.

3.MQTT库移植完成了,接下来就是该考虑如何进行数据发布了,刚开始一头雾水,就参考别人的历程,自己修改了,总是不能发布成功,之后偶然的机会,去掉了订阅号和ID标识的链接之传输订阅号,居然成功了.可是根据我检测数据发现,每次都是发布成功一次,失败一次.之后我就在每次发布完成后关闭链接,这样就没有遇到发布不成功的时候了,以为这样就算完成MQTT的程序了,后来根据串口打印出来的信息看到,每次都需要链接一次服务器,这就出现新的问题,难道MQTT每次发布数据都是这样的.之后就绪继续查找资料,可是发现介绍的很少.请教别人也很难得到明确的答案,可是和别人的服务器对接就在眼前,只能先这样硬着头皮用了.

4.对接的时候 用户那边也发现了这个问题,之后提出来了,这是时候得到明确的答案,MQTT发布数据,不需要每次都请求来链接服务器,只需要链接一次就可以了.既然知道了这个,接着就是想办法怎么实现了,可以把原来的发布消息拆分成两段程序,一个负责处理请求链接MQTT服务器,另外的则负责发布数据,在正确链接到服务器后再发布数据,之后完美解决了这个问题.正常联网发布数据没有问题.

5. 我在想这样发布数据突然把网线拔掉程序会怎么样,哈哈哈突然发现程序看门狗居然复位了,程序居然重新运行了,之后使用定时器进行处理这个问题.可以暂时解决掉这个问题了.

就写到这个了.W5500怎么自动获取IP地址呢?

继续百度吧,多积累经验!

  1. 下载MQTT的库:Paho https://github.com/eclipse/paho.mqtt.embedded-c

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32+W5500+MQTT使用记录 的相关文章

随机推荐

  • numpy广播机制

    NumPy的广播机制 文章目录 NumPy的广播机制 Broadcast 最简单的广播机制 稍微复杂的广播机制 广播机制到底做了什么 一个典型的错误案例 一个正确的经典示例 一种更便捷的计算方式 Broadcast 广播是numpy对不同形
  • 【计算机视觉

    文章目录 一 分割 语义相关 12篇 1 1 UniSeg A Unified Multi Modal LiDAR Segmentation Network and the OpenPCSeg Codebase 1 2 Learning S
  • IDEA导入eclipse项目

    第一步 File gt new gt Project from Existing Sources 导入已存在的项目 并选择要导入的文件或目录 第二步 选择eclipse选项 第三步 配置jdk 导入完成了 项目目录如图示 gt 开始配置mo
  • PCB 过孔简介

    做过 PCB 设计的最先了解的应该就是过孔了 因为有过孔的存在我们才能做出多层板 过孔应该是 PCB 中最简单的部分了 也是最容易被我们忽略的地方 常见的过孔分为两大类 1 用作各层之间的电气连接 2 用作器件的固定或定位 一 过孔的介绍
  • 如何判断三点共线

    如何判断三点共线 在二维坐标系中 给出三点A x1 y1 B x2 y2 C x3 y3 的坐标 判断三点共线的条件是 实质是判断有三个点组成的三角形面积为0 神爱世人 甚至将他的独生子 耶稣 赐给他们 叫一切信他的 不至灭亡 反得永生 圣
  • 智能制造面临的主要问题

    随着工业4 0的发展 工业互联网 智能制造 智能工厂等概念正在兴起 但从本质上讲 制造业的目标是利用大数据 人工智能 互联网等先进技术改造制造业 使制造业成为定制体验 创新交付的竞争核心 在逐步实施工业4 0和中国制造2025的背景下 国内
  • R语言-引用函数对象作为参数

    问题描述 如何在在R的函数中通过字符串调用别的函数 以下面为例子 testFun lt function Fun x lt 1 100 Fun x 解法 这个问题没什么其实很笨 就是想记录一下 1 直接调用 testFun lt funct
  • 文本后缀“SCRIPT_EXP”无效;未找到文文本运算符或文本运算符模板“operator ““““SCRIPT_EXP”

    今天下载了一份源码 然后在编译的时候出现了这个问题 我查阅了相关资料 解决方法有两个 下面列举一下 1 字符文件编码 Visual Studio编译器 首先选中代码当前页 然后文件 gt 打开 高级保存选项 选中GB2312 确定 2 空格
  • HBase篇(1)-特性与应用场景

    结束了Zookeeper篇 接下来我们来说下Google三驾马车之一BigTable的开源实现 HBase 要讲的内容暂定如下 这是第一篇我们先不聊技术实现 只讨论特性和场景 hbase的特点 千万级高并发 PB级存储 非结构化存储 动态列
  • 树莓派升级ubuntu mate 16.04 到 18.04

    gt gt gt sudo do release upgrade Checking for a new Ubuntu release Get 1 Upgrade tool signature 819 B Get 2 Upgrade tool
  • 理解 es6 class 中 constructor 方法 和 super 的作用

    首先 ES6 的 class 属于一种 语法糖 所以只是写法更加优雅 更加像面对对象的编程 其思想和 ES5 是一致的 function Point x y this x x this y y Point prototype toStrin
  • html鼠标经过状态,30种炫酷html5鼠标滑过图片标题显示效果

    这款插件集合和30种html5不同效果的鼠标滑过图片时标题动画效果 这个插件使用css 3D transforms和伪元素来制作动画效果 请确保你的浏览器支持这些css3特性 另外 在文本上使用css transitions时 火狐浏览器存
  • Appium 实现一个 apk 的二级页面的点击操作

    前言 在本文中 我们将介绍如何使用 Appium 和 Python 来实现一个 apk 的二级页面的点击操作 用例目标 实现一个 apk 的二级页面的点击操作 初始思路 进入到该界面的直接点击该 button 即可 遇到问题 1 启动不起来
  • Jenkins安装与入门(+Git+Docker)自动化交互

    https jenkins io zh yum install git y yum install jdk 8u171 linux x64 rpm y rpm qa grep java 如果过滤出open jdk 删掉防止冲突 yum in
  • 每天进步一点点【图的深度优先搜索与广度优先搜索】

    图是一种数据结构 其中节点可以具有零个或多个相邻元素 两个节点之间的连接称为边 节点也可以称为顶点 图分为三种 无向图 有向图 带权图 图的表示方式有两种 二维数组表示 邻接矩阵 链表表示 邻接表 邻接矩阵 邻接矩阵是表示图形中顶点之间相邻
  • R语言基本函数的学习(持续更新)

    目录 前言 Tidyverse包 arrange 函数 head 函数 filter 函数 select 函数
  • ubuntu server 14.04 启动 gnome(桌面) fail(失败)

    这个是不能进入gnome桌面 按alt f1登录后 执行命令 startx 就可以进入桌面显示了 具体是什么原因还不清楚 可以是安装一些软件或配置时候出现的问题吧 有人知道也可以告诉我原因 感谢
  • upload-labs通关详解

    目录 Pass 01 前端js验证 Pass 02 后端MIME验证 Pass 03 黑名单验证 Pass 04 黑名单验证 htaccess Pass 05大小写绕过 Pass 6 空格绕过 Pass 07 点绕过 Pass 08 DAT
  • 三极管的工作状态及电流关系

    三级管分为NPN和PNP两种 一 先来说说三极管3种工作状态的电压关系 1 放大 发射结正偏 集电结反偏 1 NPN UBE gt 0 UBC lt 0 2 PNP UBE lt 0 UBC gt 0 2 截止 放射结 集电结都反偏 1 N
  • STM32+W5500+MQTT使用记录

    第一次尝试写博客 不为别的 为了积累一些知识和记录下使用的遇到的问题 关于MQTT协议的介绍可以百度搜索或者在本论坛内查找 介绍的还是很多 而且介绍的很想学习 当然我也收藏了很多 一下主要介绍我使用时如何处理的 1 实现MQTT协议 要基于