How pratham-mishra225/street-light-automation works
The product uses an 8086 assembly program as its authoritative lighting decision engine. Its state file is exposed by a Node.js bridge and visualized by a React interface, which also has a separate local demo mode. The README documents the decision behavior; the assembly implementation was not sampled, so internal assembly steps are not expanded.
Main entry points: index.js Node state API · main.jsx Live state polling · street_light.asm 8086 decision engine · STATE.TXT Lighting state file
Components 8
Lighting decisions
- 8086 decision engine
assembly/street_light.asm - Lighting state file
test-emu/STATE.TXT
State bridge
- Node state API
server/index.js
Visualization
- Demo simulation
frontend/src/main.jsx - Live state polling
frontend/src/main.jsx - Road and lamp visualization
frontend/src/main.jsx - Energy and state metrics
frontend/src/main.jsx
Other components
- Operator
Connections 9
- Operator → 8086 decision engine: enters conditions
- 8086 decision engine → Lighting state file: writes decisions
- Node state API → Lighting state file: reads state
- Live state polling → Node state API: requests state
- Node state API → Live state polling: returns state
- Operator → Demo simulation: sets demo inputs
- Demo simulation → Road and lamp visualization: provides simulated state
- Live state polling → Road and lamp visualization: provides live state
- Road and lamp visualization → Energy and state metrics: supplies displayed state