mosquitto的配置

搭建mqtt服务器

1.下载安装

​ 环境:ubuntu18

​ 中间件:mosquitto(轻量级,支持mqtt3.1、mqtt3.1.1)

​ 添加到存储库列表

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-pp

​ 更新软件包

sudo apt-get update

  1. 安装

    sudo apt-get install mosquitto

    安装命令行客户端

    sudo apt-get install mosquitto-clients

  2. 配置

    主配置文件mosquitto.conf(cd /etc/mosquitto/conf.d

    sudo service mosquitto stop #停止服务

  • 新建myconfig.conf配置文件

    vim myconfig.conf

  • 输入以下内容,使用wq保存退出。

#-------------------------------------------

# 禁止匿名访问
allow_anonymous true
# 认证配置
password_file /etc/mosquitto/pwfile
# 权限配置
#acl_file /etc/mosquitto/aclfile #如果写这个就必须要在文件中写入相应的权限信息,不然会默认不允许任何

port 1883
#添加websockets协议
listener 9001

protocol websockets

allow_anonymous true
  1. 创建一个mqtt服务器账户

    假设用户名为:shaw
    在命令行运行:mosquitto_passwd -c /etc/mosquitto/pwfile.txt shaw
    
    回车后连续输入2次用户密码即可
    
  2. 重新启动mosquitto

    sudo service mosquitto start #启动服务

  3. 下载测试工具

    https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/1.0.2/
    
  4. 使用命令行

    mosquitto_pub -u username -P pwd -t topic -m message #发布

    mosquitto_sub -u username -P pwd -t topic #订阅

  5. python客服端

    import paho.mqtt.client
    import time
    
    mqtt = paho.mqtt.client
    
    def on_connect(client, userdata, flags, rc):
        print("Connected with result code "+str(rc)) #打印连接状态
        client.subscribe("2222") #订阅2222
    
    
    def on_message(client, userdata, msg):
        print(msg.topic+" " + ":" + str(msg.payload)) #打印接受的消息
    
    
    
    client_id = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
    client = mqtt.Client(client_id)    # ClientId不能重复,所以使用当前时间
    client.username_pw_set("shaw", "123456")  # 必须设置,否则会返回「Connected with result code 4」
    client.on_connect = on_connect
    client.on_message = on_message
    client.connect("your ip addr", 1883, 60)
    client.loop_forever()
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值