uPyLibs/README.md

2.1 KiB

uPyLibs

A MicroPython library which experts have described as "framework-adjacent" and "probably not very good".

Written to abstract away MicroPython board (ESP8266/ESP8285, ESP32, PyBoard, etc) specifics, and include support for all onboard hardware Currently, the library supports the following:

  • ESP8266-based boards:
    • Generic
    • Generic "arduino-compatible" D1 board (may be marked R2, may not, but it'd still be R2)
    • NodeMCU v1.0 (LOLINv3) dev boards
    • Heltec WiFi_Kit_8
    • TTGO-branded "gumstick"-style board with 128x32 SSD1306 OLED
  • ESP32-based boards:
    • Generic
    • "WeMos" LOLIN32 dev board with 128x64 SSD1306 OLED
    • Heltec WiFi_Kit_32
  • WiFi automatic setup where possible
    • Multiple wifi networks configured in a config file
  • i2c abstraction with automatic setup
  • OneWire abstraction
  • SSD1306-based OLED display setup
  • Sensor abstraction support
    • OneWire DS18B20 (Temperature)
    • i2c BME280 (Temperature, Humidity, Pressure)
    • i2c LM75A (Temperature)
    • i2c SHT21 (Temperature, Humidity)
  • Very basic webserver class supporting route definitions

Support is planned for the following:

  • nRF51-based boards supporting MicroPython:
    • BBC micro:bit
  • Expanded ESP8266-based board support
  • Expanded ESP32-based board support
    • Support for peripherals present in ESP32
      • Capacitive Touch
      • Hall-effect Sensor
      • Internal Temperature
      • Bluetooth + Bluetooth Low Energy
  • Support for LoRa/LoRaWAN
  • Improved WiFi automatic setup, possibly storing WiFi network details in flash and falling back to broadcasting AP if STA connection is impossible
  • SPI abstraction with automatic setup
  • SPI Nokia 5110/3310 LCD display setup
  • Sensors
    • TMP36
  • Peripherals/Add-on boards
    • GSM modems
      • SMS
      • Data
    • GPS
      • Time sync
      • Location
  • tinyWebServer
    • Support for method-specific route definitions
    • Support for HTTP methods other than GET
    • Support for keep-alive
    • Support for threading
    • Automatic cleanup of sockets
    • HTTP request header passthru to handler
    • HTTP response header configuration by handler