当前位置:   article > 正文

mqtt环境搭建(ubuntu)_mtuptty搭建

mtuptty搭建

安装

  1. sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
  2. sudo apt-get update
  3. sudo apt-get install mosquitto
  4. sudo apt-get update
  5. sudo apt-get install mosquitto-dev
  6. sudo apt-get install mosquitto-clients

查看状态

sudo service mosquitto status 

本地测试

  1. # 订阅
  2. mosquitto_sub -h localhost -t "/test/#"-v
  3. # 发布
  4. mosquitto_pub -h localhost -t "/test/t" -m "this is my first message"

如何外网订阅发布呢?这里例举几个关键点!(配置文件一般在/etc/mosquitto/下

  1. /usr/share/doc/mosquitto/examples 下找一下配置文件的写法mosquitto.conf
  2. 查看了解配置 pwfile.example(认证配置) aclfile.example(权限配置) 
  • touch /etc/mosquitto/pwfile
  • mosquitto_passwd /etc/mosquitto/pwfile 用户名
  • 输入两次相同的密码都可以了
  • vim /etc/mosquitto/aclfile
    1. # 李雷只能发布以test为前缀的主题,订阅以$SYS开头的主题即系统主题
    2. user lilei
    3. topic write test/#
    4. topic read $SYS/#
    5. # 韩梅梅只能订阅以test为前缀的主题
    6. user hanmeimei
    7. topic read test/#

3.主配置文件,这是也是简单配置。其他见doc里的examples

  1. # Place your local configuration in /etc/mosquitto/conf.d/
  2. #
  3. # A full description of the configuration file is at
  4. # /usr/share/doc/mosquitto/examples/mosquitto.conf.example
  5. persistence true
  6. persistence_location /var/lib/mosquitto/
  7. log_dest file /var/log/mosquitto/mosquitto.log
  8. include_dir /etc/mosquitto/conf.d
  9. # jetaime 新增
  10. # 更换远程端口,默认为1883
  11. listener 2005
  12. # 允许匿名登录
  13. allow_anonymous false
  14. # 密码文件
  15. password_file /etc/mosquitto/pwfile.example
  16. # 用户访问控制策略
  17. acl_file /etc/mosquitto/acl

ps1:最后一行我的文件是acl,因为我配置就是acl.example而不是aclfile.exampe 

ps2:云端部署的话,请一定注意防火墙设置,以防端口不通

这里,我们基础配置就结束了。那么用新配件的文件启动下

mosquitto -c /etc/mosquitto/mosquitto.conf -d

测试使用:

sub:

mosquitto_sub -h ip -p port -t topic -u username -P password

pub:

mosquitto_pub -h ip -p port -t topic -m message -u username -P password

这里测试,我写了个简单shell(1秒模拟发布一次)

  1. #!/bin/sh
  2. while [ true ];
  3. do
  4. timej=$(date "+%Y-%m-%d %H:%M:%S")
  5. echo $timej + ": send a message"
  6. mosquitto_pub -h *.*.*.* -p 2005 -t '/test/m/hzh' -m "$timej:this is a test message from u_wjy." -u 'username' -P 'userpass'
  7. sleep 1
  8. done

 这样就结束,可以收到信息,当然mqtt可以配置的规则很多,包括绘画保持、离线接收等等请仔细看官文

链接:从别处贴一份关于sub,pub的参数说明https://blog.csdn.net/yangbingzhou/article/details/51324471

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/543223
推荐阅读
相关标签
  

闽ICP备14008679号