saving changes

master
Drew Bednar 3 years ago
parent 8434390115
commit 3580214508

@ -1,6 +1,7 @@
# MicroPython ESP8266/ESP32 # MicroPython ESP8266/ESP32
## Installation ## Installation
You will want to make sure you are installing the latest version of [Micropython](hhttps://micropython.org/). Download the appropriate [.bin for your chip](https://micropython.org/download) and flash it to your board using the [esptool](https://github.com/espressif/esptool). You will most likely need the UART driver for this operation. In my case my board uses the [Silicon Labs CP210x driver](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers). You will want to make sure you are installing the latest version of [Micropython](hhttps://micropython.org/). Download the appropriate [.bin for your chip](https://micropython.org/download) and flash it to your board using the [esptool](https://github.com/espressif/esptool). You will most likely need the UART driver for this operation. In my case my board uses the [Silicon Labs CP210x driver](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers).
### Create a new virtualenv ### Create a new virtualenv
@ -11,7 +12,9 @@ Virtualenv's separate third party packages from your system Python installation.
python3 -m venv env python3 -m venv env
source env/bin/activate source env/bin/activate
``` ```
Then pip install the requirements listed in the provided file. Then pip install the requirements listed in the provided file.
``` ```
pip install -r requirements.txt pip install -r requirements.txt
``` ```
@ -25,12 +28,14 @@ I am using a Mac and after installing the CP210x driver and plugging in the boar
crw-rw-rw- 1 root wheel 18, 5 Feb 2 11:03 /dev/cu.SLAB_USBtoUART crw-rw-rw- 1 root wheel 18, 5 Feb 2 11:03 /dev/cu.SLAB_USBtoUART
crw-rw-rw- 1 root wheel 18, 4 Feb 2 11:03 /dev/tty.SLAB_USBtoUART crw-rw-rw- 1 root wheel 18, 4 Feb 2 11:03 /dev/tty.SLAB_USBtoUART
``` ```
The file type position lists this as a 'c' or character device. The `cu.SLAB_USBtoUART` and `tty.SLAB_USBtoUART` The file type position lists this as a 'c' or character device. The `cu.SLAB_USBtoUART` and `tty.SLAB_USBtoUART`
are the same device, but tty is supposed to be used for devices calling into Unix/Linux where are the same device, but tty is supposed to be used for devices calling into Unix/Linux where
cu is a "Call-Up" device meant for calling other devices (e.g. modems). Since we are calling from the Mac to cu is a "Call-Up" device meant for calling other devices (e.g. modems). Since we are calling from the Mac to
the dev board we will be using the `/dev/cu.SLAB_USBtoUART` character file for connecting to the board. the dev board we will be using the `/dev/cu.SLAB_USBtoUART` character file for connecting to the board.
### Flashing your board ### Flashing your board
ESP32 ESP32
``` ```
@ -42,6 +47,7 @@ esptool.py --chip esp32 --port /dev/cu.SLAB_USBtoUART --baud 115200 write_flash
``` ```
ESP8266 ESP8266
``` ```
esptool.py -p /dev/cu.SLAB_USBtoUART erase_flash esptool.py -p /dev/cu.SLAB_USBtoUART erase_flash
``` ```
@ -100,8 +106,8 @@ Let's start assuming you are going to use the downloadable [MQTT broker](https:/
```yaml ```yaml
#MQTT Setup #MQTT Setup
mqtt: mqtt:
broker: 0.0.0.0 broker: 0.0.0.0
port: 1883 port: 1883
``` ```
This will ensure that your broker properly configured. Now just make sure that you set the `Start on boot` to True in the addon details and restart your home-assistant. This will ensure that your broker properly configured. Now just make sure that you set the `Start on boot` to True in the addon details and restart your home-assistant.
@ -114,13 +120,13 @@ Once again you may be a little confused by the official documentation for settin
#MQTT Light Sensor #MQTT Light Sensor
sensor office_light: sensor office_light:
- platform: mqtt - platform: mqtt
name: "Office Light" name: 'Office Light'
unit_of_measurement: "No." unit_of_measurement: 'No.'
# Note your esp8266 will have a different MAC id. You can find the sensor's full topic path in the logs of the MQTT add-on # Note your esp8266 will have a different MAC id. You can find the sensor's full topic path in the logs of the MQTT add-on
state_topic: "light/esp8266_aa00f800" state_topic: 'light/esp8266_aa00f800'
# Our json is a simple single value extracted with this jinja2 template # Our json is a simple single value extracted with this jinja2 template
# More templating info can be found here https://www.home-assistant.io/docs/configuration/templating/#processing-incoming-data # More templating info can be found here https://www.home-assistant.io/docs/configuration/templating/#processing-incoming-data
value_template: "{{value_json.payload}}" value_template: '{{value_json.payload}}'
# Material design icons https://cdn.materialdesignicons.com/2.3.54/ # Material design icons https://cdn.materialdesignicons.com/2.3.54/
icon: mdi:lightbulb-on-outline icon: mdi:lightbulb-on-outline
``` ```
@ -142,3 +148,7 @@ Let's assume you haven't built the ESP8266 sensor. You can still test your servi
- https://learn.adafruit.com/micropython-hardware-i2c-devices - https://learn.adafruit.com/micropython-hardware-i2c-devices
- https://learn.adafruit.com/micropython-hardware-spi-devices - https://learn.adafruit.com/micropython-hardware-spi-devices
- https://learn.adafruit.com/building-and-running-micropython-on-the-esp8266/overview - https://learn.adafruit.com/building-and-running-micropython-on-the-esp8266/overview
### Libs
- https://github.com/jczic/MicroWebSrv

@ -0,0 +1,56 @@
export AMPY_PORT=/dev/cu.SLAB_USBtoUART
export BAUD_RATE=115200
ARG=$1
if [ "$ARG" = '--kit' ] || [ "$ARG" = '-k' ]; then
echo "Using ESP-WOVER-kit_v4.1"
# export AMPY_PORT=/dev/cu.usbserial-143101
export AMPY_PORT=/dev/cu.usbserial-14401
fi
function _set_kit_usbserial (){
}
function repl_connect (){
echo "Connecting to $AMPY_PORT"
echo "Use Ctrl+a then k to kill the session"
sleep 2;
screen $AMPY_PORT $BAUD_RATE
}
function upy (){
_command=${1}
shift
# echo "command $_command params $@"
ampy -p $AMPY_PORT -b $BAUD_RATE ${_command} $@
}
# m0 maps to conng
alias mp="mpremote m0"
function esp32-docs () {
echo "\nDocs: https://docs.micropython.org/en/latest/esp32/quickref.html\n"
open 'https://docs.micropython.org/en/latest/esp32/quickref.html'
}
function upy-git () {
echo '\n Upy Git: https://github.com/micropython/micropython\n'
open 'https://github.com/micropython/micropython'
}
# Cool things you can do with mpremote
function mpremote_usage () {
echo "\n#### USAGE ####\n"
echo "\nDocs: https://docs.micropython.org/en/latest/reference/mpremote.html\n"
echo 'Ideas:'
echo "- The config file for mprempte is in ~/.config/mpremote/config.py"
echo '- You can user `mp mount . exec "import foo"` to mount a foo module from curdir and programmatically execute it.'
echo '- Rapidly iterate compiling C into .mpy files then mounting that file on your board! See: https://www.youtube.com/watch?v=EVJA01W9ArI'
echo "\n#### USAGE END ####\n"
}

@ -1,29 +0,0 @@
export AMPY_PORT=/dev/cu.SLAB_USBtoUART
export BAUD_RATE=115200
ARG=$1
if [ "$ARG" = '--kit' ] || [ "$ARG" = '-k' ]; then
echo "Using ESP-WOVER-kit_v4.1"
# export AMPY_PORT=/dev/cu.usbserial-143101
export AMPY_PORT=/dev/cu.usbserial-14401
fi
function _set_kit_usbserial (){
}
function repl_connect (){
echo "Connecting to $AMPY_PORT"
echo "Use Ctrl+a then k to kill the session"
sleep 2;
screen $AMPY_PORT $BAUD_RATE
}
function upy (){
_command=${1}
shift
# echo "command $_command params $@"
ampy -p $AMPY_PORT -b $BAUD_RATE ${_command} $@
}

@ -0,0 +1,4 @@
{
"neo_pin": 48,
"neo_number": 1
}
Loading…
Cancel
Save