本帖最后由 qq2234124 于 2018-12-1 23:57 编辑
第一次发帖语言组织可能不是十分好。如有说不足请大家见谅
单刀直入话题: 硬件 : Q5 s905B 系列 跟 N1 硬件相似,系统通刷
1. NodeMcu Lua WIFI V3 1个
2. HR501 人体感应 个
3. 继电器 1个
4. 4.7K 电阻 103K 电阻 各一个
故障如下:设置好 按钮用途 绑定好HASS 能够正常运行但过一段时间 (基本1-2小时)就开始抽风
抽风过程 如下描述 : 1. 查看NodeMcu Lua WIFI V3硬件日志 接入HR501人体感应的IO不断高电平 输出11111 2. 断电重启均无效 按钮不受感应控制
3. 就算把人体感应撤掉,依然输出 高电平1111111111111111111~~~~~·
折腾过程:
第一,怀疑程序假死,当然硬重启 恢复出场设置,以为这样解决了 结果无效
第二,当然大家都会想到固件故障没错 这个操作我也做了 刷了不下 10个 重启问题依旧过一段时间又抽风
第三,怀疑HR501 不稳定导致 IO 假死 最后被我驳回 因为尝试拉高低电平做测试均无效
第四,去到这里大家会跟我一样怀疑 V3 有问题。我自己也这么想的, 前后时间足足花了我3天 3天 3天 好累 因为小白只能折腾
第五, 从 ESPeasy 界面重新进入按钮设置 保存一下又恢复正常,如果你不点 怎么重启 都无法恢复IO 正常设定状态 但 2小时候这样又抽风
解决:直接把espeasy mqtt关闭 重新确定按钮就正常使用 说到这里大家知道可能估计到是什么原因引起了 ? 答案是:自带hass 源下载的mqtt引起的 不知道什么原因直接锁死io 一直让IO 处于高电平输出,这样输出你就算重启V3 硬件都是无效的,必须要进入按钮重新点确定!
既然知道答案 就开始解决: 安装最新1.5.4 MQTT服务器
安装 mqtt 直接安装 不使用hassio 源自带的
参考 1:https://bbs.hassbian.com/thread-5613-1-1.html
参考 2: https://blog.csdn.net/u011195662/article/details/78494276
SSH: 下载MQTT的源文件
wget https://mosquitto.org/files/source/mosquitto-1.5.4.tar.gz
解压,并进入解压后的目录
tar xvzf mosquitto-1.4.14.tar.gz
cd mosquitto-1.4.14/
编译并安装
make && sudo make install
设置MQTT服务器
我们先来创建一个“用户”,红色字体就是用户名
sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt (红色为你的名字)
sudo chown -R mosquitto:mosquitto /var/lib/mosquitto/
把下面的内容,复制粘贴进去 跟 帖子: 有点不一样因为1.5.4更新了 验证机制
# 服务进程的PID
pid_file /var/run/mosquitto.pid
# 服务进程的系统用户
user mqtt
# 服务绑定的IP地址
#bind_address centoshostnameKL3
# 服务绑定的端口号
port 1883
# 允许的最大连接数,-1表示没有限制
max_connections -1
# 允许匿名用户true
allow_anonymous false
# # 用户/密码文件,默认格式:username:password
persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
connection_messages true
然后执行
sudo ldconfig
下面设置“开机自启动”
sudo nano /etc/systemd/system/mosquitto.service
复制粘贴下面的内容
[Unit]
Description=Insite MQTT Broker
[Service]
ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=always
[Install]
WantedBy=multi-user.target
来启动服务
sudo systemctl start mosquitto.service
启动如果出现故障请参考 [url=https://blog.csdn.net/u011195662/article/details/78494276]连接2[/url]
一、Invalid user错误
报错信息:Error: Invalid user 'mosquitto'
解决方法:
方法一:修改mosquitto目录下mosquitto.conf文件,在#user mosquitto处添加当前运行的用户,如当前用户为mumu,则添加 user mumu,如图:
方法二:执行 adduser mosquitto
新建一个系统用户 例如我mqtt 密码mqtt
sudo systemctl enable mosquitto.service
检查启动服务情况
sudo systemctl status mosquitto.service
设置成系统服务(随系统开机启动)
sudo systemctl enable mosquitto.service
到此 启动了
启动成功的mqt服务器图
检测接入情况
sudo systemctl status mosquitto.service
结束:
经过一天测试没任何问题
测试反馈图
问题得以解决我可以安心谁觉
|