Mqtt协议

mqtt应用层的协议,基于Tcp来实现的  :消息队列 遥感传输协议

它很适合于物联网的传感器和上位机之间的通信

他有几个特点:

1.轻量级

2.消耗更少的能量

3.持续连接

4.服务质量水平高一些

5.速度更快

其次mqtt是一种机器对机器、以数据为中心的轻量级协议 、其可以在资源受限的环境中运行,适合于物联网场景的应用。       

mqtt:

     与http的点对点连接不太一样,http是需要发布者订阅到订阅者的ip和端口然后进行这么一个点对点的通信

     而 mqtt不需要进行这么一个连接ip和端口的动作,只需要订阅相同的主题来进行通信即可,(前提是连接中心服务器)。

连接过程:

1.发布者发布主题主题是一个字符串),订阅者订阅这个主题,就会自动形成连接。

2.发送的内容叫做负载


使用流程:

这里的是最后大项目中用到的mqtt

1.搭建broker服务器端

   注意:这里搭建好之后记得使用命令开启服务器  服务器默认端口是1883

 2.模拟客户端

    这里是使用mqtt.fx来模拟客户端的收发数据   这是数据传递之前的设置界面。

   ( 注意ip地址是虚拟机的地址,订阅的主题要对应起来 下面的Client ID是仅能出现一次的ID,唯一标识)

注:在使用mqtt.fx之前要确保虚拟机和windows能ping通,且和网络也能ping通。

3.客户端的库移植

    这里移植的作用是简化发送和接收的流程,直接移植代码过来,使用的时候只需修改ip地址和订阅的主题和负载即可

4.进入发送或接收的代码中去进行信息修改来进行数据的收发。

位置如下

只需修改

两个文件即可。

    下面以subscri.c文件为例。

  5.打开mqtt.fx来进行数据收发

  先进行设置,设置ip地址,订阅主题,一方发送,则这里就是接收用,前提是第一部中已经打开了broker服务器,进行等待读写了

 6.连接和收发数据

connect上ip,然后订阅第四步中的主题。  下面写需要进行发送的文件,点击publish就可以进行发送了。

 

 可以看到已经正常收发成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值