Stage 6 of 6 · Lab session · Monday, November 16
Lab & hand-in
Today's lab ends with the full circle, a phone steering a control loop through four protocols, and with your project framed on paper. D1 is due this week per the brief on Omnivox; the session reserves a block for it, and the teacher circulates for project questions all afternoon.
The two-hour plan
| Minutes | Block | Done means |
|---|---|---|
| 0–10 | Station up: Week 10 stack running (broker, node loop), repo pulled, venv active | Firehose shows the light topic flowing; hostname -I noted |
| 10–30 | Flask: install, first serve, 0.0.0.0, UFW 5000, template | The page loads on the laptop and on a phone over bench Wi-Fi |
| 30–55 | The bridge: paho on loop_start, live /api/light | JSON shows real readings; shading the sensor moves the number |
| 55–80 | The page: fetch loop, then rungs 1–2 (status chip, setpoint control) | The full circle demonstrated: Set on the phone, the LED answers |
| 80–95 | Ladder: rung 3 or 4, station's choice | History on screen, or the fleet table listing neighbours |
| 95–115 | Project block: brief re-read as a pair, six blanks filled, rung list drafted, D1 work per the brief, questions to the teacher | The frame and rung list exist on paper; D1 submitted or scheduled per the brief |
| 115–120 | Evidence committed and pushed; bench packed, full kit travels | Both boards home: studio weeks assume a running stack at each class |
Evidence to hand in
- The app:
app.pyandtemplates/dashboard.html, runnable, with whatever ladder rungs you reached. - Proof it serves the room: two screenshots in
docs/, the dashboard on the laptop and on a phone, the live number visibly mid-dip in at least one (shade the sensor as you shoot). - The pair agreements in the repo README: boards, split, sync rhythm, per the project page.
- The project frame: the six filled blanks and the ranked rung list, in
docs/project-frame.md, the raw material D1's brief-governed submission draws on. - Journal entry in
station.txt: which wall you hit (bind, firewall, bridge, reloader) and the failure signature that named it. - D1 itself: per the brief on Omnivox, its format and channel govern.
Exit ticket
Say or write, without notes:
- The full-circle path of one Set press, protocol by protocol, machine by machine.
- The two-patterns table's "who initiates / when / audience" rows, with the bench's own examples.
- Why the bridge dict exists, in one sentence containing the word "stateless".
- Your Pi's three open doors and the one-line justification for each.
- Your project's six blanks, from memory.
Before next Monday
- D1 closes this week if it has not already: the brief's word on format and deadline governs; the questions log travels with it.
- Skeleton work starts now. Next Monday is studio and D2 lands there: arrive with the walking skeleton attempted, so studio time goes to its hardest interface instead of its first.
- Split and sync as agreed: the mid-week check-in you wrote in the README happens this week for the first time; make it real.
Next week: studio
Week 12 · Monday, November 23
Project studio
Supervised project work, the whole session: the stack is built, the teacher circulates, and the hour belongs to your hardest problem. D2 is due, the milestone the walking skeleton was aimed at, per the brief.
What you now have
The whole course, running
Sense, network, decide, act, show: every box of the Week 8 diagram filled, by you, on hardware you configured. From here to December the course adds no new fundamentals; it watches what you build on them.