feat: initial project setup with camera control panel

3D printing project with Ender 3 V3 SE documentation, OctoPrint/Pi
infrastructure docs, and PTZ camera control webapp for two TENVIS
cameras proxied through Raspberry Pi to Frigate NVR.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mortdecai
2026-03-26 19:14:30 -04:00
commit 9daf6acd66
5 changed files with 560 additions and 0 deletions
+81
View File
@@ -0,0 +1,81 @@
# SESSION.md — 3D Printing Project
## Context Files
- `/root/bin/core_homelab.md` — cluster topology, SSH aliases
- `/root/bin/services_directory.md` — active service IPs and domains
- `/root/bin/SESSION.md` — global session memory
- `./CONTEXT.md` — printer hardware, filament inventory, and accessories
- `./GITEA_API.md` — Gitea push credentials and commit convention
## Project Summary
3D printing setup and management for a Creality Ender 3 homelab. Covers two printers (Ender 3 V3 SE and Ender 3 S1 Pro), filament inventory across PLA/PETG/ABS in multiple colors, and hardened steel MK8 nozzles. The CONTEXT.md file serves as an inventory of purchased hardware and consumables.
## Memory Discipline
- Update `SESSION.md` immediately when a durable fact, decision, or fix is discovered.
- Before every final reply, run a memory check and append any missing durable notes.
- End every reply with one line: `Session memory: updated` or `Session memory: no new durable facts.`
## Hardware
### Printer
| Printer | Speed | Extruder | Auto-Level | Build Volume |
|---|---|---|---|---|
| Creality Ender 3 V3 SE | 250 mm/s | Sprite Direct Drive | CR Touch | 220 x 220 x 250 mm |
### Filament Inventory
| Material | Color | Brand | Diameter |
|---|---|---|---|
| PLA | White | OVERTURE | 1.75 mm |
| PLA | Black | OVERTURE | 1.75 mm |
| PLA | Black | ELEGOO | 1.75 mm |
| PLA | Dark Blue | ELEGOO | 1.75 mm |
| PLA | Transparent | SUNLU | 1.75 mm |
| ABS | Black | Creality | 1.75 mm |
| PETG | Red | Creality | 1.75 mm |
| PETG | Black | Creality | 1.75 mm |
### Accessories
- Creality Hardened Steel MK8 Nozzles (5-pack) — for abrasive filaments
## Gitea
- Repo: https://git.sethpc.xyz/Seth/3d-printing
- Remote: `https://Seth:REDACTED_GITEA_TOKEN@git.sethpc.xyz/Seth/3d-printing.git`
- API key: see `./GITEA_API.md`
## Session Notes
### Initial setup (2026-03-17)
- Created SESSION.md from template in SESSION.default.md
- Organized CONTEXT.md inventory data into structured hardware/filament tables
### Camera/Pi discovery (2026-03-24)
- Pi 3B+ (`seth-pi`) found at 192.168.0.102 (wlan0) / 192.168.0.101 (eth0)
- eth0 connects to isolated router with 2 IP cameras (192.168.0.100, 192.168.0.103)
- 6 socat proxy services bridge camera HTTP/RTSP/ONVIF to main network
- go2rtc v1.9.14 restreams both cameras (H.264 hw + MJPEG)
- OctoPrint running on port 5000
- Camera creds: admin/admin (default, isolated subnet)
- Created CLAUDE.md with full infrastructure documentation
- [x] Document OctoPrint setup — done, documented in CLAUDE.md
- Camera make: TENVIS (both cameras)
### Camera control panel (2026-03-24)
- Built single-page PTZ control webapp (`cam-control/server.py`)
- Deployed to Frigate CT 241 at http://192.168.0.220:8090
- systemd service `cam-control.service` enabled and running
- Features: dual MJPEG feeds via go2rtc, PTZ D-pad, speed, flip/mirror
### OctoPrint timelapse fix (2026-03-24)
- Pi fstab pointed to pve197 for tank SMB — updated to node-173 post-migration
- Created octoprint Samba user on node-173 (creds: octoprint/octoprint)
- Timelapses dir at /tank/Timelapses now accessible, OctoPrint restarted
### Open threads
- [x] Identified camera: TENVIS, internal model C9F0SeZ0N0P4L0 (Hi3510 SoC), firmware V9.1.6.1.24-20170925
- [ ] Add slicer profiles and recommended print settings per filament type
- [ ] Set up Gitea repo and push project files
- [ ] Change default camera passwords (admin/admin)