Final Product Demo Pitch
Welcome to PanoraGuard, a security surveillance system developed by Company 3 in collaboration with AXIS Communications.
Project in the course TDDC88 Software Engineering at Linköping's University during fall of 2024
Explore the product on our live cloud deployment:
panoraguard.se
Learn more about us on our company website: Company Website
PanoraGuard is an advanced security surveillance solution combining hardware and software to provide automated alarms and detailed monitoring. It is designed to enhance security during periods of low activity or restricted access.
- Automated Alarms: Triggers alerts when specific objects are identified with a set confidence level.
- Operator Notifications: Displays a snapshot of the object, alarm details, and a live camera feed for real-time decision-making.
- Alarm Actions: Allows operators to either dismiss false alarms or notify guards for intervention.
- Integrated Speaker Alerts: Activates warning signals to deter intruders.
- Admin & Manager Tools:
- Configure camera settings and alarm triggers.
- Access historical alarm data for analysis and reporting.
PanoraGuard integrates both hardware and software components:
- AXIS Cameras: Object detection and alarm triggering.
- Speaker System: For audible warnings.
- LAN Server (Host machine): Local management of cameras and system configurations.
- ACAP: Custom-built applications on AXIS cameras for object detection.
- Client: A GUI for operators, admin and managers to monitor and manage alarms.
- External Server: Cloud-hosted server for alarm handling, business logic, and database management.
- LAN Server: Local server managing camera schedules, live feeds, and configurations.
- Object Detection: The built-in ACAP on AXIS cameras detects objects (e.g., human/face) and sends data (type, confidence score, timestamp, camera ID) to the LAN server on the same network.
- Data Forwarding: The LAN server forwards the information to the external server (Azure cloud or local server for development).
- Alarm Creation: The external server applies business logic to decide if an alarm should be created (e.g., confidence score above threshold, no active alarms for the same camera). Alarms are stored in the database.
- Speaker Activation: If an alarm is triggered, the external server instructs the LAN server to activate the speaker for a warning audio signal.
- Frontend Notification: The external server notifies the frontend via WebSocket, updating the GUI with the new alarm, including a snapshot, metadata, and live camera feed.
- Operator Action: The operator can dismiss the alarm (disabling the speaker and updating the alarm status to "ignored") or notify a guard (sending an email with alarm details). Guards notify the operator when resolved, and the operator updates the status to "resolved."
- Admin Features: Admins configure camera settings, schedules, and confidence thresholds via the frontend, which communicates with both the external and LAN servers.
This seamless flow ensures efficient alarm management and real-time decision-making.
- Clone the Repository and follow setup instructions in
/Client
and/Server
directories. - Connect hardware:
- Cameras and speakers to a network switch.
- Network switch connected to a router with internet access.
- Connect your computer to the same network.
- Install the ACAP on cameras using instructions in
/ACAP
README. - Start all components:
- Run the LAN Server, External Server, and Client in separate terminals.
- Open the client application in your browser to monitor the system.
- Set up cameras and speakers on the same network as the LAN Server running on a host machine.
- Install the ACAP on the cameras, including the correct LAN server endpoint (see
/ACAP
README). - Start the LAN Server on the host machine.
- Access the cloud GUI at:
panoraguard.se
- Detailed setup instructions for each component are available in their respective
/README
files:/ACAP
/Client
/Server
- For local database management and environment setup, refer to
/Server
README files.
Let’s secure your space with PanoraGuard!