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

 找回密码
 立即注册
查看: 28701|回复: 59

[修仙教程] 抛砖引玉:使用nodemcu V3开发板自制基于mqtt的homeassitant遥控器

  [复制链接]

16

主题

281

帖子

1515

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1515
金钱
1224
HASS币
0

教程狂人卓越贡献

发表于 2017-8-5 01:26:05 | 显示全部楼层 |阅读模式
本帖最后由 lovinggrey 于 2017-8-5 01:46 编辑

本人是只标准夜猫,媳妇睡觉也比较早,晚上用语音控制不方便,同时,我也懒得打开手机点N下然后去打开个设备。。。(嗯,懒到家)
忽然脑洞大开,要是能做个能遥控hass的遥控器多方便
不过说到开关么。。想要手感好。樱桃少不了
来~上主角~
樱桃黑轴,大名鼎鼎。。不多做介绍。。
DSC00806.jpg
又是nodemcu,嗯。。好用便宜。。
DSC00805.jpg

固件部分是7哥帮忙编写的。编程这东西实在是做不来。。。
我把固件和库文件都上传了,自行下载后用Arduino刷入mcu吧。
QQ截图20170805005723.png
switch.rar (2.28 KB, 下载次数: 180)
libraries.rar (79.49 KB, 下载次数: 133)

OK 刷好了以后就是接线了。这个有点动手能力的都无压力~
开关是一个脚串起来接GND,另外一个脚接到MCU的GPIO上就可以了。
对应的脚是:
开关1:GPIO 0
开关2:GPIO 2
开关3:GPIO 5
开关4:GPIO 14
开关5:GPIO 12
开关6:GPIO 13
开关7:GPIO 4

附上MCU的GPIO对应图:
u=2857724096,1696373650&fm=27&gp=0.jpg


大功告成~现在去HA里添加设备:
把7个开关添加到HA里:
switch:
  - platform: mqtt
    name: "t1"
    state_topic: "home/8ch/2/stat"
    command_topic: "home/8ch/2"
    qos: 1
    payload_on: "1on"
    payload_off: "1off"
    retain: true  
  - platform: mqtt
    name: "t2"
    state_topic: "home/8ch/2/stat"
    command_topic: "home/8ch/2"
    qos: 1
    payload_on: "2on"
    payload_off: "2off"
    retain: true 
  - platform: mqtt
    name: "t3"
    state_topic: "home/8ch/2/stat"
    command_topic: "home/8ch/2"
    qos: 1
    payload_on: "3on"
    payload_off: "3off"
    retain: true  
  - platform: mqtt
    name: "t4"
    state_topic: "home/8ch/2/stat"
    command_topic: "home/8ch/2"
    qos: 1
    payload_on: "4on"
    payload_off: "4off"
    retain: true  
  - platform: mqtt
    name: "t5"
    state_topic: "home/8ch/2/stat"
    command_topic: "home/8ch/2"
    qos: 1
    payload_on: "5on"
    payload_off: "5off"
    retain: true    
  - platform: mqtt
    name: "t6"
    state_topic: "home/8ch/2/stat"
    command_topic: "home/8ch/2"
    qos: 1
    payload_on: "6on"
    payload_off: "6off"
    retain: true    
  - platform: mqtt
    name: "t7"
    state_topic: "home/8ch/2/stat"
    command_topic: "home/8ch/2"
    qos: 1
    payload_on: "7on"
    payload_off: "7off"
    retain: true    


保存后重启HA,就可以在HA里看到7个开关:
QQ截图20170805011027.png

接下来是重头戏了,写自动化。
当这个开关按下去被打开以后,你所指定的开关也跟着被打开,再次按下这个开关把它关上以后,你所指定的设备也被关闭。

例如我的卧室灯是swtich.01,我想用这个1号开关控制他的开启与关闭,可以这样写:
  trigger:
    platform: state
    entity_id: switch.t1
  action:
    service_template: >
         {%- if states('switch.t1') == 'off' -%}
           switch.turn_off
         {%- else -%}
           switch.turn_on
         {%- endif -%}
    entity_id: switch.01


