# HG changeset patch # User drewp # Date 1562523828 25200 # Node ID 5e8f1fcfbc79c62313046bc9f906658de56d92e8 # Parent 53d7168bbe4cf8aadd2a9275aba0f69e07802d98 espNode code Ignore-this: 443d950518d808c2df1ade5935100e38 darcs-hash:8b1578b54f047b19e49d445943c1f6ba695c38c2 diff -r 53d7168bbe4c -r 5e8f1fcfbc79 service/espNode/cabin.yaml --- /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"); diff -r 53d7168bbe4c -r 5e8f1fcfbc79 service/espNode/display1.yaml --- /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 diff -r 53d7168bbe4c -r 5e8f1fcfbc79 service/espNode/esp8266_nightlight.yaml --- /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: diff -r 53d7168bbe4c -r 5e8f1fcfbc79 service/espNode/frontwindow.yaml --- /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;' + diff -r 53d7168bbe4c -r 5e8f1fcfbc79 service/espNode/nightlight_ari.yaml --- /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" diff -r 53d7168bbe4c -r 5e8f1fcfbc79 service/espNode/tasks.py --- /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)