Brickmaster Lego Control
Project description
BRICKMASTER
Summary
A (Circuit)Python application for controlling relays and devices. The most important of which are, of course, Legos.
Project Goals
- Provide a common interface for a variety of devices
- Be able to do cool automations with connected devices (ie: Saturn 5 launch simulation)
- Teach myself some more Python (and hardware, and MQTT)
Supported Platforms
- Raspberry Pi OS (Bookworm) - Specifically on the Pi Zero W. Other Pis should work just fine, just aren't tested.
- CircuitPython 9 - CircuitPython 8 is no longer being tested.
- Adafruit Metro M4 Airlift - Default pystack size on this board is 1536, which should be raised to at least
-
- Given notable memory limitations of this board I may stop testing in the near future. Requires a pystack value of at least 4096, possibly more depending on your control configuration. The ESP32 line or possibly the Metro M7 Airlift would be recommended instead.
- Adafruit ESP32 Feather v2
Feature set is intended to be 1:1 between CPython and CircuitPython. Documentation notes where this is not true due to platform limitations.
v0.7 Target Features
- Load config from a remote site.
- Remote reload command to reset (and load new config!)
- Actual Sphinx documentation
V0.6 Target Features
- Option to load config from a remote site (ie: web directory) - Nope, moving to v0.7
- Package for PyPi and Circup.
- Control options
Multi-pin controls.Done!Groups to wrap multiple controls together.- Dropped. Probably better to group through Home Assistant.Flasher option.Done!Multiple AW9523 expandersTested, works! Note, still can't mix pins across sources for a single control.
Latest Updates - V0.5.1
- Debugged issues with client reconnection when the broker goes away (ie: restarts)
- Discovery and Status messages are now retained, which allows devices/entities and their status to be maintained across HA restarts. No more disappearing devices.
- Added new MQTT 'log' option to control logging of the base MQTT client. This is a deep debug option, should really only be needed for debugging.
- Fixed indicator LEDs - those broke at some point - and rewrote them to use CtrlGPIO control objects for consistency.
- Included and tested example systemd units for Linux installs.
- Updated CircuitPython 'code.py' startup file to be smarter and behave as a parallel to the cli invoker on Linux.
- Reorganized with an eye towards packaging. Will learn how to do that at some point.
- Cleaned up some settings and updated documentation.
Latest Updates - V0.5.0
Having struggled with CircuitPython/Adafruit-MiniMQTT stability issues, I have refactored the whole network module and split based on platform. Brickmaster2 on linux will now use the very robust PAHO MQTT, which I also use in my other project, CobraBay. This leads to some code bloat. Notes on how to deploy based on platform are below.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file brickmaster-0.6.1b2.tar.gz.
File metadata
- Download URL: brickmaster-0.6.1b2.tar.gz
- Upload date:
- Size: 10.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4978452b4921d804b87d971c2ebe2de15425709558eb9bfc2d71b212b138e530
|
|
| MD5 |
7a89cfff015913104c29228a26c1d3a2
|
|
| BLAKE2b-256 |
9a5fbdde2df1ccc92e6f24cb94712a9e24316dddac43cefdcc4d93ca1cd0b0ff
|
File details
Details for the file brickmaster-0.6.1b2-py3-none-any.whl.
File metadata
- Download URL: brickmaster-0.6.1b2-py3-none-any.whl
- Upload date:
- Size: 55.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd1e5e51e940cf518e5f2fa3677c9244e3304d853df5a73d9e87d7e93b7b718
|
|
| MD5 |
593aa1c13fef2d6a725257d7d3cd24a7
|
|
| BLAKE2b-256 |
ff07a059ddd26617f0478b34bb0b7c23851a1d72280622e5c8ed2209490c61ad
|