Skip to content

Leverage Meraki camera API and MQTT capability to create a notification service

License

Notifications You must be signed in to change notification settings

CiscoDevNet/Meraki-Camera-Notification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meraki Camera Notification Example

published

Leverage Meraki new camera API and MQTT capability to create a notification service. When the camera detects a person consistently appears in a particular zone the service will send a Webex team message to a Webex team room with a video link which will directly go to the video footage when that even occurred. This is useful for alerting unexpected person movement in off-hours.

API and technology

API

Camera API: Returns video link for the specified camera. If a timestamp supplied, it links to that time.

MQTT and setting:

  1. Go to Cameras > [Camera Name] > Settings > Sense page.
  2. Click Add or edit MQTT Brokers > New MQTT Broker and add you broker information. For testing/trial you can find public broker at here.
  3. You can install MQTT.fx to subscribe to MQTT broker. This is a very useful tool

Build locally

Config

Configurations in app.py

General API and MQTT configurations

Name Description
MQTT_SERVER MQTT Broker ip or domain
MQTT_PORT MQTT Broker port
MQTT_TOPIC Meraki Camera mqtt top, default is "/merakimv/#"
MERAKI_API_KEY Meraki Api key
NETWORK_ID Camera's network ID, will use this get video link with camera api
COLLECT_CAMERAS_SERIAL_NUMBERS Array of cameras serial numbers, all is *.
COLLECT_ZONE_IDS Array of zone id, all is *

Motion detected configurations, you can keep this as it.

Name Description
MOTION_ALERT_PEOPLE_COUNT_THRESHOLD The threshold of people count from the camera to start the detection mode
MOTION_ALERT_ITERATE_COUNT The iterate count when in the detection mode
MOTION_ALERT_TRIGGER_PEOPLE_COUNT After threshold of people count after iteration to trigger the alert or not
MOTION_ALERT_PAUSE_TIME The pause time after alert is triggered

Configurations in Webexteam.py

Name Description
WEBEXTEAMKEY The Webex team API key
ROOM_ID The Webex team room ID

Build

  1. Run python3 install -r requirement.txt
  2. Run python3 app.py

Docker

Build : docker build -t meraki-camera-notification .

Run : docker run -it meraki-camera-notification .

About

Leverage Meraki camera API and MQTT capability to create a notification service

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published