Die lokale Entwicklung ist eines von zwei unterstützten Runtime-Profilen. Der
Server, die Arduino-Kompilierung und die Simulation laufen auf derselben
Entwicklungsmaschine. Dieses Profil ist für einen vertrauenswürdigen einzelnen
Benutzer bestimmt und lauscht standardmäßig nur auf 127.0.0.1.
- Linux oder macOS
- Node.js gemäß
.nvmrc npm- Arduino CLI mit
arduino:avrCore
Docker ist für lokale Entwicklung nicht erforderlich.
git clone https://github.com/MoDevIO/UnoSim.git
cd UnoSim
npm ci
arduino-cli core update-index
arduino-cli core install arduino:avrBackend und Vite-Frontend mit Hot Reload:
npm run dev:fullNur Backend:
npm run devDie Projektskripte setzen NODE_ENV=development und
UNOSIM_SERVER_MODE=local. Der Local-Modus verwendet lokale Sessions und führt
Sketches als lokale Prozesse aus. Docker wird weder geprüft noch als Fallback
verwendet.
Weil Sketches nativ laufen, ist der Local-Modus nur vom eigenen Rechner aus
erreichbar: Vite lauscht auf 127.0.0.1:3001, das Backend auf 127.0.0.1:3000,
und das Backend nimmt nur Anfragen an localhost oder eine Loopback-Adresse an.
Aufruf über http://localhost:3001; LAN-Adressen und fremde Hostnamen werden
abgewiesen (siehe SECURITY.md).
UNOSIM_SERVER_MODE ist der einzige Topologie-Schalter. Für Entwicklung ist
nur local gültig. Folgende frühere Schalter sind ungültig und führen zu einem
Startfehler:
UNOSIM_SIMULATION_MODEUNOSIM_TRUST_MODEFORCE_DOCKERUNOSIM_ALLOW_INSECURE_PRODUCTION_LOCAL
Häufig verwendete optionale Werte:
| Variable | Default | Zweck |
|---|---|---|
PORT |
3000 |
Backend-Port |
ARDUINO_FQBN |
arduino:avr:uno |
Arduino-Zielplattform |
ARDUINO_CACHE_DIR |
projektlokal | Arduino-Cache |
WORKER_COUNT |
CPU-abhängig | Compile-Worker |
COMPILE_MAX_CONCURRENT |
CPU-abhängig | maximale parallele Compiles |
UNOSIM_EXAMPLES_SOURCE |
ttbombadil/unosim-examples |
öffentliches Examples-Repository |
UNOSIM_EXAMPLES_REF |
main |
Examples-Ref; serverseitig zu einem Commit aufgelöst |
UNOSIM_EXAMPLES_ALLOWED_HOSTS |
GitHub-Hosts im Development | ausgehende Host-Allowlist |
UNOSIM_GITHUB_TOKEN |
leer | optionaler Read-only-Token nur für api.github.com; hebt das Ref-Kontingent von 60 auf 5000 Abfragen pro Stunde |
External-Examples-Details stehen in
ssot_function_definition_ExternalExamples.md.
npm run check
npm run test:unit
npm run test:integration
npm run test:e2eDocker-Sandbox-Tests sind ein getrenntes Gate und werden unter
INSTALL_SERVER.md beschrieben.
- Arduino CLI fehlt:
arduino-cli versionundarduino-cli core listprüfen. - Port belegt:
lsof -nP -iTCP:3000 -sTCP:LISTENprüfen. - Docker-Fehler im lokalen Profil weisen auf eine falsche Konfiguration hin; lokale Entwicklung verwendet Docker nicht.