changeset 596:a56bc73d308c

espNode code Ignore-this: 443d950518d808c2df1ade5935100e38
author drewp@bigasterisk.com
date Sun, 07 Jul 2019 11:23:48 -0700
parents 7fd9fa5d33aa
children e1ee6661329a
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)