view espNode/tasks.py @ 800:b311e6ca7bbd

use local esphome dev version
author drewp@bigasterisk.com
date Sat, 27 Mar 2021 22:11:17 -0700
parents bc3516d02762
children 0bf15b97f25a
line wrap: on
line source

from invoke import task

tag = 'esphome/esphome:dev'
tag = 'esphome_dev'
esphome = f'docker run --rm -v `pwd`:/config -v /usr/share/fonts:/usr/share/fonts --device=/dev/ttyUSB0 -it {tag}'

esphome = '/home/drewp/Downloads/esphome/env/bin/esphome'

@task
def get_dev_esphome(ctx):
    ctx.run(f'docker build -t esphome_dev -f docker/Dockerfile https://github.com/MasterTim17/esphome.git#dev')

@task
def pull_esphome(ctx):
    ctx.run(f"docker pull {tag}")

@task
def program_board_over_usb(ctx, board):
    board = board.replace('.yaml', '')
    print('connect gnd, 3v3, rx/tx per https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/, ')
    print('rts to reset (if possible), dtr to gpio0 per https://github.com/espressif/esptool/wiki/ESP32-Boot-Mode-Selection#automatic-bootloader')
    ctx.run(f"{esphome} {board}.yaml run", pty=True)

@task
def program_board_over_wifi(ctx, board):
    board = board.replace('.yaml', '')
    ctx.run(f"{esphome} {board}.yaml run", pty=True)

@task
def monitor_usb(ctx, board):
    board = board.replace('.yaml', '')
    ctx.run(f"{esphome} {board}.yaml logs", pty=True)

# device up?
#  nmap -Pn -p 3232,6053 10.2.0.21