个人智能家居系统 - 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
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
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
树莓派安装开源智能家居系统 Domoticz
前言 最近闲来无事开始折腾自己的智能家居系统,对比了几种比较流行的开源智能家居系统,觉得 Domoticz 更适合,Domoticz的官方中文文档,虽然不是很完善但还是可以参考一下.需要注意的是下文用 ...
Mqtt服务器搭建
.bg { background: #99CC99 } Mqtt服务器搭建 测试环境:CentOS64位 1.安装基础软件 yum install gcc-c++ yum install cmake ...
Home Assistant + 树莓派:强大的智能家居系统 · 安装篇
Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 转载:Home Assistant + 树莓派:强大的智能家居系统 · 安装篇 目录 1. 初始安装 3. Homebridg ...
常见MQTT服务器搭建与试用
常见MQTT服务器搭建与试用 简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠 ...
Home Assistant + 树莓派:强大的智能家居系统 · 设备接入篇
转载:Home Assistant + 树莓派:强大的智能家居系统 · 设备接入篇 目录 HASS 配置框架 主文件设置 Homebridge 设置 鹬蚌相争? 设备追踪设置 更新日志 作者的话 相信 ...
智能家居系统 Home Assistant 系列 --介绍篇
一. HomeAssistant 是什么? HomeAssistant是构建智慧空间的神器.是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation).群组化 ...
智能家居系统 Home Assistant 系列 --安装系统之Windows
Home Assistant 是一个成熟完整的基于 Python 的智能家居系统. 首先得安装Python环境.在浏览器中访问Python官网 www.python.org 进入Downloads中的 ...
常见MQTT服务器搭建[转载]
简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠的网络的进行远程传感器和控制设备通 ...
MQTT——服务器搭建(一)
MQTT介绍 MQTT,是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器和控制设备: 轻量级的消息订阅和发布(publish/subscribe)协议 建 ...
随机推荐
python sqlite 插入的数据含有变量,结果不一致
def insert(): conn = sqlite3.connect("sqlite.db") print "open database passed" t ...
XCODE快捷键和功能汇总篇(不断更新)
快捷键 command+b(build) 编译 command+r(run) 运行编译后程序鼠标放在代码元素上,按command然后单击,可以看到元素的属性
SQL优化(2)
建表时候数据库引擎的选择也可以达到优化的效果 InnoDB: 基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB MyISAM: ...
[ext4]磁盘布局 - inode bitmap &; table
在[磁盘布局 group部分]已经介绍过ext4的整体布局,其中存在两个与inode有关的名称:inode bitmap和inode table. Inode bitmap,用于表示inode tab ...
Linux环境g++编译GDAL动态库
一.编译步骤 解压下载的GDAL源程序,并在命令行中切换到解压目录. tar -xzvf gdal-2.1.3.tar.gz cd gdal-2.1.3 GDAL可通过configure来实现一些自定 ...
ASP.NET Core 2.1 源码学习之 Options[3]:IOptionsMonitor
前面我们讲到 IOptions 和 IOptionsSnapshot,他们两个最大的区别便是前者注册的是单例模式,后者注册的是 Scope 模式.而 IOptionsMonitor 则要求配置源必须是 ...
机器学习1—简介及Python机器学习环境搭建
简介 前置声明:本专栏的所有文章皆为本人学习时所做笔记而整理成篇,转载需授权且需注明文章来源,禁止商业用途,仅供学习交流.(欢迎大家提供宝贵的意见,共同进步) 正文: 机器学习,顾名思义,就是研究计算 ...
Python 重定向获取真实url
通常的返回url: http_headers = { 'Accept': '*/*','Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (W ...
soapUI-DataGen
1.1.1 DataGen 1.1.1.1 概述 – DataGen DataGen TestStep可用于生成要用作TestCases中的输入的数据,例如数字或日期序列,随机选择等.生成的数据可作 ...
将你的静态工程用Grunt管理
最近写了一个静态页面,写完之后都会上传到静态服务器上.但是我遇到一个问题,就是每次修改文件后就要重新找一些代码压缩网站去压缩静态文件.有没有什么办法能够自动化的处理呢?答案当然是肯定的. 我们可以借用 ...