• 金年会jinnian

    menu
    search
     

    MQTT服务器|如何搭建MQTT服务器






     
      服务器端建议采用Mosquitto 1.14 Broker ( mqtt v3.1),它是一个开源的MQTT 代理
      Eclipse Mosquitto™是一个开放源代码的(EPL / EDL许可)消息代理。实现的MQTT协议版本3.1和版本3.1.1。一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,给予轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单
    mosquitto – 代理器主程序
    mosquitto.conf – 配置文件
    mosquitto_passwd – 用户密码管理工具
    mosquitto_tls – very rough cheat sheet for helping with SSL/TLS
    mosquitto_pub – 用于发布消息的命令行客户端
    mosquitto_sub – 用于订阅消息的命令行客户端
    mqtt – MQTT的后台进程
    libmosquitto – 客户端编译的库文件 
     
    CentOS上安装mosquitto
     
          复制下面文件到不同版本的 CentOS  的 /etc/yum.repos.d/目录下,你就能够用yum工具安装和更新最新版本的mosquitto。可用的包有: mosquitto, mosquitto-clients, libmosquitto1, libmosquitto-devel, libmosquittopp1, libmosquittopp-devel, python-mosquitto.
    防火墙上打开 1883 端口 
    步骤一: 为yum添加 CentOS mosquitto repository
    $ cd /etc/yum/yum.repos.d
    $ wget 
    http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-7/home:oojah:mqtt.repo
    http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-6/home:oojah:mqtt.repo
    $ sudo yum update
    步骤二: yum安装mosquitto
    $ sudo yum install mosquitto
    步骤三: 运行 mosquitto
    mosquitto 的CentOS发布版本没有init.d 脚本,但是也是很容易把mosquitto作为后台启动起来, 所以你必须在电脑重启后restart mosquitto 。 
    $ sudo su
    $ /usr/sbin/mosquitto -d -c /etc/mosquitto/mosquitto.conf > /var/log/mosquitto.log 2>&1 
    Mosquitto 现在已经运行起来了! 你现在可以用 mosquitto_pub and _sub来测试发布和订阅了。 
    步骤四:测试MQTT 
    #启动代理
    mosquitto -v
        【-v】打印更多的调试信息
     #订阅主题
    mosquitto_sub -v -t sensor -h 192.168.228.130 -p 1883
        【-t】指定主题,此处为sensor
        【-v】打印更多的调试信息
        【-h】指定代理服务的IP地址
        【-p】指定代理服务的端口号
     #发布内容
    mosquitto_pub -t sensor -m test_one -h 192.168.228.130 -p 1883
        【-t】指定主题,此处为sensor
        【-m】指定消息内容,此处为test_one
        【-h】指定代理服务的IP地址
        【-p】指定代理服务的端口号

    MQTT服务端测试DEMO  

    金年会jinnian给予MQTT网关以及MQTT服务端测试demo的大部分测试指令,开发者可以顺利获得修改MQTT接入参数后,顺利获得测试工具直接跟网关通信;顺利获得发送报文和返回的报文进行参考开发和设计。

    MQTT网关测试DEMO