Skip to main content

Python tool & library for using ESP32 based Ezdevice.net projects

Project description

# EZDevice-python

This project is in alpha test - you probably don't want this yet.

# Installation

You can install this package with the [pip utility](https://pypi.org/project/ezdevice/) (this project requires python 3):

pip install ezdevice-python

Once installed you can use this executable either as a command-line tool or as a library for your own python applications.

## Talking to your devices via the web from Python

You can use the [EZDeviceClient class](/doc/ezdevice.client.html) as a wrapper for the REST API exposed by the server.
Click the link to see the current crude generated HTML documention or see [the source code](/ezdevice/client.py) for
the current implemention. This library is not yet complete, essentially offering only an API to set the image shown on the screen.
Send me a note if you'd like to use it and a feature is missing and I'll add it.

All of the API operations are also available from the shell for testing. For instance, the following will show an image on the display.

```
# show a github logo
ezdevice --target JXXXX --claim --displayfile github.png
# show an HTML file
ezdevice --target JXXXX --claim --displayfile myfile.html
```

## Programming new devices

This tool _should_ automate the process of installing a ezdevice binary onto a new device. You run it as follows

ezdevice --install BOARDTYPE

Where boardtype is a pair of letters:

- JL for the TTGO T5 with a 2.13" eink screen
- JK for the TTGO T5 with a 2.9" red and black eink screen
- JY for the TTGO T5 with a 2.9" yellow and black eink screen
- JM for the TTGO T5s with a two color eink screen
- JR for the TTGO T4
- JO for the TTGO with a 18650 battery and OLED screen (I'm not sure if this has a model number)
- JG for the TTGO GROW plant sensor
- JT for the TTGO Camera (the skinny one with no motion sensor)
- JC for the TTGO Camera (the wider one with bigger screen and a motion sensor)
- MS for the M5STICK board
- MB for the M5BASIC board

Support for other device types will be released soon.

Example session:

```
mymachine:~$ ezdevice --install L
Downloading firmware for board type L from https://joyfirmware.s3.amazonaws.com/firmware-L.bin
esptool.py v2.6
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting......
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: XXX
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 926960 bytes to 509378...
Wrote 926960 bytes (509378 compressed) at 0x00010000 in 8.3 seconds (effective 898.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
esptool.py v2.6
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting........_
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: XXX
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Erasing region (may be slow depending on size)...
Erase completed successfully in 3.4 seconds.
Hard resetting via RTS pin...
No preconfigured wifi settings found
Please use your phone to connect to the wifi from your new device and tell it your wifi settings
The SSID will be EZdevice-XXXX
```

# Author

Kevin Hester, kevinh@geeksville.com

# License

FIXME add MIT license

# Contributing

The root repository for this project is located at https://github.com/geeksville/ezdevice-python. Issues and pull requests are gratefully accepted.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezdevice-0.0.7.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

ezdevice-0.0.7-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file ezdevice-0.0.7.tar.gz.

File metadata

  • Download URL: ezdevice-0.0.7.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for ezdevice-0.0.7.tar.gz
Algorithm Hash digest
SHA256 6b51dcf5230f9737d879bfa3c7b5c97c7b1caadd8177907f314e83a16b273063
MD5 669bd39f2c5b65b9e5725593ccf7403d
BLAKE2b-256 4363ba15f9a739addd9d35bd52acc44e9bf45b76e8c32ee5933de408578a5f16

See more details on using hashes here.

File details

Details for the file ezdevice-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: ezdevice-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for ezdevice-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c4d0668ebae5de7c14250d69095c857e61c4b49e2cefe5a82d1a91a5088b0910
MD5 8c764a4c361441a0546e2e9021e65c1d
BLAKE2b-256 536adbecc336fdea82217b1f19295854c0d64f407a6820467cdbe6e34fa77dbf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page