利尔达NT90的 CAT1模组 使用MQTT连接 onenet studio

  1. 先添加产品

添加设备

  1. MQ消息队列是什么用途?只是定时下发数据的?是发给第三方服务器的,比如设备上线,那么服务器就会收到一个推送消息

  2. 可以使用 psotman 这个软件,添加设备

  3. 使用 mqtt.fx 测试一下连接,产品ID 和设备key 可以在设备详情里面看到

然后用模拟器生成MQTT的密码

  1. 用板子登录试试,可以成功

  2. 第5个参数是CleanSession

CleanSession 标记
在Connect时,由客户端设置
0 —— 开启会话重用机制。网络断开重连后,恢复之前的Session信息。需要客户端和服务器有相关Session持久化机制。
1 —— 关闭会话重用机制。每次Connect都是一个新Session,会话仅持续和网络连接同样长的时间。

问:问个mqtt协议的问题,cleansession为什么要区别0和1,他们各自的用途和应用场景是什么?

答:为 1 的时候,服务器每次session 都要重新建立,这也是大多数的场景使用情况;

为 0 的时候可以复用历史的session, 服务端session 是有状态的,可以记录很多信息。

为 0的时候就可以保留 session 了,这个保留的session 是有用的,如果服务端实现了的话,像历史没发出去的消息等等,鉴权信息,等等,可以接着使用。你可以类比我们登陆网页的那个session,没过期的话,可以不用登陆了。

说白了,想接收离线消息,就必须使用cleansession=0,这个就是=0的应用场景:

不管clean session的值是什么,当终端设备离线时,QoS=0,1,2的消息一律接收不到。
当clean session的值为1,当终端设备离线再上线时,离线期间发来QoS=0,1,2的消息一律接收不到。
当clean session的值为0,当终端设备离线再上线时,离线期间发来QoS=0,1,2的消息仍然可以接收到。如果同个主题发了多条就接收多条,一条不差,照单全收。

Original: https://www.cnblogs.com/429512065qhq/p/15814821.html
Author: 429512065
Title: 利尔达NT90的 CAT1模组 使用MQTT连接 onenet studio

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/541896/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java开发入门①

    Java语言 Java语言的特点 什么是JDK? 安装JDK JDK目录 第一个Java程序 path环境变量 classpath环境变量 Java的运行机制 博客内容是本人自学j…

    Java 2023年6月13日
    089
  • 68.可能否

    sfsd posted @2022-09-28 08:39 随遇而安== 阅读(5 ) 评论() 编辑 Original: https://www.cnblogs.com/55zj…

    Java 2023年6月7日
    079
  • 大厂是怎么进行SQL调优的?

    这天我正在午休呢,公司DBA就把我喊醒了,说某库出现大量慢SQL,很快啊,很快,我还没反应过来,库就挂了,我心想现在的用户不讲武德啊,怎么在我睡觉的时候大量请求呢。 这是很常见的一…

    Java 2023年6月9日
    065
  • 【Java】【52】处理报错:java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

    前言:项目需求:将一个逗号分隔的字符串转换成list,然后将该list克隆后赋值给一个新的newList。执行时出现了标题中的报错 正文: 原代码 参考博客: Original: …

    Java 2023年5月29日
    065
  • Java开发笔记(一百五十二)Date工具的时间格式

    Java开发经常要把当前时间转为字符串,比如”2020-07-08 22:59:48″这样,此时会用到格式化工具SimpleDateFormat,该工具通过…

    Java 2023年6月6日
    083
  • Spring框架各Jar包说明

    常用Jar包说明: 这个jar 文件包含Spring 框架基本的核心工具类。Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用…

    Java 2023年5月30日
    076
  • java学习之SpringMVC

    Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。 Spring MVC 是结构最清晰的 Servl…

    Java 2023年6月13日
    083
  • Java基础(一)

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月7日
    087
  • 堆的shiftup以及shiftdown

    目录 堆的 shift up Java 实例代码 堆的 shift down Java 实例代码 堆的 shift up 本小节介绍如何向一个最大堆中添加元素,称为 shift u…

    Java 2023年6月5日
    056
  • 「SpringBoot」如何优雅地启动管理SpringBoot项目

    本文主要讲述一下如何优雅地管理SpringBoot项目。 背景 课堂上,当小明形如流水地回答完沐芳老师提出来的问题时,却被至今没有对象的胖虎无情嘲讽了? 沐芳老师:小明,你平时是如…

    Java 2023年6月13日
    097
  • 基于Redisson的延迟队列实现

    package com.dong.mytest.demo.client; import cn.hutool.extra.spring.SpringUtil; import com….

    Java 2023年6月5日
    068
  • mysql 内部函数

    1. group_concat 返回一个字符串结果,该结果由分组中的值连接组合而成。 函数语法: group_concat( [DISTINCT] 要连接的字段 [Order BY…

    Java 2023年6月13日
    080
  • JAVA中 @Override 的作用

    编译器可以检测出这种写法是错误的 这样能保证你的确重写的方法正确 而如果不加@Override public String tostring(){…}这样编译器是不会报…

    Java 2023年5月29日
    096
  • VSCODE&shell常用操作git&github

    安装后首次配置git账户 本机首次安装git时,需要配置账户,例如: 查看本地当前安装git版本 git version 配置用户名 –global表示全局,即本地设置一次即可,…

    Java 2023年6月5日
    088
  • StatementHandler-Mybatis源码系列

    内容更新github地址:我飞 StatementHandler接口 StatementHandler封装了Mybatis连接数据库操作最基础的部分。因为,无论怎么封装,最终我们都…

    Java 2023年6月14日
    0100
  • Java maven反应堆构建学习实践

    实践环境 Apache Maven 3.0.5 (Red Hat 3.0.5-17) 应用示例 maven示例项目组织结构如下 maven-study │ p…

    Java 2023年6月16日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球