Skip to content

Repository files navigation

CDMX BayesOpt

🇲🇽 Español · 🇬🇧 English

Experimento ligero de optimización bayesiana para una Radxa ZERO 3W de 1 GB. Un NeoPixel ilumina una superficie, el TCS34725 mide el color reflejado y BayesOpt ajusta rojo, verde y azul para acercarse a un color objetivo.

Taller

Desde una terminal del escritorio compartido:

./get-bayesopt-code
cd cdmx-bayesopt
./scripts/color-lab.sh

Abra http://equipoN.local:8010/ para cambiar el LED y ver el sensor. Este comando corre en primer plano: Ctrl-C detiene el sitio y el muestreo. No queda un servicio Color Lab consumiendo recursos en segundo plano.

Para optimizar, primero detenga Color Lab y ejecute:

./scripts/bayesopt.sh '#4A80C0'
# también acepta: ./scripts/bayesopt.sh '74,128,192'

BayesOpt controla I²C/SPI directamente; no inicia Color Lab. La campaña se ve en http://equipoN.local:8000/ y Ctrl-C la detiene. Las salidas quedan en runs/color-campaign/.

Cableado fijo (placa apagada)

Dispositivo Señal Pin físico
TCS34725 VCC / GND / SCL / SDA 4 / 6 / 8 / 10
NeoPixel VCC / DIN / GND 2 / 19 / 20

La imagen mantiene siempre activos i2c-gpio-cdmx en los pines 8/10 y SPI3_MOSI en el pin 19. Encender o apagar Color Lab no cambia los GPIO. Se recomienda un 74AHCT125 o 74HCT245 para DIN si el NeoPixel usa 5 V.

Instalación sin la imagen del taller

En RadxaOS, una sola vez y desde una sesión donde sudo esté permitido:

git clone https://github.com/the-matter-lab/cdmx-bayesopt.git
cd cdmx-bayesopt
./scripts/setup.sh
sudo reboot

setup.sh instala permanentemente el overlay, el módulo I²C, SPI3, permisos y el entorno Python. También elimina el antiguo servicio Color Lab automático. Después del reinicio se usan solamente color-lab.sh y bayesopt.sh.

Sin hardware, pruebe la interfaz con ./scripts/color-lab.sh --simulate. La demo matemática 2D se ejecuta directamente con:

.venv/bin/cdmx-bayesopt --iterations 20 --gif --serve --output runs/demo

Desarrollo

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --editable '.[visual]'
make test

Las interfaces locales no tienen autenticación: úselas solamente en una LAN de confianza. Proyecto inspirado por self-driving-lab-demo; licencia y atribución en LICENSE y NOTICE.md.

About

Lightweight 2-D Bayesian optimization for the CDMX Radxa workshop

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages