精华内容
下载资源
问答
  • linux下搭建mqtt服务器环境

    千次阅读 2020-06-02 15:49:44
    Windows系统的同学可以移步:(里面提供的链接也是可以在linux下搭建mqtt服务器的):链接在此 sudo apt install mosquitto //获取mqtt服务器 输入完成后出现提示需要输入y,然后等到执行即可 不要apt命令的也可以...

    一,终端模式下命令

    之前我也写过一篇基于windows系统的。Windows系统的同学可以移步:(里面提供的链接也是可以在linux下搭建mqtt服务器的):链接在此

    sudo apt install  mosquitto //获取mqtt服务器
    输入完成后出现提示需要输入y,然后等到执行即可
    

    不要apt命令的也可以自己去下载之后进行安装:
    github下载地址:点击下载
    官网:点击下载

    给mosquitto设置用户名、密码
    参考链接
    mqtt客户端安装

    $mkdir  3drsrc
    $cd   3drsrc
    $sudo  apt   install  git
    $git clone https://github.com/eclipse/paho.mqtt.c.git
    $cd paho.mqtt.c/
    $mkdir build
    $cd build
    $sudo apt instll cmake
    $cmake   -DCMAKE_INSTALL_PREFIX=~/3rdlib  ../
    $make  
    $make  install
    

    执行成功之后如下:


    查看结构:

    查看端口:

    mospuitto -d//启动
    mospuitto -p//端口号
    


    如图所示,启动端口号为1234

    展开全文
  • linux下搭建mqtt服务

    2020-06-15 14:16:00
    目前如何搭建MQTT服务是个问题,先做个开头,近期补充。 https://blog.csdn.net/weixin_44498318/article/details/106551797?utm_medium=distribute.pc_feed.none-task-blog-alirecmd-1.nonecase&depth_1-utm_...
    展开全文
  • linux 下搭建mqtt服务器

    千次阅读 2018-07-19 15:16:46
    下载地址 http://emqtt.io/downloads/stable/centos7 这是稳定版本,你也可以安装最新版本 命令: wget  ... 解压安装包 unzip centos7 ...搭建mqtt服务器 python 安装mqtt paho-mqtt说明文档

    下载地址 http://emqtt.io/downloads/stable/centos7  这是稳定版本,你也可以安装最新版本
    命令: wget http://emqtt.io/downloads/stable/centos7

    解压安装包  unzip centos7

    cd emqttd

     ./bin/emqttd console

    让它后台运行 CTRL+C 两次

    开启:  ./bin/emqttd start

    关闭: ./bin/emqttd stop

    netstat -at   #查看mqtt 是否开启

    到此为止MQTT服务器已经完全搭建好了

    yum -y install python-pip

    pip install paho-mqtt

     

    参考:

    搭建mqtt服务器

    python 安装mqtt

    paho-mqtt说明文档

    展开全文
  • 或者不下载,直接在linux命令行下载:后面的版本可以根据自己的需要去更换。 $ wget https://mosquitto.org/files/source/mosquitto-1.6.10.tar.gz 执行第二步(安装依赖库)再来执行以下安装部分 //解压--> ...

    一、mosquitto源码下载
    下载地址:https://mosquitto.org/download/
    或者不下载,直接在linux命令行下载:后面的版本可以根据自己的需要去更换。

    $ wget https://mosquitto.org/files/source/mosquitto-1.6.10.tar.gz
    
    执行第二步(安装依赖库)再来执行以下安装部分
    //解压--> 进入目录 --> make 编译 --> 安装
    $ sudo apt install g++
    $ tar zxvf mosquitto-1.6.10.ar.gz
    $ cd mosquitto-1.6.10
    $ sudo make &&make install(没有make命令的就sudo apt install make)
    

    二、安装依赖库

    $ sudo apt-get install libssl-dev
    $ sudo apt-get install libc-ares-dev
    $ sudo apt-get install uuid-dev
    

    检测是否安装成功:
    在安装mosquitto成功后,可以在/usr/local/lib文件夹中有libmosquitto.so.1等文件
    如果实现源码安装不了的话,建议使用apt直接安装把。

    sudo apt-get install mosquitto mosquitto-clients
    
    $ cd /usr/local/lib
    $ ls
    

    三、链接动态库

    //创建链接
    $ sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
    //更新链接
    $ sudo ldconfig
    

    四、测试使用
    启动服务:

    mosquitto -v
    

    订阅主题

    mosquitto_sub -h localhost -t test -v
    

    发布主题和消息:

    mosquitto_pub -t topic -m hello
    

    我们就可以看到消息的通信了,只不过你没有购买云服务器,所以你只能在本地端进行消息通信。三个终端实现

    五、设置用户名和密码,建立安全连接
    先按照下面操作:

    cd /etc/mosquitto/conf.d
    sudo vi my.conf
    输入文件内容:
    allow_anonymous false
    password_file /etc/mosquitto/pwfile
    输完之后保存即可
    新建新的用户名和密码:
    在/etc/mosquitto目录下执行命令:
    sudo   mosquitto_passwd   -c   pwfile   用户名
    回车输入两次密码即可
    后台模式启动mosquitto
    sudo mosquitto  -d  -c   /etc/mosquitto/mosquitto.conf
     此时就启动服务了,这时就要你输入正确的用户名和密码才可以进行连接服务了。
    

    测试工具:mqttbox

    像上面一样,输入你自己的信息,点击save即可连接到你的mqtt服务。
    我来试试消息的通信。


    如图所示,消息通信成功。
    自此完成了mosquitto的搭建工作了。
    附赠mosquitto的选项知识

    -c 是指定配置文件的路径,默认不需要配置文件。
    -d 表示作为守护进程运行在后台。
    -p 用来指定监听的端口,默认是 1883 ,使用 TCP 连接,如果要使用 UDP 连接,需要设为 1884。
    -v 表示生成详细的运行日志,等价于配置文件中将 log_type 设为 all 。
    

    客户端接代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <mosquitto.h>
    #include <string.h>
     
    #define HOST "localhost"  //可以改为自己MQTT的服务器地址 如:#define HOST "106.xxx.xxx.xxx"  
    #define PORT  1883        //端口号
    #define KEEP_ALIVE 60
     
    bool session = true;
     
    void my_message_callback(struct mosquitto *mosq, void *userdata, const struct mosquitto_message *message)
    {
        if(message->payloadlen){
            printf("%s %s", message->topic, message->payload);
        }else{
            printf("%s (null)\n", message->topic);
        }
        fflush(stdout);
    }
     
    void my_connect_callback(struct mosquitto *mosq, void *userdata, int result)
    {
        int i;
        if(!result){
            /* Subscribe to broker information topics on successful connect. */
            mosquitto_subscribe(mosq, NULL, "pu", 2); //topic 主题:"pu"
        }else{
            fprintf(stderr, "Connect failed\n");
        }
    }
     
    void my_subscribe_callback(struct mosquitto *mosq, void *userdata, int mid, int qos_count, const int *granted_qos)
    {
        int i;
        printf("Subscribed (mid: %d): %d", mid, granted_qos[0]);
        for(i=1; i<qos_count; i++){
            printf(", %d", granted_qos[i]);
        }
        printf("\n");
    }
     
    void my_log_callback(struct mosquitto *mosq, void *userdata, int level, const char *str)
    {
        /* Pring all log messages regardless of level. */
        printf("%s\n", str);
    }
     
    int main()
    {
        struct mosquitto *mosq = NULL;
        //libmosquitto 库初始化
        mosquitto_lib_init();
        //创建mosquitto客户端
        mosq = mosquitto_new(NULL,session,NULL);
        if(!mosq){
            printf("create client failed..\n");
            mosquitto_lib_cleanup();
            return 1;
        }
        //设置回调函数,需要时可使用
        //mosquitto_log_callback_set(mosq, my_log_callback);
        mosquitto_connect_callback_set(mosq, my_connect_callback);
        mosquitto_message_callback_set(mosq, my_message_callback);
        //mosquitto_subscribe_callback_set(mosq, my_subscribe_callback);
        //客户端连接服务器
        if(mosquitto_connect(mosq, HOST, PORT, KEEP_ALIVE)){
            fprintf(stderr, "Unable to connect.\n");
            return 1;
        }
        //循环处理网络消息
        mosquitto_loop_forever(mosq, -1, 1);
     
        mosquitto_destroy(mosq);
        mosquitto_lib_cleanup();
     
        return 0;
    }
    

    客户端发代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <mosquitto.h>
    #include <string.h>
     
    #define HOST "localhost"  //可以改为自己MQTT的服务器地址 如:#define HOST "l06.xxx.xxx.xxx" 
    #define PORT  1883        //端口号
    #define KEEP_ALIVE 60
    #define MSG_MAX_SIZE  512
     
    bool session = true;
     
    int main()
    {
        char buff[MSG_MAX_SIZE];
        struct mosquitto *mosq = NULL;
        //libmosquitto 库初始化
        mosquitto_lib_init();
        //创建mosquitto客户端
        mosq = mosquitto_new(NULL,session,NULL);
        if(!mosq){
            printf("create client failed..\n");
            mosquitto_lib_cleanup();
            return 1;
        }
        //连接服务器
        if(mosquitto_connect(mosq, HOST, PORT, KEEP_ALIVE)){
            fprintf(stderr, "Unable to connect.\n");
            return 1;
        }
        //开启一个线程,在线程里不停的调用 mosquitto_loop() 来处理网络信息
        int loop = mosquitto_loop_start(mosq);
        if(loop != MOSQ_ERR_SUCCESS)
        {
            printf("mosquitto loop error\n");
            return 1;
        }
        while(fgets(buff, MSG_MAX_SIZE, stdin) != NULL)
        {
                    /*发布消息*/
                    mosquitto_publish(mosq,NULL,"pu",strlen(buff)+1,buff,0,0);
                                            //topic 主题:"pu"
                    memset(buff,0,sizeof(buff));
        }
        mosquitto_destroy(mosq);
        mosquitto_lib_cleanup();
        return 0;
    }
    

    编译:

    gcc -o mosquitto_client_sub mosquitto_client_sub.c -lmosquitto
    
    展开全文
  • ## 前言 MQTTMQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况而设计的发布/订阅型消息协议...
  • 熟悉MQTT以及linux环境下MQTT搭建

    千次阅读 2018-08-03 11:01:09
    一、熟悉MQTT MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. 是一种轻量级的,基于代理的发布订阅模式的消息传输协议,其协议简洁,可扩展性强,基本可以用在任何...
  • ## 前言 MQTTMQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况而设计的发布/订阅型消息协议...
  • MQTTMQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况而设计的发布/订阅型消息协议,为此,它...
  • Linux 学习之 MQTT 服务器搭建

    千次阅读 2018-04-25 12:17:22
    摘要:前言博主之前写了一篇《在Windows下搭建MQTT服务器》,这次要尝试在Ubuntu下搭建MQTT服务器。实际上,下载好源码包后,后面的都和那篇文章差不多了。开发环境虚拟机Ubuntu14.04.5LTSApache-Apollo-1.7.1准备工作...
  • ## 前言 MQTTMQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况而设计的发布/订阅型消息协议...
  • 特整理了下mqtt服务的搭建,方便理解. Mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案。本文的主旨在于记录...
  • Linux下mqttServer搭建

    2019-09-23 16:56:55
    1、apache-apollo 创建服务 tar -zxvf apache-apollo-1.7-unix-distro.tar.gz cd /home/bk/apache-apollo-1.7.1/bin ./apollo create mybroker ...cd /home/bk/apache-apollo-1.7.1/bin/mybroker/bin ...
  • linux 的openssl 安装和使用 mosquitto的安装 配置 和测试 以及 mosquitto SSL 安全配置与测试 文档

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

linux下搭建mqtt

linux 订阅