DeskBridge es un proyecto modular de hardware y software para crear un centro de control de escritorio. El sistema combina un firmware principal, un periferico auxiliar, una aplicacion de PC, una interfaz movil y protocolos de comunicacion para supervisar sensores, controles fisicos, iluminacion, notificaciones y estado del dispositivo.
El objetivo es construir una base ordenada que pueda evolucionar desde prototipo hasta un producto propio, separando responsabilidades entre chips, programas y librerias compartidas.
El repositorio contiene:
chip_core: firmware principal del sistema.chip_keypad: firmware del periferico auxiliar de botones, acciones y luz.pc_app: programa de PC con CLI, TUI, GUI web local y backend residente.mobil_app: base de app movil Expo / React Native con conexion BLE.shared_lib: librerias compartidas entre firmwares.docs: documentacion tecnica auxiliar.Diagrams: diagramas de distribucion del hardware.OLD: copias historicas de la estructura anterior.
- Comunicacion PC <-> CHIP_CORE por USB CDC.
- Comunicacion CHIP_CORE <-> CHIP_KEYPAD por UART.
- Protocolo compartido para el periferico keypad.
- Lectura y visualizacion de sensores ambientales.
- Control de iluminacion y estados de luz.
- Botones KEY programables para acciones de teclado/multimedia.
- Notificaciones
[TFI], eventos[EVT], errores[ERR]y datos[DAT]. - GUI local basada en WebView.
- TUI de diagnostico para pruebas fisicas.
- Backend de PC con integracion de notificaciones en Windows.
- App movil base por BLE para consultar firmware, sensores y light.
- Scripts auxiliares para limpiar y programar STM32 por STLINK.
PC APP / GUI / TUI / Backend
|
| USB CDC
v
CHIP_CORE
|
| UART
v
CHIP_KEYPAD
El CHIP_CORE coordina el sistema, expone el protocolo hacia el PC y concentra
el estado del dispositivo. El CHIP_KEYPAD descarga tareas fisicas como
botones, acciones y control auxiliar de iluminacion. La app movil usa BLE como
canal reducido de consulta/control.
Valores actuales de referencia:
- Firmware CORE:
0.4.0 - Protocolo USB/serial shell:
0x04 - USB VID/PID:
1209:DB01 - BLE device name:
DBx01 - BLE service UUID:
8f7f0001-6b21-4f5e-9c7e-123456780001 - BLE characteristic UUID:
8f7f0002-6b21-4f5e-9c7e-123456780001 - Protocolo CHIP_KEYPAD:
TXT1
La aplicacion de PC vive en pc_app.
Entradas principales:
cd U:\DeskBridge\pc_app
python terminal.py --cli
python terminal.py --tui
python terminal.py --guiEl programa incluye:
- CLI para comandos directos.
- TUI para monitorizacion durante pruebas.
- GUI local WebView.
- Backend residente con icono y notificaciones.
- Configuracion persistente en
pc_app/data/data.config. - Idiomas en
pc_app/data/settings/language. - Paletas en
pc_app/data/settings/palete.
Los firmwares se compilan con PlatformIO.
CORE:
cd U:\DeskBridge\chip_core
pio run -e esp32-s3-devkitc-uartKEYPAD:
cd U:\DeskBridge\chip_keypad
pio run -e genericSTM32G030F6Scripts auxiliares del repositorio:
stm32Clear.cmd: borra la memoria del STM32 con STLINK.stm32Programmer.cmd: programa un firmware por STLINK indicando carpeta.
La app movil vive en mobil_app y usa Expo / React Native.
cd U:\DeskBridge\mobil_app
npm install
npm run startPara BLE real no sirve Expo Go; hace falta una build de desarrollo o una build
nativa porque se usa react-native-ble-plx.
npx expo prebuild
npx expo run:androidLa app movil consulta:
- Version del firmware.
- Estado de sensores.
- Estado/control de light.
- Estado basico de conexion BLE.
Comandos usados como comprobacion general del proyecto:
python -m compileall U:\DeskBridge\pc_app
cd U:\DeskBridge\chip_core
pio run -e esp32-s3-devkitc-uart
cd U:\DeskBridge\chip_keypad
pio run -e genericSTM32G030F6
cd U:\DeskBridge\mobil_app
npx expo-doctorEste proyecto esta en desarrollo activo. Algunas partes estan pensadas para pruebas fisicas y pueden cambiar segun la distribucion final del hardware.
La carpeta OLD contiene copias historicas y no representa la ruta activa de
desarrollo. La ruta activa es chip_core, chip_keypad, pc_app,
mobil_app y shared_lib.