/remote-outlet

Remote controllable outlet controller with data logging

Primary LanguagePythonMIT LicenseMIT

Simple ESP32 remote control outlet

Features:

  • Site configuration is stored in json. Just copy a new file over the serial connection.
  • Regularly sends outlet status to influxdb
  • Polls a URL and turns on and off a device accordingly.

Hardware Assumptions

You're running an ESP32. We use this WROVER one

You have a powerful enough relay to flip on your "outlet". We use these:

You have some kind of feedback telling you if the power if on or off:

Building & Installing

MicroPython Environment Installation

Download micropython (spiram-idf4) here

sudo apt get install esptool
esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0x1000 ./micro-python/esp32spiram-idf4-20191220-v1.12.bin

Installing the Python code

pip3 install adafruit-ampy --upgrade
ampy --port /dev/ttyUSB0 put config.py /config.py
ampy --port /dev/ttyUSB0 put main.py /main.py