- JavaScript 81.7%
- Python 7.2%
- CSS 4.4%
- HTML 4.2%
- Shell 2.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| app | ||
| hardware/esp32 | ||
| scripts | ||
| spike | ||
| .gitignore | ||
| LICENSE | ||
| PLA-MILLORA-AULA.md | ||
| README.md | ||
| ROBOTICS-V2.md | ||
| THIRD_PARTY.md | ||
EduTicTac Robotics
Programa robòtica sense necessitar robots: blocs (Blockly) → MicroPython → dispositiu virtual al navegador. Local-first, anònim, sense IA, llicències netes.
Funciona amb micro:bit (simulador oficial autoallotjat) i amb ESP32 (dispositiu virtual
propi amb Pyodide + mòdul edu), i el mateix projecte de blocs es pot portar a una placa real.
Estat
Prototip funcional desplegat a https://robotics.edutictac.es.
- ✅ Editor de blocs multiblaca (micro:bit | ESP32) amb generadors per target.
- ✅ Simulador micro:bit autoallotjat (
/simulator/, v0.1.14, MIT). - ✅ Dispositiu virtual ESP32 (Pyodide autoallotjat, mòdul
edu, placa 8×8 + botons + so). - ✅ Botó "Prova a Wokwi" (servei extern) per al target ESP32.
- ✅ Multilingüe (català, castellà, anglés), persistència, export/import XML, responsive.
- ✅ Suite de tests (Vitest) i CI (Forgejo Actions).
- ⚠️ Pendents: validació en placa real, PWA/manifest, code-splitting.
Com executar-ho
cd app
npm install
npm run dev # desenvolupament (http://127.0.0.1:5173)
npm test # tests del generador
npm run build # build de producció a app/dist
Abans del primer build, baixar els actius autoallotjats:
./scripts/fetch-simulator.sh # simulador micro:bit (MIT) → app/public/simulator
./scripts/fetch-pyodide.sh # Pyodide core (MPL-2.0) → app/public/pyodide
El desplegament actual és una web estàtica (nginx) amb el contingut de app/dist/.
Com funciona
Català Programes una vegada amb blocs i tries la placa on ho vols veure: micro:bit o ESP32. Els blocs són els mateixos (la lògica no canvia); el que canvia és el codi que es genera per a cada placa. El dispositiu virtual és la mateixa experiència sense maquinari; quan vols, exportes el programa a la placa real.
Castellano Programas una vez con bloques y eliges la placa: micro:bit o ESP32. Los bloques son los mismos (la lógica no cambia); cambia el código generado para cada placa. El dispositivo virtual es la misma experiencia sin hardware; cuando quieres, exportas el programa a la placa real.
English You program once with blocks and pick the board: micro:bit or ESP32. The blocks stay the same (the logic does not change); only the generated code changes per board. The virtual device is the same no-hardware experience; whenever you like, export the program to the real board.
Estructura
| Ruta | Què és |
|---|---|
app/ |
Aplicació Vite + React + Blockly |
app/src/blocks.js |
Blocs neutres + generadors per target (microbit / edu) |
app/public/edu-worker.js |
Worker (module) que executa el codi amb Pyodide |
app/src/VirtualBoard.jsx |
Placa virtual ESP32 (matriu 8×8, botons, llum) |
hardware/esp32/edu.py |
Mòdul edu real per a l'ESP32 + escut |
spike/ |
Proves de validació del simulador oficial micro:bit |
ROBOTICS-V2.md |
Document de disseny, decisions i roadmap |
PLA-MILLORA-AULA.md |
Pla de millora per a l'aula (perfils, missions, progrés, PWA…) |
scripts/ |
Baixadors reproduïbles dels actius autoallotjats |
Llicències i tercers
- Codi nou: MIT (vegeu
LICENSE). - Documentació: CC BY-SA 4.0 (prevista).
- Dependències: Blockly (Apache-2.0), simulador oficial micro:bit (MIT), Pyodide (MPL-2.0).
- Detalls i atribucions dels tercers incrustats: vegeu
THIRD_PARTY.md. - Wokwi s'usa només com a enllaç extern (propietari), mai embegut.