MQTT协议概述及其应用

MQTT

概述

MQTT协议是一种基于TCP/IP协议的轻量级实时通讯协议,采用发布订阅模式,与Http相比能够主动推送信息给客户端,与WebSocket相比也更加轻量级,往往用于物联网。

MQTT在使用时主要有三部分 发布者,订阅者,代理服务器。订阅者连接代理服务器,订阅相关主题。发布者向代理服务器发送对应主题的内容,代理服务器会将其广播给所有订阅了该主题的发布者。

目前常用的开源MQTT代理服务器有Mosquitto、EMQTTD。阿里云,百度也有提供商用的IOT平台。
常用的MQTT客户端(发布者订阅组件)有Paho。

QoS

QoS是MQTT协议的收发数据的一种可靠性约定一共有三种

  1. QOS_LEVEL_EXACTLY_ONCE 订阅者能够准确接受到一数据
  2. QOS_LEVEL_AT_MOST_ONCE 订阅者会最多接受到一次数据
  3. QOS_LEVEL_AT_LEAST_ONCE 订阅者最少会接受到一次数据

应用场景

实习遇到一个需求,需要将机器人传感器上的数据实时推送给多个移动监控设备。查阅资料采用MQTT协议的物联网服务器往往可以承担这个功能。

配置mosquitto服务器

首先需要一个云服务器,我这里用的是阿里云轻量级应用服务器,装的Centos7。在服务器安装Mosquitto,并且启动Mosquitto服务的步骤如下:

下载mosquitto软件包

yum install mosquitto

通过如下命令查看是否已经安装完成

yum list installed | grep mosquitto

安装完成后通过如下命令启动mosquitto主程序

mosquitto -v 

启动后显示如下
在这里插入图片描述

发布者

这里使用Paho提供的C# api来给出一个Demo

using System;
using uPLibrary.Networking.M2Mqtt;
using System.Net;
using System.Net.Sockets;
using System.Security.Cryptography.X509Certificates;
using System.Buffers;
usi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值