Mercurial > code > home > repos > homeauto
changeset 1399:5e8f1fcfbc79
espNode code
Ignore-this: 443d950518d808c2df1ade5935100e38
darcs-hash:8b1578b54f047b19e49d445943c1f6ba695c38c2
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Sun, 07 Jul 2019 11:23:48 -0700 |
parents | 53d7168bbe4c |
children | 31aed1a0af9c |
files | service/espNode/cabin.yaml service/espNode/display1.yaml service/espNode/esp8266_nightlight.yaml service/espNode/frontwindow.yaml service/espNode/nightlight_ari.yaml service/espNode/tasks.py |
diffstat | 6 files changed, 211 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/espNode/cabin.yaml Sun Jul 07 11:23:48 2019 -0700 @@ -0,0 +1,58 @@ +# https://cdn.hackaday.io/files/269911154782944/Heltec_WIFI-LoRa-32_DiagramPinout.jpg + +esphome: + name: cabin + platform: ESP32 + board: lolin32 + build_path: build + esphome_core_version: latest + +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + domain: '' + +mqtt: + broker: '10.2.0.1' + port: 1883 + username: '' + password: '' + +logger: + baud_rate: 115200 + level: DEBUG + +ota: + + +#dallas: +# - pin: GPIO16 +#sensor: +# - platform: dallas +# index: 0 +# name: temperature + +light: + - platform: fastled_clockless + chipset: WS2812B + pin: GPIO21 + num_leds: 16 + rgb_order: GRB + name: "rgb" + +i2c: + sda: 4 + scl: 15 + +font: + - file: "/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf" + id: font_vera + size: 14 + +display: + - platform: ssd1306_i2c + model: "SSD1306 128x64" + reset_pin: 16 + address: 0x3C + lambda: |- + it.print(0, 0, id(font_vera), "cabin 1.0: running");
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/espNode/display1.yaml Sun Jul 07 11:23:48 2019 -0700 @@ -0,0 +1,43 @@ +substitutions: + location: display1 + board: d1_mini + +<<: !include esp8266_nightlight.yaml + +i2c: + sda: D6 + scl: D5 + +font: + - file: "/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf" + id: font_big + size: 24 + - file: "/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf" + id: font_small + size: 12 + +text_sensor: + - platform: mqtt_subscribe + name: "Data from topic" + id: mysensor + topic: display1/text + +display: + - platform: ssd1306_i2c + model: "SSD1306 128x64" + address: 0x3c + lambda: |- + it.rectangle(0, 0, 127, 63); + it.printf(64, 5, id(font_big), TextAlign::TOP_CENTER, id(mysensor).state.c_str()); + it.printf(64, 63-5, id(font_small), TextAlign::BOTTOM_CENTER, "left today"); + + +spi: + clk_pin: D0 + miso_pin: D1 + mosi_ + pin: D2 + +pn532: + cs_pin: D3 + update_interval: 1s
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/espNode/esp8266_nightlight.yaml Sun Jul 07 11:23:48 2019 -0700 @@ -0,0 +1,23 @@ +esphome: + name: nightlight_${location} + platform: esp8266 + board: ${board} + # or esp12e + build_path: build + +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + domain: '' + +mqtt: + broker: '10.2.0.1' + port: 1883 + username: '' + password: '' + +logger: + baud_rate: 115200 + level: DEBUG + +ota:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/espNode/frontwindow.yaml Sun Jul 07 11:23:48 2019 -0700 @@ -0,0 +1,52 @@ +substitutions: + location: display1 + board: d1_mini + +<<: !include esp8266_nightlight.yaml + +i2c: + sda: D6 + scl: D5 + +font: + - file: "/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf" + id: font_big + size: 24 + - file: "/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf" + id: font_small + size: 12 + +text_sensor: + - platform: mqtt_subscribe + name: "Data from topic" + id: bigtext + topic: frontwindow/bigtext + - platform: mqtt_subscribe + name: "Data from topic" + id: smalltext + topic: frontwindow/smalltext + +display: + - platform: ssd1306_i2c + model: "SSD1306 128x64" + address: 0x3c + lambda: |- + it.rectangle(0, 0, 127, 63); + it.printf(64, 5, id(font_big), TextAlign::TOP_CENTER, id(bigtext).state.c_str()); + it.printf(64, 63-5, id(font_small), TextAlign::BOTTOM_CENTER, id(smalltext).state.c_str()); + + +spi: + clk_pin: D4 + miso_pin: D1 + mosi_pin: D2 + +pn532: + cs_pin: D3 + update_interval: 1s + on_tag: + then: + - mqtt.publish: + topic: frontwindow/tag + payload: !lambda 'return x;' +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/espNode/nightlight_ari.yaml Sun Jul 07 11:23:48 2019 -0700 @@ -0,0 +1,19 @@ +substitutions: + location: ari + +<<: !include esp8266_nightlight.yaml + +dallas: + - pin: GPIO5 +sensor: + - platform: dallas + index: 0 + name: temperature + +light: + - platform: fastled_clockless + chipset: WS2812B + pin: GPIO4 + num_leds: 16 + rgb_order: GRB + name: "rgb16"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/espNode/tasks.py Sun Jul 07 11:23:48 2019 -0700 @@ -0,0 +1,16 @@ +from invoke import task + +@task +def program_board_over_usb(ctx, board): + tag = 'esphome/esphome' + ctx.run(f"docker run --rm -v `pwd`:/config -v /usr/share/fonts:/usr/share/fonts --device=/dev/ttyUSB1 -it {tag} {board}.yaml run", pty=True) + +@task +def program_board_over_wifi(ctx, board): + tag = 'esphome/esphome' + ctx.run(f"docker run --rm -v `pwd`:/config -v /usr/share/fonts:/usr/share/fonts -it --net=host {tag} {board}.yaml run", pty=True) + +@task +def monitor_usb(ctx, board): + tag = 'esphome/esphome' + ctx.run(f"docker run --rm -v `pwd`:/config --device=/dev/ttyUSB0 -it {tag} {board}.yaml logs", pty=True)