请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 653|回复: 14

[修仙教程] 填坑:killadm大神的LOCK2MQTT代码改造、编译、烧录

[复制链接]

15

主题

227

帖子

982

积分

高级会员

Rank: 4

积分
982
金钱
740
HASS币
90
发表于 2020-6-15 14:53:16 | 显示全部楼层 |阅读模式
本帖最后由 XCray 于 2020-6-22 11:38 编辑

0. 前言

用米家智能锁的ha玩家,估计都知道killadm大神的LOCK2MQTT。我也从中学到了很多很关键的知识。可惜大神在其github的repo中留了两个大坑,我当时就是看到这两个坑,勇敢地绕了过去,没有用esp,而是采用树莓派/NanoPi + Python的方式先实践了一番。

python脚本虽然跑的很爽,但大神们提出的用小型模块(比如esp01s)直接安装在蓝牙网关内部的做法,一直对我发挥着难以割舍的吸引力。我的方案需要连两根线出来、接到树莓派——树莓派上还要插上USB的串口转接板~~~

随着对自己用的榉树门锁、花花草草、蓝牙温湿度2的熟悉,也随着脚本的逐渐完善和稳定,决定还是尝试一下esp方案,能用一个5块钱的小玩意儿、塞到蓝牙网关内部就可以解决的事情,就不要老是麻烦200多块钱的树莓派了吧。

平生第一次用arduino ide,平生第一次自己编译esp固件,坑是必然会碰到的。

1. 硬件:

- esp01s模块,小巧,3.3v供电(我用的榉树网关直接就提供了3.3供电),某宝上5.3元一个。

- esp01下载器,其实就是USB转串口,之前用的2303芯片的,不支持win10,早就被鄙视了,这次顺便买个2104芯片的,带esp01底座,烧写非常方便。

2. 环境搭建:


- 安装arduino ide

- 安装esp8266sdk

国域网内,由于存在伟大的墙,直接在arduino ide内下载几乎不可能。好在有大神已经帮我们想好了办法:

  https://www.arduino.cn/thread-76029-1-1.html

按帖子提示,下载、运行(解压),然后启动arduino ide、选择板型。

3. 代码改造:

我用的是榉树门锁,消息格式与米家门锁不太一样,所以不能直接使用大神的代码,必须根据榉树门锁的情况进行改造。

同时,把我已经弄清楚的花花草草、蓝牙温湿度2的消息格式也纳入代码(killadm的代码还没有涉及这些)。

前期我使用python脚本时,根据自己的想法设置了mqtt消息的主题和格式,因涉及与hass配置匹配,所以就没有沿用大神原有的设计,而是继续采用我自己的设计,这样hass里面就不用修改了(懒是写程序的原始驱动力,哈哈)。

所以,如果你和我一样用的是榉树门锁,你可以直接用我的代码(甚至是编译好的bin),否则的话,要么用killadm大神的代码,要么自己改造编译。

这是第一版,花花草草和蓝牙温湿度2的数没出来,忘了加mqtt语句了。。。
mqttlock.zip (294.83 KB, 下载次数: 10)

评分

参与人数 2金钱 +30 HASS币 +20 收起 理由
killadm + 10 感谢,有时间我把花花草草和温湿度的代码合.
+ 20 + 20 大神666!

查看全部评分

建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

15

主题

227

帖子

982

积分

高级会员

Rank: 4

积分
982
金钱
740
HASS币
90
 楼主| 发表于 2020-6-15 14:56:39 | 显示全部楼层
本帖最后由 XCray 于 2020-6-15 15:37 编辑

烧写和OTA两段分别还有一张截图,我自己发的我都看不到。。。管理员出手?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
编辑时拷贝粘贴,貌似可以把图片放进来,实际上无效
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


提醒:


连接之前,一定要确认供电是否符合模块的要求。这个esp01-s模块要求的3.3v(据说可以适应3.0~3.6),如果是 5v 供电的话基本上是必烧。


榉树网关直接使用220v供电,操作时千万小心,别触电!
:curse::curse::curse::curse::curse::curse::curse::curse::curse::curse:
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

11

主题

201

帖子

1342

积分

金牌会员

Rank: 6Rank: 6

积分
1342
金钱
1141
HASS币
0
发表于 2020-6-15 15:06:30 | 显示全部楼层
因为根本就没图,我以为论坛加载又挂了
回复

使用道具 举报

15

主题

227

帖子

982

积分

高级会员

Rank: 4

积分
982
金钱
740
HASS币
90
 楼主| 发表于 2020-6-15 15:13:31 | 显示全部楼层
lff520520 发表于 2020-6-15 15:06
因为根本就没图,我以为论坛加载又挂了

我用拷贝粘贴加的图,编辑的时候能看到,看帖的时候就看不到。。。

只好重新上传~~~
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

11

主题

1151

帖子

3208

积分

论坛元老

Rank: 8Rank: 8

积分
3208
金钱
2057
HASS币
30
发表于 2020-6-15 15:44:44 | 显示全部楼层
具体哪个型号呢?门锁
之前入了V1 迟迟不给接入米家  然后我给退了
回复

使用道具 举报

15

主题

227

帖子

982

积分

高级会员

Rank: 4

积分
982
金钱
740
HASS币
90
 楼主| 发表于 2020-6-15 16:10:37 | 显示全部楼层
ghostist 发表于 2020-6-15 15:44
具体哪个型号呢?门锁
之前入了V1 迟迟不给接入米家  然后我给退了

最老的那一款,K1
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

15

主题

227

帖子

982

积分

高级会员

Rank: 4

积分
982
金钱
740
HASS币
90
 楼主| 发表于 2020-6-15 17:00:53 | 显示全部楼层
本帖最后由 XCray 于 2020-6-24 10:08 编辑

感谢囧大鼓励!~~~~~~~~~~~~~~~~~~~~~
新版代码,终于正确地处理了花花草草和蓝牙温湿度2的各项数据

如果你用的是榉树智能锁、花花草草、蓝牙温湿度2当中的一种或几种,可以直接用编译好的固件。如果有其他要求,自己改代码吧。。。我暂时也没能力和条件做更多的适配。
mqttlock.zip (295.48 KB, 下载次数: 4)
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

11

主题

115

帖子

762

积分

论坛技术达人

积分
762
金钱
627
HASS币
110
发表于 2020-6-15 22:52:53 | 显示全部楼层
本帖最后由 magic900321 于 2020-6-15 22:54 编辑

撸代码的速度真快,想必写这个代码用么多库不写他一周出不来啊
回复

使用道具 举报

15

主题

227

帖子

982

积分

高级会员

Rank: 4

积分
982
金钱
740
HASS币
90
 楼主| 发表于 2020-6-15 23:12:34 | 显示全部楼层
magic900321 发表于 2020-6-15 22:52
撸代码的速度真快,想必写这个代码用么多库不写他一周出不来啊

在大神的基础上,只是少量的修改而已,所以显得快
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

15

主题

227

帖子

982

积分

高级会员

Rank: 4

积分
982
金钱
740
HASS币
90
 楼主| 发表于 2020-6-16 08:57:05 | 显示全部楼层
原代码可能是为了方便,在正常连接状态下依然提供AP接入点信号,即esp8266工作在STA+AP模式下。

但是,这样不太安全,一个不加密的网络,免不了有无聊的人看到后就会连一下看看,默认的OTA用户名和密码又很容易猜出来。。。

尝试删掉了WiFiManager相关的代码,使用 “WiFi.mode(WIFI_STA);”强制设置为STA模式,使用 WiFI.begian直接连接家里的路由器、代码里同时设置好mqtt服务器和端口,这样,编译后的文件大小可以减少约1/4,现在只有300多K啦
建议阅读我发的所有帖子,在不同版块。不敢吹嘘,大部分还都算得上是干货,5年玩智能家庭的经验,欢迎讨论。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2020-7-8 09:48 , Processed in 0.097499 second(s), 36 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表