SMART OBJECTS CAMERAS

Multi-User Access

Sharing Cameras & Pis

Multiple students can access the same Pi simultaneously for collaborative work.

KEY CONCEPT

One Camera = One Person IMPORTANT

Each Pi has one camera. Only one person should run person_detector.py at a time.

When you run with --discord, the camera automatically announces who's using it:

python3 person_detector.py --discord
Discord: alice is now running person_detector.py on orbit

When Student A stops (Ctrl+C):

Discord: alice stopped person_detector.py on orbit — camera is free

No manual coordination needed! The camera announces itself automatically.

Full guide →

COLLABORATION

Best Practices

1
Check Discord before running — Look for "camera is free" messages. If unsure, run ps aux | grep person_detector.py to check. Always use the --discord flag.
2
Everyone can collaborate via code editing — Multiple people can SSH in simultaneously. Use VS Code Remote SSH for your own editing session. Create personal copies: cp person_detector.py person_detector_alice.py
3
Use Git for collaboration — Work on your own branch: git checkout -b feature/alice-zone-detection. Commit changes when you've tested them.
4
Communication is essential — Let teammates know before you run the detector. Don't stop someone else's running script. If unsure, ask: "Is anyone using Camera 1?"

Full guide →

SETUP

Adding Your SSH Key

Each person adds their own key — multiple keys for a shared account won't overwrite each other.

Mac / Linux

# Generate key (project-specific name)
ssh-keygen -t ed25519 \
  -f ~/.ssh/id_ed25519_smartobjects \
  -C "your_email@example.com"

# Copy to Pi
ssh-copy-id orbit

# Or specify the key explicitly
ssh-copy-id -i \
  ~/.ssh/id_ed25519_smartobjects.pub orbit

Windows (PowerShell)

# Generate key (project-specific name)
ssh-keygen -t ed25519 `
  -f $env:USERPROFILE\.ssh\id_ed25519_smartobjects `
  -C "your_email@example.com"

# Copy to Pi manually
type $env:USERPROFILE\.ssh\id_ed25519_smartobjects.pub `
  | ssh orbit "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Full guide →

ALREADY CONFIGURED

Shared Resources

  • Shared model cache/opt/depthai-cache — DepthAI models download once and are accessible to all users. Prevents permission errors with multiple script copies.
  • Shared Oak examples/opt/oak-shared/oak-examples/ — Symlinked to ~/oak-examples/ in each user's home. Browse for inspiration on new features.
  • Shared virtual environment/opt/oak-shared/venv/ — Pre-installed packages ready to use. Activate with source /opt/oak-shared/venv/bin/activate.
No action needed — these are already configured on all three Pis. Just use them!

Full guide →

INSTRUCTOR REFERENCE

Adding User Accounts OPTIONAL

For instructors who want separate accounts per student instead of a shared login:

# SSH into the Pi
ssh orbit

# Create new user
sudo adduser alice

# Add to required groups for camera access
sudo usermod -aG video,gpio,i2c,spi alice

# Copy project files to their home directory
sudo cp -r /home/pi/oak-projects /home/alice/
sudo chown -R alice:alice /home/alice/oak-projects

# The new user can now log in
# (update SSH config with new username)
ssh orbit

Each student would then have their own home directory, files, and permissions — but still share the camera one-at-a-time.

Full guide →