个人智能家居系统 - MQTT服务器搭建(centOS7.3)

0x00 参考

0x01 配置

  • General configuration

    所见即所得,保持默认即可

  • Default listener

    # 设置端口
    port 1883
    # 设置最大连接数
    max_connections -1
    # 使用协议,mqtt或者websocket
    protocol mqtt
  • SSL/TLS support

    用于 default listerner 的安全设置,暂未设置

  • Extra listeners

    用于 websocket ,暂未设置

  • SSL/TLS support

    用于 Extra listeners 的安全设置,暂未设置

  • Persistence

    持续性设置,即 mosquitto 重启后恢复设置,暂未设置

    而且客户端的断线重连机制更加稳妥

  • Logging

    开启服务时重定向 stdout 等信息至文件,这里只设置 type

  • Security

    # 设置前缀
    clientid_prefixes guduyl
    # 禁止匿名登录
    allow_anonymous false
    # 设置用户名密码文件
    password_file /etc/mosquitto/pwfile
    # 设置权限信息文件
    acl_file /etc/mosquitto/aclfile
  • Bridges

    用于分布式服务器,暂未设置

  • SSL/TLS support

    分布式服务器安全设置,暂未设置

  • External config files

  • rsmb options

用户名密码设置

  • mosquitto_passwd 命令,查看帮助即可

权限文件设置

  • 仿照 aclfile.example 文件

    • test/jh/# 可匹配 test/jh/a/b/c, test/jh/a/b, test/jh/a.test/jh
    • test/jh/+ 可匹配 test/jh/a, test/jh/b, 但是不能匹配 test/jh/a/b

启动停止

  • 启动

    #! /bin/bash
    
    ps -ef | grep mosquitto | tee /tmp/graduation.tmp
    
    lines=$(awk 'END{print NR}' /tmp/graduation.tmp)
    lines=`expr $lines + 1`
    for ((i=1; i<$lines; ++i))
    do
    uid=$(sed -n "$i, 1p" /tmp/graduation.tmp | awk '{print $1}')
    if [ $uid == "mosquit+" ] ; then
    break
    fi
    done if [ $i != $lines ] ; then
    echo "the mosquitto1.4.1 had been started already"
    else
    echo "Starting the mosquitto1.4.1 ..."
    mosquitto -d -c /etc/mosquitto/mosquitto.conf > /root/graduation/mosquitto.log 2>&1
    echo "the mosquitto1.4.1 has been started"
    echo "the log file is /root/graduation/mosquitto.log"
    fi rm -f /tmp/graduation.tmp
  • 停止

    #! /bin/bash
    
    ps -ef | grep mosquitto | tee /tmp/graduation.tmp
    
    lines=$(awk 'END{print NR}' /tmp/graduation.tmp)
    lines=`expr $lines + 1`
    for ((i=1; i<$lines; ++i))
    do
    uid=$(sed -n "$i, 1p" /tmp/graduation.tmp | awk '{print $1}')
    if [ $uid == "mosquit+" ] ; then
    break
    fi
    done if [ $i != $lines ] ; then
    pid=$(sed -n "$i, 1p" /tmp/graduation.tmp | awk '{print $2}')
    echo "killing $pid ..."
    kill $pid
    echo "the mosquitto1.4.1 has been stopped"
    else
    echo "the mosquitto1.4.1 has not been started yet"
    fi rm -f /tmp/graduation.tmp
  • 重启

    #! /bin/bash
    
    /root/graduation/stop.sh
    /root/graduation/start.sh

个人智能家居系统 - MQTT服务器搭建(centOS7.3)的更多相关文章

  1. 树莓派安装开源智能家居系统 Domoticz

    前言 最近闲来无事开始折腾自己的智能家居系统,对比了几种比较流行的开源智能家居系统,觉得 Domoticz 更适合,Domoticz的官方中文文档,虽然不是很完善但还是可以参考一下.需要注意的是下文用 ...

  2. Mqtt服务器搭建

    .bg { background: #99CC99 } Mqtt服务器搭建 测试环境:CentOS64位 1.安装基础软件 yum install gcc-c++ yum install cmake ...

  3. Home Assistant + 树莓派:强大的智能家居系统 · 安装篇

    Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 转载:Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 目录 1. 初始安装 3. Homebridg ...

  4. 常见MQTT服务器搭建与试用

    常见MQTT服务器搭建与试用   简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠 ...

  5. Home Assistant + 树莓派:强大的智能家居系统 · 设备接入篇

    转载:Home Assistant + 树莓派:强大的智能家居系统 · 设备接入篇 目录 HASS 配置框架 主文件设置 Homebridge 设置 鹬蚌相争? 设备追踪设置 更新日志 作者的话 相信 ...

  6. 智能家居系统 Home Assistant 系列 --介绍篇

    一. HomeAssistant 是什么? HomeAssistant是构建智慧空间的神器.是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation).群组化 ...

  7. 智能家居系统 Home Assistant 系列 --安装系统之Windows

    Home Assistant 是一个成熟完整的基于 Python 的智能家居系统. 首先得安装Python环境.在浏览器中访问Python官网 www.python.org 进入Downloads中的 ...

  8. 常见MQTT服务器搭建[转载]

    简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠的网络的进行远程传感器和控制设备通 ...

  9. Apollo mqtt 服务器搭建

    html { overflow-x: initial !important } :root { --bg-color: #ffffff; --text-color: #333333; --select ...

随机推荐

  1. Vue 使用v-bind:style 绑定样式

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. git回滚操作

    一,找到之前的版本历史纪录,确定要回滚到那个版本号:git log 二,回滚到这个版本:git reset --hard 72229f823c8b21cbe52142a944d74f1883fa41a ...

  3. 高级软件测试技术-任务进度-Day02

    任务进度11-14 使用工具 Jira 小组成员 华同学.郭同学.穆同学.沈同学.覃同学.刘同学 任务进度 在经过了昨天的基本任务分配之后,今天大家就开始了各自的内容,以下是大家任务的进度情况汇总. ...

  4. 后盾网lavarel视频项目---页面post方式提交之后动态弹出错误信息

    后盾网lavarel视频项目---页面post方式提交之后动态弹出错误信息 一.总结 一句话总结: 1.思路和我想的一样,有错误的时候弹出提示错误消息的模态框就好,没有错误的时候不管它 2.把模态框的 ...

  5. [论文笔记] Improving Head Pose Estimation with a Combined Loss and Bounding Box Margin Adjustment

    Improving Head Pose Estimation with a Combined Loss and Bounding Box Margin Adjustment 简介 本文提出了一种网络结 ...

  6. Mysql 创建函数出现This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA

    This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary mys ...

  7. python蒙特卡洛脚本模拟—挑战者号爆炸概率

     python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  8. 添加linux中svn的用户和密码

    1:首先找到svn路径 find / -iname "svn" 一般找到svn路径之后就可以找到配置文件位置啦 svn/svnrepos/jgcp/conf 2:进入目录之后修改a ...

  9. 各种开源许可 license 区别

    copy from http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

  10. (已实践)PLSQL本地还原Oracle数据库dmp文件

    这个方法很烂,导致重装Oracle时候处处出现问题,不建议使用这个方法,除非你以后不再用Oracle这个软件了,这个方法很烂,再评论一下. 第一,启动服务,(如果数据库处于启动状态,那么略过这一步) ...