Security Cameras
If you want to do a camera review, see HOWTO Do a Camera Review.
Contents
Rules For Use
Security cameras are governed by i3Detroit's Security Camera policy.
History
Use of security cameras was approved originally in 2012. The policy was updated in 2015 to be included in the standing rules. The discussion of the 2015 proposal happened largely in Slack, in the archived channel #camera-policy. The standing rules section was modified in early 2016 to replace the 4-person viewing team with the Board of Directors. It was again modified in early 2017 to expand the viewing team to consist of at least one director and either one other director, officer, or zone coordinator.
Camera Locations
List of Current Cameras
Location | View (not live) |
---|---|
Classroom | |
Craft Room | |
CNC Shop | |
Commons Area | |
Commons Area & Snack Zone | |
Electronics Lab | |
Fab Lab | |
A entryway & a garage doors | |
Front Door Exterior | |
Laser Zone | |
Machine Shop | |
Media Lab | |
Suite B Rear Doors | |
Welding Zone | |
West Shop (Infrastructure, Vinyl, & Media zones | |
Wood Shop | |
Autozone | |
Sewing (future) | |
Jewelry Zone |
History of Camera Location Approval
- Original list from Board_Meeting_Minutes_20121113
- Slightly modified list voted on via email vote: Membership Proposal 20121115 Allow Placement of Cameras
- List updated in early 2016
- List updated again: Meeting Minutes 20160517#Request for additional security camera
- Another update: Meeting Minutes 20170307#Camera Placements
- Note: The outside camera was in the original list, but not in the actual voted-on list. However, at the time of the 2016 update, the outside camera was presumed to be approved. It's not super relevant since we don't have an outdoor camera set up (as of 2-17-16), but it should probably be officially re-approved.
- Approved Media Lab camera at Minutes:Meeting Minutes 20180605
- Approved three cameras in Suite B at Minutes:Meeting_Minutes_20190219#Initial_Security_Camera_Placement_on_B_Side
- Some b side stuff and other changes in Minutes:Meeting_Minutes_20230502#Camera_placement
Status Report from Project Lead
POC:Mike
- 18 of 18 approved planned cameras have been installed. See below for technical details.
- (10/19/17) System is in working order and has been for several months now.
- (6/9/2018) System still working well, no major issues. 15/18 cameras have 240+ days continuous uptime.
To Do
Task Name | Description | Priority | Champion |
---|---|---|---|
Example task | do stuff | 3 |
Technical Details of Zoneminder & IP Camera System
- Zoneminder v1.32.1 running on VMServer
- 1x 4TB Western Digital Purple Surveilance, 1x 4TB Western Digital Red hard disks installed in the VMServer
- 18 wired PoE IP cameras
- 13xHikvision 4.1MP DS-2CD2042WD-I 4mm IP Camera
- 5xHikvision DS-2CD2432F-IW 3MP Indoor 2.8mm IP Camera
Maintenance Scripts
Maintenance
Sometimes the build of ZoneMinder that we're using (1.34.1--old, but historically upgrading has had mixed results, and nothing's currently broken...) has a bug where the process that writes the diskspace used per event to the database breaks, leaving NULL in place of the real value. This is problematic as summing the diskspace used by all events then returns the wrong total, which breaks some things. It's normal to have some events showing NULL diskspace since the process doesn't run constantly, so this script runs as a cron job once an hour which is often enough to fix things before there are any problems. It seems to be triggered on average once a day.
#!/bin/bash # Checks if the update disk use filter in ZoneMinder has broken and if so kills it # Query how many events have NULL disk use. The filter should run once per minute # so depending on activity level, the query should return values in the range of 5-50 # If the value is too large, search for the filter's PID and kill it. NULLCOUNT=$(mysql --user=username --password=password --database=zm -s -N -e "select count(*) from Events where DiskSpace is NULL") echo $(date)" Null events count: "$NULLCOUNT if [[ "$NULLCOUNT" -gt 200 ]] then echo "Killing filter" kill $(ps aux | grep '[/]usr/bin/perl -wT /usr/bin/zmfilter.pl --filter_id=14 --daemon' | awk '{print $2}') fi |