欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

物联网通信之——Mqtt

程序员文章站 2022-03-07 18:28:49
总述Mqtt是目前物联网使用最广泛的通信之一,底层是基于TCP连接进行数据通信,采用订阅/发布的通信协议,非常适合低带宽、低开销的硬件终端场景使用。设备: 可发布,可订阅到主题代理服务器: 缓存消息数据,接收发布消息并转发给订阅的设备Linux搭建Mqtt服务器1、 安装mosquittosudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppasudo apt-get updatesudo apt-get install mosquit...

总述

Mqtt是目前物联网使用最广泛的通信之一,底层是基于TCP连接进行数据通信,采用订阅/发布的通信协议,非常适合低带宽、低开销的硬件终端场景使用。

设备: 可发布,可订阅到主题
代理服务器: 缓存消息数据,接收发布消息并转发给订阅的设备

Linux搭建Mqtt服务器

1、 安装mosquitto

  • sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
  • sudo apt-get update
  • sudo apt-get install mosquitto

2、查看运行状态

  • sudo service mosquitto status

3、停止与运行

  • sudo service mosquitto start
  • sudo service mosquitto stop

4、用户配置

  • /etc/mosquitto/conf.d/default.conf 此文件为用户与密码保存的路径设置
  • allow_anonymous false 不允许匿名登录
    password_file /etc/mosquitto/passwd
    复制以上至第一步路径文件
  • sudo mosquitto_passwd -c /etc/mosquitto/passwd 用户名

5、本地模拟设备

  • 安装客户端 sudo apt-get install mosquitto-clients
参数 作用
-h 代理服务器主机地址
-t 指定主题
-u 用户名
-P 用户密码
-i 客户端ID
-m 发布消息内容
-q 消息等级 0最多发一次 1最少发一次 2仅发一次(保证设备端有且接收到一次)
  • 发布示例

  • mosquitto_sub -h localhost -t “test” -u test1 -P 1 -i “client1”

  • 订阅示例
    mosquitto_pub -h localhost -t “test” -u test1 -P 1 -i “client2” -m “hello, world!”

物联网通信之——Mqtt

xr808、xr872连接

使用例程mqtt

1、添加联网操作
物联网通信之——Mqtt
连接路由成功后,会在事件里创建mqtt线程

2、连接参数修改

#define MQTT_DEMO_HOST_NAME 你的电脑ip
#define MQTT_DEMO_USERNAME 非匿名登录填写,登录用户名
#define MQTT_DEMO_PASSWORD 非匿名登录填写,登录用户密码

3、实验结果
订阅与发布的都是同一Topic,故设备端接收的数据就是发布的
物联网通信之——Mqtt

本文地址:https://blog.csdn.net/tulongyongshi/article/details/108181149