这样当我按下1号开关以后我的卧室灯就会打开,再次按下以后卧室灯将会关闭。。

ok,教程就到这里。

因为按键比较多,实在不好固定。自己从某宝找人定做了一个外壳。
材料用的是榉木板,某宝激光切割的。用胶水螺丝固定。。比较丑。。大家可以参考下。

DSC00810.jpg
最下面是充放电一体板,可以调电压的左边蓝色的就是电位器~
DSC00811.jpg
回头可以给这东西塞块小电池,拿在手上玩,但是空间太小,这玩意功耗实在高,因为我接了8个led,功耗有200毫安。。。
估计回头得弄个开关上去了。。用的时候打开,不用的时候把他关了。启动很快,开机到可以用也就1秒多。。。问题不大
DSC00815.jpg
嗯。。乱七八糟的飞线。。热熔胶辅助固定。。
DSC00812.jpg
成品图,有细心的朋友肯定发现了。。为毛这里有8个按键?!
因为本来这个按键是用来控制LED的开关的。。代码没写好还。。。嗯。。。
DSC00814.jpg

DSC00816.jpg
附上视频,当是抛砖引玉了,希望大神们可以发明更多新的玩法,其实这个不仅仅可以控制开关,还可以实现很多功能,比如让若其通过tts来播报传感器的数值等等。。



最后,感谢7总@se7en,帮我修改代码弄了几个晚上,实在是辛苦了




评分

参与人数 2金钱 +8 收起 理由
lidicn + 2 666!
+ 6 你这个太6了,颜值颇高啊~

查看全部评分

回复

使用道具 举报

0

主题

42

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
金钱
210
HASS币
0
发表于 2017-8-5 01:28:21 | 显示全部楼层
群里的 mark大神。。。。。。。
回复

使用道具 举报

16

主题

281

帖子

1515

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1515
金钱
1224
HASS币
0

教程狂人卓越贡献

 楼主| 发表于 2017-8-5 01:33:54 | 显示全部楼层
191442029 发表于 2017-8-5 01:28
群里的 mark大神。。。。。。。

大神不算。。。代码都不会写。。
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2017-8-5 01:34:21 | 显示全部楼层
严重支持
回复

使用道具 举报

16

主题

281

帖子

1515

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1515
金钱
1224
HASS币
0

教程狂人卓越贡献

 楼主| 发表于 2017-8-5 01:34:56 | 显示全部楼层

谢囧帅
回复

使用道具 举报

10

主题

118

帖子

4027

积分

超级版主

Rank: 8Rank: 8

积分
4027
金钱
3894
HASS币
0

论坛风云人物

发表于 2017-8-5 01:46:23 | 显示全部楼层
严重支持,控制我那led简直完美
回复

使用道具 举报

16

主题

281

帖子

1515

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1515
金钱
1224
HASS币
0

教程狂人卓越贡献

 楼主| 发表于 2017-8-5 01:49:07 | 显示全部楼层
se7en 发表于 2017-8-5 01:46
严重支持,控制我那led简直完美

对哦。。你可以弄成模式开关。。8个模式8个开关。。
回复

使用道具 举报

2

主题

136

帖子

1024

积分

金牌会员

Rank: 6Rank: 6

积分
1024
金钱
888
HASS币
0
发表于 2017-8-5 04:47:06 | 显示全部楼层
如果能按任意键开机 然后自动亮led 然后多少秒后关机 怎样?
回复

使用道具 举报

0

主题

49

帖子

379

积分

中级会员

Rank: 3Rank: 3

积分
379
金钱
330
HASS币
0
发表于 2017-8-5 07:36:17 | 显示全部楼层
支持支持,通宵大神!!!
回复

使用道具 举报

3

主题

154

帖子

1191

积分

金牌会员

Rank: 6Rank: 6

积分
1191
金钱
1037
HASS币
0
发表于 2017-8-5 07:40:08 | 显示全部楼层
哇,出教程了,一直眼馋来的
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 06:57 , Processed in 0.083090 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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