The architecture of the EoT application of this demonstrator is mainly composed of an application software and a communication module in the form of an MQTT broker. This broker is using the PULGA library derived from the MOSQUITTO implementation.
In order to develop the Peephole demonstrator, the following EoT libraries has been used: MQTT Broker, Wi-Fi Functions, JSON Parser, SDCardIO, HistogramMatching, LEDs and libccv.
Using this libraries, four modules has been implemented
- Camera and ISP module: This module provides control functionality for the camera. The module can be extended to work with other cameras by providing an implementation of the camera interface for a new camera model.
- Event detection module: This module provides the event detection functionality. Specifically, it can detect motion and tampering events as well as faces.
- Event Recording module: This module provides video recording functionality for detected events. If the event detection module detects a new event, recording is started or continued (if recording was started before already). If no events are detected for a predefined duration, the recording is stopped. For each video frame a timestamp is stored as well.
- Network communication module: This module provides network communication functionality to the app. Specifically, it communicates with a mobile app through MQTT. This way the mobile app can update the internal clock of the EoT device and inform the EoT app about configuration changes. Furthermore, the EoT app can send alerts about events and – upon request from the mobile app – recorded events and video clips or a live video stream.
The Peephole Door Viewer demonstrator has a configuration application. This application, named In Front Of Your Door (IFOYD), has been developed in JAVA using Eclipse and the Android SDK. The application is using a Java MQTT Client library available in the Eclipse environment. The main application is organized in different modules corresponding to the elementary task needed for the communication with the EoT device.