ページへ戻る
印刷
ミンティア[MINTIA] で WiFi 6ボタンスイッチを作った
をテンプレートにして作成 ::
XOOPS マニア
UsersWiki
:nao-pon/blog/2021-06-15 をテンプレートにして作成
開始行:
#navi
RIGHT:&rsslink(../);
#boxdate
* ミンティア[MINTIA] で WiFi 6ボタンスイッチを作った :-D
RIGHT:&tag(WiFi,ESP-32,DIY,HomeAssistant,Hass.io,ESPHome);
Google Home や Alexa と HomeAssistant を統合しているので...
声を発声して、アシスタントに認識させるのが、面倒くさいと...
だって、正しく認識してくれないと、もう一度言い直したり、...
そこで、やっぱり物理ボタンですよ!
ちょうど手元にミンティアとESP-32が転がっていて・・・。ん...
おぉー!やっぱりピッタリじゃないですか!厚みが若干きつい...
で、結果こうなりました。やっぱりボタンで操作できるのは快...
&ref(site://modules/xelfinder/index.php/view/10/DSC_3857....
#clear
ボタンの穴あけを少し失敗したけど、今度作るときはもう少し...
ボタンを押すと青いLEDが光ります。
** いるもの ((価格は購入時のもの))
- [[ESP-32 モジュール:https://ja.aliexpress.com/item/3282...
- [[タクトスイッチ:https://www.marutsu.co.jp/pc/i/599871/...
- ミンティアの空き容器
- 適当なユニバーサル基板
- 2mmポリウレタン銅線 適宜
** ESPHome の設定
esp32_ble_tracker は、手元に Qmote-S があったので、うまく...
#code(yaml){{
substitutions:
devicename: switch_box_11
esphome:
name: $devicename
platform: ESP32
board: wemos_d1_mini32
on_boot:
- priority: 1000
then:
- while:
condition:
not:
api.connected:
then:
- switch.turn_on: led
- delay: 500ms
- switch.turn_off: led
- delay: 500ms
wifi:
networks: !include common/wifi.networks.yaml
# Enable fallback hotspot (captive portal) in case wifi...
ap: !include common/wifi.ap.yaml
manual_ip:
static_ip: 192.168.1.xx
gateway: 192.168.1.1
subnet: 255.255.255.0
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
esp32_ble_tracker:
id: ble_tracker
on_ble_manufacturer_data_advertise:
- mac_address: 88:4A:XX:XX:DE:52
manufacturer_id: 004C
then:
- lambda: |-
if (id(qmote_de52_click).state == false) {
id(qmote_de52_click).publish_state(true);
id(qmote_de52_click).publish_state(false);
}
- mac_address: 88:4A:XX:XX:99:BB
manufacturer_id: 004C
then:
- lambda: |-
if (id(qmote_99bb_click).state == false) {
id(qmote_99bb_click).publish_state(true);
id(qmote_99bb_click).publish_state(false);
}
- mac_address: 88:4A:XX:XX:9F:03
manufacturer_id: 004C
then:
- lambda: |-
if (id(qmote_9f03_click).state == false) {
id(qmote_9f03_click).publish_state(true);
id(qmote_9f03_click).publish_state(false);
}
binary_sensor:
- platform: gpio
pin:
number: GPIO23
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn1"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO19
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn2"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO18
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn3"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO33
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn4"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO05
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn5"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO26
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn6"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: template
id: qmote_de52_click
name: "$devicename Qmote de52 Click"
filters:
delayed_off: 800ms
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: template
id: qmote_99bb_click
name: "$devicename Qmote 99bb Click"
filters:
delayed_off: 800ms
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: template
id: qmote_9f03_click
name: "$devicename Qmote 9f03 Click"
filters:
delayed_off: 800ms
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
sensor:
- platform: wifi_signal
name: "$devicename WiFi"
update_interval: 60s
unit_of_measurement: "%"
filters:
- lambda: x = 2 * (x + 100); if (x < 0) {x = 0;} el...
switch:
- platform: restart
name: "$devicename Restart"
- platform: gpio
pin:
number: GPIO2
name: "$devicename LED"
id: led
}}
RIGHT:&font(90%){&page_comments;};
#navi
終了行:
#navi
RIGHT:&rsslink(../);
#boxdate
* ミンティア[MINTIA] で WiFi 6ボタンスイッチを作った :-D
RIGHT:&tag(WiFi,ESP-32,DIY,HomeAssistant,Hass.io,ESPHome);
Google Home や Alexa と HomeAssistant を統合しているので...
声を発声して、アシスタントに認識させるのが、面倒くさいと...
だって、正しく認識してくれないと、もう一度言い直したり、...
そこで、やっぱり物理ボタンですよ!
ちょうど手元にミンティアとESP-32が転がっていて・・・。ん...
おぉー!やっぱりピッタリじゃないですか!厚みが若干きつい...
で、結果こうなりました。やっぱりボタンで操作できるのは快...
&ref(site://modules/xelfinder/index.php/view/10/DSC_3857....
#clear
ボタンの穴あけを少し失敗したけど、今度作るときはもう少し...
ボタンを押すと青いLEDが光ります。
** いるもの ((価格は購入時のもの))
- [[ESP-32 モジュール:https://ja.aliexpress.com/item/3282...
- [[タクトスイッチ:https://www.marutsu.co.jp/pc/i/599871/...
- ミンティアの空き容器
- 適当なユニバーサル基板
- 2mmポリウレタン銅線 適宜
** ESPHome の設定
esp32_ble_tracker は、手元に Qmote-S があったので、うまく...
#code(yaml){{
substitutions:
devicename: switch_box_11
esphome:
name: $devicename
platform: ESP32
board: wemos_d1_mini32
on_boot:
- priority: 1000
then:
- while:
condition:
not:
api.connected:
then:
- switch.turn_on: led
- delay: 500ms
- switch.turn_off: led
- delay: 500ms
wifi:
networks: !include common/wifi.networks.yaml
# Enable fallback hotspot (captive portal) in case wifi...
ap: !include common/wifi.ap.yaml
manual_ip:
static_ip: 192.168.1.xx
gateway: 192.168.1.1
subnet: 255.255.255.0
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
esp32_ble_tracker:
id: ble_tracker
on_ble_manufacturer_data_advertise:
- mac_address: 88:4A:XX:XX:DE:52
manufacturer_id: 004C
then:
- lambda: |-
if (id(qmote_de52_click).state == false) {
id(qmote_de52_click).publish_state(true);
id(qmote_de52_click).publish_state(false);
}
- mac_address: 88:4A:XX:XX:99:BB
manufacturer_id: 004C
then:
- lambda: |-
if (id(qmote_99bb_click).state == false) {
id(qmote_99bb_click).publish_state(true);
id(qmote_99bb_click).publish_state(false);
}
- mac_address: 88:4A:XX:XX:9F:03
manufacturer_id: 004C
then:
- lambda: |-
if (id(qmote_9f03_click).state == false) {
id(qmote_9f03_click).publish_state(true);
id(qmote_9f03_click).publish_state(false);
}
binary_sensor:
- platform: gpio
pin:
number: GPIO23
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn1"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO19
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn2"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO18
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn3"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO33
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn4"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO05
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn5"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: gpio
pin:
number: GPIO26
inverted: True
mode: INPUT_PULLUP
name: "$devicename btn6"
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: template
id: qmote_de52_click
name: "$devicename Qmote de52 Click"
filters:
delayed_off: 800ms
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: template
id: qmote_99bb_click
name: "$devicename Qmote 99bb Click"
filters:
delayed_off: 800ms
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
- platform: template
id: qmote_9f03_click
name: "$devicename Qmote 9f03 Click"
filters:
delayed_off: 800ms
on_press:
then:
- switch.turn_on: led
on_release:
then:
- switch.turn_off: led
sensor:
- platform: wifi_signal
name: "$devicename WiFi"
update_interval: 60s
unit_of_measurement: "%"
filters:
- lambda: x = 2 * (x + 100); if (x < 0) {x = 0;} el...
switch:
- platform: restart
name: "$devicename Restart"
- platform: gpio
pin:
number: GPIO2
name: "$devicename LED"
id: led
}}
RIGHT:&font(90%){&page_comments;};
#navi
ページ名: