物联网MQTT 协议测试

MQTT

MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。 它的设计思想是轻巧、开放、简单、规范,易于实现。 这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT)。

MQTT 服务器有多种,其中功能比较齐全的推荐有mosquitto,emqttd,Apache Apollo。其中安装mosquito过程中windows 存在各种异常,最后未搭建成功,改为选择emqttd 方式。

EMQTT 服务器搭建

  1. 下载windows安装源页面 http://emqtt.com/downloads

  2. 下载完成后解压,进入目录 \emqttd\bin

  3. 分别命令执行,启动MQTT服务器

  • emqttd console
  • emqttd install
  • emqttd start

4. 启动浏览器访问网页

特别说明,在执行命令后,注意防火墙选择允许访问方式。三条命令运行完成后,会自动处于运行状态。保持当前窗口,然后启动浏览器访问http://127.0.0.1:18083 (默认账户用户名:admin,密码public)服务器地址可修改,默认为本地回环ip地址127.0.0.1

客户端工具配置

客户端工具较多,下文主要介绍windows常见的MQTT.FX 和MQTTBox两种客户端,使用过程中二选一即可。

MQTT.FX 配置

  1. 下载软件,国内地访问下载需要VPN FQ。安装软件如下图
  2. 点击设置按钮,配置相应的选项,再点击connect 连接至服务器(默认情况下不需要配置)
  3. 选择本地服务器localmosqultto默认配置
  4. 如果测试远程,在设置中选择M2M Ecipse,并在Broker Address中设定远程地址

 

MQTTBox 工具配置

除了MQTT.FX,还可以选择MQTTBox, 相关windows 详细如下 http://workswithweb.com/mqttbox.html

  1. 安装MQTTBox后启动MQTTBox,菜单栏中选择“Ceate MQTT Client”

 

  1. 在配置选项中,设置如下默认配置,指定服务器地址127.0.0.1,登陆账户密码自设定

  1. 进入刚已创建的客户端,点击连接(步骤1)查看连接状态,绿色connected显示当前成功连接服务器。

  2. 分别建立publisher 发送端 和 subscriber 收取端。下图仅方便演示,将发送和接收窗口合并在一个客户端,但实际测试或应用中,下图步骤2 和 下图步骤3 应分别在两台设备电脑A和电脑B上,详细见下节测试搭建。

  3. 为了测试当前环境状态,可以模拟客户端判断环境是否正常。点击Subscribe(上图步骤4)后,再点击Publish(上图的步骤5)。payload 的数据选择json或字符串等形式,如实例中的JSON {“hello”:“world”}

  4. 在发出publish后,右侧Subscriber框立即收取到刚实例中的“hello world”字串。至此,验证客户端搭建验证完成。

 

MQTT测试

  1. 环境搭建

    测试本地环境时,本地网络拓扑图如下

另外补充说明,若是远程服务器,只需修改PC server的IP地址配置为外网地址。如果是测试路由器链路,还可简化一台电脑和一台测试路由器的环境搭建方式。使用本地127.0.0.1 作为服务器,整体配置原理如下图

 

  1. 在客户端上添加Subscriber,此时服务器里已经连入2台设备,此两台设备可以通过服务器来实现通信

  1. 测试路由器客户端。配置服务器地址本地分配地址(路由器实际分配地址),将路由器作为客户端

  2. 可直接在串口命令 输入  simple_publisher 192.168.0.2 1883 string {'hello':'world'},在客户端subscriber中收取正确信息

 

猜你喜欢

转载自www.cnblogs.com/nerocm/p/10331375.html