add depcrated message

This commit is contained in:
Cedric Verstraeten
2022-12-06 08:23:57 +01:00
parent 15e4816c8f
commit 6f1e84e58e
9 changed files with 262 additions and 177 deletions

View File

@@ -13,6 +13,8 @@ weight: 208
toc: true
---
**_Kerberos Open Source is deprecated, please [use Kerberos Agent](/agent/first-things-first) instead._**
In this document we describe the different things you need to know if you would like to add a new feature to Kerberos Open Source, or change some of its behaviour for your own use case.
Before starting, as you might have read already, you need to know that Kerberos Open Source consists of two solutions. A front-end, also called **web**, which allows you to review the recordings and to configure the back-end settings. A back-end, also called **machinery**, which is computer vision solution that processes the video stream of surveillance camera.
@@ -166,16 +168,16 @@ One thing you will need to do is to attach a type to a property. The type will b
```ts
<algorithms>
<AnotherAlgorithm>
<parameter type="number">5</parameter>
</AnotherAlgorithm>
<AnotherAlgorithm>
<parameter type="number">5</parameter>
</AnotherAlgorithm>
</algorithms>
```
You can retrieve the parameter in the setup function with the settings parameter.
```ts
settings.at("algorithms.AnotherAlgorithm.parameter")
settings.at("algorithms.AnotherAlgorithm.parameter");
```
### Compile
@@ -190,7 +192,7 @@ Contributing to [the web repository](https://github.com/kerberos-io/web) require
Make sure you have following services installed on your working station.
>\>= PHP 7.1.0, NodeJS and NPM and Nginx or Apache
> \>= PHP 7.1.0, NodeJS and NPM and Nginx or Apache
### Installation

View File

@@ -13,6 +13,8 @@ weight: 202
toc: true
---
**_Kerberos Open Source is deprecated, please [use Kerberos Agent](/agent/first-things-first) instead._**
Once you've installed Kerberos Open Source, you will have access to the web application. This web application allows you to administrate the machinery.
## Welcome page
@@ -61,7 +63,6 @@ Storing your recordings on your device is fine, on the other hand you might want
{{< figure src="hub-connection.png" alt="The region of interest allows you to inspect a specific region of the camera." caption="The region of interest allows you to inspect a specific region of the camera." class="stretch">}}
## System
This page will gave you overall information of Kerberos Open Source. It will give you information (logging) about the system, shows you some system information, the number of recordings on the system and more.

View File

@@ -13,6 +13,8 @@ weight: 204
toc: true
---
**_Kerberos Open Source is deprecated, please [use Kerberos Agent](/agent/first-things-first) instead._**
Following installation methods are only for advanced users, who need to have more control over the Kerberos Open Source environment.
## Raspbian
@@ -37,6 +39,7 @@ sudo apt-get update && sudo apt-get install -y ffmpeg
### Machinery
Download the debian file from the machinery repository.
> https://github.com/kerberos-io/machinery/releases
A `.deb` file is available for every version of the Raspberry Pi. For example if you are using a Raspberry Pi 4 for version 2.8.0, execute following command. You can change the version and Raspberry Pi board to your needs.
@@ -81,7 +84,7 @@ sudo nano /etc/ld.so.conf
Copy and paste the following path in a new line.
```ts
/opt/vc/lib
/opt/cv / lib;
```
Update the library cache.

View File

@@ -13,14 +13,18 @@ weight: 203
toc: true
---
Kerberos Open Source comes with different installation flavours. So you might think, why? The reason is simple, depending on the use case one option is better than another. A short list of recommendations:
**_Kerberos Open Source is deprecated, please [use Kerberos Agent](/agent/first-things-first) instead._**
Kerberos Open Source comes with different installation flavours. So you might think, why? The reason is simple, depending on the use case one option is better than another. A short list of recommendations:
### Plug and play
1. [KiOS](/opensource/installation#kios): You have a Raspberry Pi, and you only want to run a Kerberos agent on it.
2. [Docker](/opensource/installation#docker): You have a lot of IP cameras, and/or don't want to mess with dependencies.
3. [Balena](/opensource/installation#balena): Runnning the Kerberos Docker container on top of Balena.
### Advanced
4. [Raspbian](/opensource/installation-advanced#raspbian): You have a Raspberry Pi, but you want other services running next to the Kerberos agent.
5. [Generic](/opensource/installation-advanced#generic): You want to develop/extend Kerberos with your own features, or you want to run a Kerberos agent on a not supported OS/architecure.
@@ -98,7 +102,6 @@ Once you've finished the installation using either the KiOS installer or Etcher,
{{< figure src="dashboard.png" alt="After successful installation you should land on the starting page." caption="After successful installation you should land on the starting page." class="stretch">}}
### Access the Raspberry Pi
You can access the KiOS system with attaching your Raspberry Pi to a HDMI monitor or by using `ssh`.
@@ -121,6 +124,7 @@ Note that by default no root password is set, you can define a password in the `
A Docker image (amd64, armv7, arm64) is available on [the Docker hub](https://hub.docker.com/u/kerberos), which contains all the necessary software to setup the Kerberos agent in a matter of seconds. Before you can run this image, make sure you have Docker installed. Afterwards you can use Docker, to get the Kerberos agent up and running. All Docker images can be found on [the Docker hub](https://hub.docker.com/u/kerberos).
This installation guide assumes you already have a good understanding of Docker. If you want to learn more about Kerberos.io on Docker, have a look at these tutorials.
- [Kerberos.io — the road to Docker](https://medium.com/@cedricverst/kerberos-io-the-road-to-docker-8e048a480241)
- [Kerberos.io on Docker](https://medium.com/@cedricverst/kerberos-io-on-docker-19b25fa7efd1)
@@ -154,6 +158,7 @@ docker run --name camera3 -p 82:80 -p 8891:8889 -d kerberos/kerberos
```
When the containers are created, you can open your browser and browse to your different containers.
```ts
http://localhost:80
http://localhost:81
@@ -197,7 +202,6 @@ After you signed up, you can create an application for a specific IoT board (e.g
{{< figure src="balena-create.png" alt="After signed up, create an application for your Kerberos Opensource agent." caption="After signed up, create an application for your Kerberos Opensource agent." class="stretch">}}
### 3. Connect
Once you've flashed the balena OS, turned on your IoT board, a new device should come up on the Balena dashboard (below the application you've created). At this point you will be able to connect to your device using the **balena-cli** [read more about the installation here](https://github.com/balena-io/balena-cli/blob/master/INSTALL.md#executable-installer).

View File

@@ -13,6 +13,8 @@ weight: 206
toc: true
---
**_Kerberos Open Source is deprecated, please [use Kerberos Agent](/agent/first-things-first) instead._**
## Summary
You are free to:
@@ -169,4 +171,4 @@ To the extent possible, if any provision of this Public License is deemed unenfo
No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.

View File

@@ -13,6 +13,8 @@ weight: 209
toc: true
---
**_Kerberos Open Source is deprecated, please [use Kerberos Agent](/agent/first-things-first) instead._**
The machinery is the processing engine of Kerberos Open Source. It's an image processing framework, written in C++, who benefits from other third party libraries (OpenCV, etc). It takes images from the type of camera (USB-, IP- or RPi-camera) you've configured in the configuration files and executes one ore more algorithms and post-processes (e.g. save a snapshot). The configuration files allow you to define the type of camera, post-processes, conditions and much more; it's highly configurable. It's important to note that the machinery, out-of-the-box, can handle only one camera at a time.
## Project structure
@@ -56,6 +58,7 @@ These different steps can be configured by editing a couple of configurationn fi
You can choose which capture device you will be using, you can use your old USB webcam, the popular Raspberry Pi camera or a state-of-the-art IP camera. The capture device will take pictures and deliver them to the algorithm if the conditions (the first step of the four passway) are valid.
You can change the capture device by changing the `config/config.xml` file, and choose one of the following:
- USBCamera
- RaspiCamera
- IPCamera
@@ -321,6 +324,7 @@ After the algorithm is executed, the expositor will determine, a region, where t
An expositor receives a black and white image as parameter and should modify a JSON object with all the information it processed. The JSON object must include: the bounding rectangle(s) of the positions where the pixels of interest are located and the number of pixels of interest. But can also include other optional parameters.
You can change the expositor by changing the `config/config.xml` file, and choose one of the following:
- Hull
- Rectangle
@@ -379,6 +383,7 @@ The parameters of the hull expositor can be found in the config/expositor.xml fi
```
##### Region
The region parameter contains n values. Each value represents a coordinate (x,y) and are seperated by the "|" delimiter. These coordinates are used to calculate the concave hull. Pixels of interest that lie within the concave hull are valid pixels; if not they are invalid.
## Heuristic
@@ -386,6 +391,7 @@ The region parameter contains n values. Each value represents a coordinate (x,y)
The heuristic is the last step in the four passway which will decide if the detection is valid or not. It will do this by using information from the previous steps (the expositor and the algorithm); e.g. number of changed pixels.
You can change the heuristic by changing the `config/config.xml` file, and choose one of the following:
- Sequence
```xml
@@ -445,6 +451,7 @@ If the heuristic determined that the evaluation was valid, one or more output op
```
You can choose which output devices you will be using. If you select multiple outputs, seperate them with an `,`. You can change the output device by changing the `config/config.xml` file, and choose one of the following:
- Disk
- Video
- GPIO
@@ -487,18 +494,23 @@ The directory where the image will be saved to. By default images are saved to t
When this settings is set to true, the image is marked with a timestamp.
##### Timestamp color
A color can be defined for timestamp: white, black, red, green and blue.
##### Privacy
The privacy mode can be activated to remove some parts from the image. This especially helpful if you want to filter out public areas. When this option is enabled you will seee that after configuring the Hull expositor, you'll see that the pixels outside your region of interest (Hull) are made black.
The privacy mode can be activated to remove some parts from the image. This especially helpful if you want to filter out public areas. When this option is enabled you will seee that after configuring the Hull expositor, you'll see that the pixels outside your region of interest (Hull) are made black.
##### Throttler
Control the number of executions by setting a throttling value. E.g. if you set throttling to 5, the Disk will only be triggered once in 5 seconds, nevertheless more detections occurred.
### Video
When a valid event is detected, a video will be recorded for x seconds. When more valid events are detected, while a video is recording, the video file will further record for x seconds; so no new video file be recorded, but the existing one will be expanded.
#### Parameters
The parameters of the Video output device can be found in the `config/io.xml` file, but you can also use the web to modify the parameters. Below you see a default configuration file.
```xml
@@ -522,45 +534,59 @@ The parameters of the Video output device can be found in the `config/io.xml` fi
```
##### FPS
The frames per second of the video being recorded. Please note that this number is limited and depends heavily on your hardware setup. You'll be receiving following warning in the systems logs, if the machinery can't write the desired FPS.
```text
[trivial] IoVideo: framerate is too fast, can't record video at this speed (8/FPS)
```
##### Record after
The number of seconds recorded after the last valid event was detected. This means that when a video is already recording, and a valid event was detected, the video will be expanded with x more seconds.
##### Extensions
The extension or container of the video file. We highly recommend to use the MP4 container if you want cross-browser support. Leave this setting by default, if you don't know what you're doing.
##### Codec
The codec that is used to encode the video file.
##### File format
The format that will be used for the name of the image. One or more variables can be defined and will be replaced by the machinery. Note that when you're using a variables name in the file format, that this name should be defined in the JSON object.
##### Directory
The directory where the videos will be saved. By default videos are saved to the /etc/opt/kerberosio/capture directory.
##### Hardware directory
When using onboard hardware encoding (e.g. with Raspberry Pi camera), h264 video files are generated and stored in this directory. Afterwards these h264 files will be containerized to mp4 files, and stored in the Directory path.
##### Enable Hardware encoding
A boolean which can enable or disable hardware encoding. Please note that this option is enabled by default, but does not mean that it will work if you choose to use an USB camera.
##### Mark with timestamp
When this settings is set to true, the video is marked with a timestamp (similar to the Disk device).
##### Timestamp color
A color can be defined for timestamp: white, black, red, green and blue.
##### Privacy
The privacy mode can be activated to remove some parts from the video. This especially helpful if you want to filter out public areas.
##### Video privacy
After updating the configuration, you'll see that the pixels outside your region of interest (ROI) are made black; the image below illustrates this.
##### Throttler
Control the number of executions by setting a throttling value. E.g. if you set throttling to 5, the Video will only be triggered once in 5 seconds, nevertheless more detections occurred.
### TCP/IP client
@@ -568,6 +594,7 @@ Control the number of executions by setting a throttling value. E.g. if you set
The TCP/IP client will send a TCP packet to a server.
#### Parameters
The parameters of the TCP/IP client can be found in the config/io.xml file, but you can also use the web to modify the parameters. Below you see a default configuration file.
```xml
@@ -582,21 +609,27 @@ The parameters of the TCP/IP client can be found in the config/io.xml file, but
```
##### Server
The IP of the TCP server.
##### Port
This is the port of the TCP server.
##### Message
You can send some data to a TCP server.
##### Throttler
Control the number of executions by setting a throttling value. E.g. if you set throttling to 5, the TCP will only be triggered once in 5 seconds, nevertheless more detections occurred.
### GPIO
A GPIO pin can be set as output device.
#### Parameters
The parameters of the GPIO pin can be found in the `config/io.xml` file, but you can also use the web to modify the parameters. Below you see a default configuration file.
```xml
@@ -611,23 +644,29 @@ The parameters of the GPIO pin can be found in the `config/io.xml` file, but you
```
##### Pin
The pin that will be triggered.
##### Periods
The number of times the pin will be triggered.
##### Period time
The time in microseconds that the pin will be set high.
##### Throttler
Control the number of executions by setting a throttling value. E.g. if you set throttling to 5, the GPIO will only be triggered once in 5 seconds, nevertheless more detections occurred.
### Webhook
### Webhook
Detailed information (a JSON object) is send as a POST request to a webhook. The JSON object contains the number of changes, the region, the URL of the image, etc. This is useful if you want to integrate with your own application.
Make sure that the Webhook comes after the Disk device, otherwise the URL of the image is not included.
#### Parameters
The parameters of the webhook can be found in the config/io.xml file, but you can also use the web to modify the parameters. Below you see a default configuration file.
```xml
@@ -640,12 +679,15 @@ The parameters of the webhook can be found in the config/io.xml file, but you ca
```
##### Url
This is the URL, to which the machinery will send a JSON object (as a POST request).
##### Throttler
Control the number of executions by setting a throttling value. E.g. if you set throttling to 5, the Webhook will only be triggered once in 5 seconds, nevertheless more detections occurred.
##### Output
A JSON object is POSTed to the url you've defined.
```json
@@ -661,9 +703,11 @@ A JSON object is POSTed to the url you've defined.
```
### Script
A bash script can be executed after a valid event was detected. A JSON object is send in the first parameter to the script you've defined.
#### Parameters
The parameters of the Script output device can be found in the config/io.xml file, but you can also use the web to modify the parameters. Below you see a default configuration file.
```xml
@@ -676,12 +720,15 @@ The parameters of the Script output device can be found in the config/io.xml fil
```
##### Path
The location of the script that will be executed on detection.
##### Throttler
Control the number of executions by setting a throttling value. E.g. if you set throttling to 5, the Script will only be triggered once in 5 seconds, nevertheless more detections occurred.
##### Example
By default the script will point to /etc/opt/kerberosio/scripts/run.sh, which contains a template how you should start your script. Note that when using KiOS, this script will be read-only, copy it to the /data folder and change the path parameter.
```python
@@ -706,10 +753,12 @@ The idea is that you can use Python in your bash script, to parse the JSON objec
```
### MQTT
MQTT protocol is a light-weight Machine to Machine (M2M) protocol widely used in Internet of things.
Detailed information (a JSON object) is published to an MQTT topic. The JSON object contains the number of changes, the region, the URL of the image, etc.
#### Parameters
The parameters of the MQTT output can be found in the config/io.xml file, but you can also use the web to modify the parameters. Below you see a default configuration file.
```xml
@@ -728,30 +777,39 @@ The parameters of the MQTT output can be found in the config/io.xml file, but yo
```
##### Secure
If checked, enable SSL/TLS support. Please note that when SSL/TLS support is enabled, the server certificate issuer is verified against the CA (Certification Authority) files available in /etc/ssl/certs.
##### Verifycn
If checked, the MQTT server FQDN or ip address must match the CN (Common Name) of the server certificate.
##### Server
IP address or FQDN of the MQTT broker.
##### Port
TCP port of the MQTT broker.
##### Topic
The topic to publish to.
##### Username
The username for authenticating to the MQTT broker. This is only supported by brokers that implement the MQTT spec v3.1. If username is not set (empty), the password argument is ignored. This is only needed if the MQTT broker is configured for authentication.
##### Password
The password to use, together with the username, for authenticating to the MQTT broker. This is only supported by brokers that implement the MQTT spec v3.1. This is only needed if the MQTT broker is configured for authentication.
##### Throttler
Control the number of executions by setting a throttling value. E.g. if you set throttling to 5, the MQTT will only be triggered once in 5 seconds, nevertheless more detections occurred.
##### Output
A JSON object is published to the topic of the MQTT broker you have configured.
```json
@@ -767,6 +825,7 @@ A JSON object is published to the topic of the MQTT broker you have configured.
```
##### Example
It is possible to subscribe multiple distributed IoT devices to the same MQTT topic and perform specific actions upon the detection of a motion. Devices with more resources could fetch the image to perform further elaboration.
## Streaming

View File

@@ -13,331 +13,333 @@ weight: 205
toc: true
---
**_Kerberos Open Source is deprecated, please [use Kerberos Agent](/agent/first-things-first) instead._**
### 2.8.0
Aligned machinery, web and KiOS versions. Too many people were confused by the versioning.
#### Web
* Videos displayed on canvas were blocked in latest browsers.
* Disabled reboot and shutdown.
* Disabled upgrade process, use fwupdate shell command instead.
- Videos displayed on canvas were blocked in latest browsers.
- Disabled reboot and shutdown.
- Disabled upgrade process, use fwupdate shell command instead.
#### KiOS
* Major upgrade, solved many different problems (list to long); not possible to upgrade from 2.7.0 to 2.8.0.
* Updated firmware to latest Raspbian (raspberrypi-kernel_1.20180417-1).
* Support for the Raspberry Pi 4.
- Major upgrade, solved many different problems (list to long); not possible to upgrade from 2.7.0 to 2.8.0.
- Updated firmware to latest Raspbian (raspberrypi-kernel_1.20180417-1).
- Support for the Raspberry Pi 4.
### 2.7.2
#### Machinery
* To optimise the cloud experience we've added a proxy.kerberos.io machine in between.
* We've changed the S3 storage scheme (class:ONEZONE_IA).
- To optimise the cloud experience we've added a proxy.kerberos.io machine in between.
- We've changed the S3 storage scheme (class:ONEZONE_IA).
### 2.7.1
#### Machinery
* Resolved deadlock with livestreaming while restarting machinery.
* Revert logging library; enabled log rotating.
- Resolved deadlock with livestreaming while restarting machinery.
- Revert logging library; enabled log rotating.
#### KiOS
* Updated firmware to latest Raspbian (raspberrypi-kernel_1.20180417-1).
* Resolved issue with WIFI on Raspberry Pi 3B+
- Updated firmware to latest Raspbian (raspberrypi-kernel_1.20180417-1).
- Resolved issue with WIFI on Raspberry Pi 3B+
### 2.7.0
#### Web
* Unique session cookie, which allows to open multiple web interfaces (e.g. when using docker).
- Unique session cookie, which allows to open multiple web interfaces (e.g. when using docker).
#### Machinery
* Added live streaming feature for app.kerberos.io
* Upgraded logging library: log file can be max 5MB, and will rotate.
* Better logging for cloud uploads (failed information).
- Added live streaming feature for app.kerberos.io
- Upgraded logging library: log file can be max 5MB, and will rotate.
- Better logging for cloud uploads (failed information).
#### Docker
* No longer need docker-compose, we merged the web and machinery containers to [a single container](http://hub.docker.com/r/kerberos/kerberos).
- No longer need docker-compose, we merged the web and machinery containers to [a single container](http://hub.docker.com/r/kerberos/kerberos).
#### KiOS
* Updated firmware to latest Raspbian.
* Support for the Raspberry Pi 3B+.
- Updated firmware to latest Raspbian.
- Support for the Raspberry Pi 3B+.
### 2.6.1
#### Web
* Solved issue with persisting login configuration. [#111](https://github.com/kerberos-io/web/issues/111)
- Solved issue with persisting login configuration. [#111](https://github.com/kerberos-io/web/issues/111)
#### Machinery
* Added Pushbullet. [#139](https://github.com/kerberos-io/machinery/pull/139)
* Cloud upload was not longer working (hotfix also in 2.6.0).
- Added Pushbullet. [#139](https://github.com/kerberos-io/machinery/pull/139)
- Cloud upload was not longer working (hotfix also in 2.6.0).
### 2.6.0
#### Web
* Add a cloud connection verification method. [#112](https://github.com/kerberos-io/web/issues/112)
- Add a cloud connection verification method. [#112](https://github.com/kerberos-io/web/issues/112)
#### Machinery
* Add background color timestamp. [#128](https://github.com/kerberos-io/machinery/issues/128)
* Send instanceId in AWS header when uploading to cloud (necessary for new cloud app).
* Better support for Chinese IP cameras.
- Add background color timestamp. [#128](https://github.com/kerberos-io/machinery/issues/128)
- Send instanceId in AWS header when uploading to cloud (necessary for new cloud app).
- Better support for Chinese IP cameras.
#### Docker
* Bug: Autoremove old images/video within Docker Containers. [#104](https://github.com/kerberos-io/web/issues/104)
- Bug: Autoremove old images/video within Docker Containers. [#104](https://github.com/kerberos-io/web/issues/104)
### 2.5.0
#### Web
* Added Chinese and Italian language.
* Resolved issue with INSTALLED=true.
* Make latest_sequence available with basic auth. [#99](https://github.com/kerberos-io/web/issues/99)
- Added Chinese and Italian language.
- Resolved issue with INSTALLED=true.
- Make latest_sequence available with basic auth. [#99](https://github.com/kerberos-io/web/issues/99)
#### Machinery
* Provide an IO service for publishing events to MQTT. [#89](https://github.com/kerberos-io/machinery/issues/89)
* Optimize recording with H264_OMX. [#83](https://github.com/kerberos-io/machinery/issues/83)
* Implement throttler for Io detections. [#96](https://github.com/kerberos-io/machinery/issues/96)
* SSL version 1.0.0 is no longer accessible in Raspbian. [#109](https://github.com/kerberos-io/machinery/issues/109)
- Provide an IO service for publishing events to MQTT. [#89](https://github.com/kerberos-io/machinery/issues/89)
- Optimize recording with H264_OMX. [#83](https://github.com/kerberos-io/machinery/issues/83)
- Implement throttler for Io detections. [#96](https://github.com/kerberos-io/machinery/issues/96)
- SSL version 1.0.0 is no longer accessible in Raspbian. [#109](https://github.com/kerberos-io/machinery/issues/109)
### 2.4.2
#### Web
* Typo in french translation, causes the web interface crash.
- Typo in french translation, causes the web interface crash.
#### Machinery
* Resolved major bug in livestream: memory leak in stream class. [#94](https://github.com/kerberos-io/machinery/issues/94)
* Capture health verification: check if the chosen capture device is still grabbing (and didn't stalled).
* Extra logging when recording with raspberry pi camera.
* Make sure the cloud upload is functioning properly, after an upload it's verified if the files really exist in the cloud.
- Resolved major bug in livestream: memory leak in stream class. [#94](https://github.com/kerberos-io/machinery/issues/94)
- Capture health verification: check if the chosen capture device is still grabbing (and didn't stalled).
- Extra logging when recording with raspberry pi camera.
- Make sure the cloud upload is functioning properly, after an upload it's verified if the files really exist in the cloud.
### 2.4.1
#### Web
* Show warning when system is disabled. [#88](https://github.com/kerberos-io/web/issues/88).
* Hull selector in basic view not always working.
- Show warning when system is disabled. [#88](https://github.com/kerberos-io/web/issues/88).
- Hull selector in basic view not always working.
### 2.4.0
#### Ecosystem
* Enable/Disable force network mode.
* Enable/Disable auto removal media.
- Enable/Disable force network mode.
- Enable/Disable auto removal media.
#### Web
* Upgrade from Laravel 4.2 to Laravel 5.4 [#70](https://github.com/kerberos-io/web/issues/70).
* Fix bug with heatmap radius slider [#84](https://github.com/kerberos-io/web/issues/84).
* Design tweaks toggle button (remove outline).
* Disabled possibility to timestamp video when using hardware acceleration.
- Upgrade from Laravel 4.2 to Laravel 5.4 [#70](https://github.com/kerberos-io/web/issues/70).
- Fix bug with heatmap radius slider [#84](https://github.com/kerberos-io/web/issues/84).
- Design tweaks toggle button (remove outline).
- Disabled possibility to timestamp video when using hardware acceleration.
#### Docker
* Fix SSL support [#4](https://github.com/kerberos-io/docker/issues/4).
* Auto removal if disk is full.
- Fix SSL support [#4](https://github.com/kerberos-io/docker/issues/4).
- Auto removal if disk is full.
#### Machinery
* OpenMAX IL hardware encoding for Raspberry Pi camera. [#83](https://github.com/kerberos-io/machinery/issues/83)
* Optimized live streaming.
* Optimized h264 recording.
* Basic authentication for live streaming (username and password). [#80](https://github.com/kerberos-io/machinery/issues/80)
- OpenMAX IL hardware encoding for Raspberry Pi camera. [#83](https://github.com/kerberos-io/machinery/issues/83)
- Optimized live streaming.
- Optimized h264 recording.
- Basic authentication for live streaming (username and password). [#80](https://github.com/kerberos-io/machinery/issues/80)
### 2.3.1
#### Machinery
* Update for kerberos.cloud: pushing content-type.
* Change default configurations.
- Update for kerberos.cloud: pushing content-type.
- Change default configurations.
### 2.3.0
#### Ecosystem
* Support for Raspberry Pi Zero W. [#8](https://github.com/kerberos-io/kios/issues/8)
- Support for Raspberry Pi Zero W. [#8](https://github.com/kerberos-io/kios/issues/8)
### 2.2.1
#### Ecosystem
* Upgraded FFmpeg and libx264 on KiOS.
- Upgraded FFmpeg and libx264 on KiOS.
#### Web
* Add Bulgarian translation. [#81](https://github.com/kerberos-io/web/pull/81)
- Add Bulgarian translation. [#81](https://github.com/kerberos-io/web/pull/81)
#### Machinery
* Bug: IoVideo crashes due to a memory leak. [#70](https://github.com/kerberos-io/machinery/issues/70)
- Bug: IoVideo crashes due to a memory leak. [#70](https://github.com/kerberos-io/machinery/issues/70)
### 2.2.0
#### Ecosystem
* Added support for Armbian.
* Raspbian: Async requests causes session corruption. [#78](https://github.com/kerberos-io/web/issues/78)
- Added support for Armbian.
- Raspbian: Async requests causes session corruption. [#78](https://github.com/kerberos-io/web/issues/78)
#### Web
* Bug: Issue format instance name. [#57](https://github.com/kerberos-io/web/issues/57)
* Redesign settings page (better UX). [#39](https://github.com/kerberos-io/web/issues/39)
* Possibility to edit password through web interface. [#63](https://github.com/kerberos-io/web/issues/63)
* Support for viewing videos.
* Update radius of heatmap.
* PHP7 support. [#60](https://github.com/kerberos-io/web/issues/60)
* Welcome/installation page. [#60](https://github.com/kerberos-io/web/issues/60)
* Translation updated. [#74](https://github.com/kerberos-io/web/issues/74)
* Privacy mode. [#54](https://github.com/kerberos-io/web/issues/54)
- Bug: Issue format instance name. [#57](https://github.com/kerberos-io/web/issues/57)
- Redesign settings page (better UX). [#39](https://github.com/kerberos-io/web/issues/39)
- Possibility to edit password through web interface. [#63](https://github.com/kerberos-io/web/issues/63)
- Support for viewing videos.
- Update radius of heatmap.
- PHP7 support. [#60](https://github.com/kerberos-io/web/issues/60)
- Welcome/installation page. [#60](https://github.com/kerberos-io/web/issues/60)
- Translation updated. [#74](https://github.com/kerberos-io/web/issues/74)
- Privacy mode. [#54](https://github.com/kerberos-io/web/issues/54)
#### Machinery
* Output as video file. [#60](https://github.com/kerberos-io/machinery/issues/60)
* Bug: System hangs when a wrong IP camera url was defined. [#48](https://github.com/kerberos-io/machinery/issues/48)
* Run arbitrary script/program. [#31](https://github.com/kerberos-io/machinery/issues/31)
* Bug: Weird colors from RPi Camera. [#64](https://github.com/kerberos-io/machinery/issues/64)
* Upgrade to OpenCV 3.2.0.
- Output as video file. [#60](https://github.com/kerberos-io/machinery/issues/60)
- Bug: System hangs when a wrong IP camera url was defined. [#48](https://github.com/kerberos-io/machinery/issues/48)
- Run arbitrary script/program. [#31](https://github.com/kerberos-io/machinery/issues/31)
- Bug: Weird colors from RPi Camera. [#64](https://github.com/kerberos-io/machinery/issues/64)
- Upgrade to OpenCV 3.2.0.
### 2.1.0
#### Web
* Added PhotoSwipe for image overview (easier to browse through images). [#45](https://github.com/kerberos-io/web/issues/45)
* Added reboot and shutdown commands. [#46](https://github.com/kerberos-io/web/issues/46)
* Added logging view to system page. [#33](https://github.com/kerberos-io/web/issues/33)
* Added labels to check if machinery is running.
* Added error handling if web interface isnt working properly.
* Fixed Heatmap.js fail to load by ad-blocker. [#42](https://github.com/kerberos-io/web/issues/42)
* Show additional information on the dashboard (streaming is opening or not) there is no data available.
* Settings page is now visible on mobile (+ changed icon).
* Fixed sorting of news articles.
* Removed links to assets in the cloud (.css files).
* Design: improved layout of login page, async loading of image view.
- Added PhotoSwipe for image overview (easier to browse through images). [#45](https://github.com/kerberos-io/web/issues/45)
- Added reboot and shutdown commands. [#46](https://github.com/kerberos-io/web/issues/46)
- Added logging view to system page. [#33](https://github.com/kerberos-io/web/issues/33)
- Added labels to check if machinery is running.
- Added error handling if web interface isnt working properly.
- Fixed Heatmap.js fail to load by ad-blocker. [#42](https://github.com/kerberos-io/web/issues/42)
- Show additional information on the dashboard (streaming is opening or not) there is no data available.
- Settings page is now visible on mobile (+ changed icon).
- Fixed sorting of news articles.
- Removed links to assets in the cloud (.css files).
- Design: improved layout of login page, async loading of image view.
#### Machinery
* Added configurable streaming port and quality. [#41](https://github.com/kerberos-io/machinery/issues/41)
* Added new algorithm: Background subtraction.
* Added new heuristic: Counter (for object/people counting). [#42](https://github.com/kerberos-io/machinery/issues/42)
* Added video capture, which can be used for debugging purposes (replay a video fragment).
* Its now possible to mark the images with a timestamp. [#36](https://github.com/kerberos-io/machinery/issues/36)
* Fixed blocking streaming socket. [#39](https://github.com/kerberos-io/machinery/issues/39)
- Added configurable streaming port and quality. [#41](https://github.com/kerberos-io/machinery/issues/41)
- Added new algorithm: Background subtraction.
- Added new heuristic: Counter (for object/people counting). [#42](https://github.com/kerberos-io/machinery/issues/42)
- Added video capture, which can be used for debugging purposes (replay a video fragment).
- Its now possible to mark the images with a timestamp. [#36](https://github.com/kerberos-io/machinery/issues/36)
- Fixed blocking streaming socket. [#39](https://github.com/kerberos-io/machinery/issues/39)
#### Ecosystem
* Fix removal images if disk is almost full (wrong path was defined).
* Support for the Raspberry Pi Camera module v2.1. [#3](https://github.com/kerberos-io/kios/issues/3)
* Support for the Raspberry Pi Zero; updated kernel to latest Raspbian. [#3](https://github.com/kerberos-io/kios/issues/3)
* KiOS GUI installer.
- Fix removal images if disk is almost full (wrong path was defined).
- Support for the Raspberry Pi Camera module v2.1. [#3](https://github.com/kerberos-io/kios/issues/3)
- Support for the Raspberry Pi Zero; updated kernel to latest Raspbian. [#3](https://github.com/kerberos-io/kios/issues/3)
- KiOS GUI installer.
### 2.0.0
#### Web
* Add simple ON/OFF toggle. [#24](https://github.com/kerberos-io/web/issues/24)
* Added update strategy when using KiOS. [#23](https://github.com/kerberos-io/web/issues/23)
* A system page which shows system information. [#20](https://github.com/kerberos-io/web/issues/20)
* Heatmap on dashboard page [#19](https://github.com/kerberos-io/web/issues/19)
* Added live stream view on the dashboard page [#2](https://github.com/kerberos-io/web/issues/2)
* Fixed bug cloud syncing [#16](https://github.com/kerberos-io/web/issues/16)
* Fixed broken settings page when space in instane name [#16](https://github.com/kerberos-io/web/issues/16)
- Add simple ON/OFF toggle. [#24](https://github.com/kerberos-io/web/issues/24)
- Added update strategy when using KiOS. [#23](https://github.com/kerberos-io/web/issues/23)
- A system page which shows system information. [#20](https://github.com/kerberos-io/web/issues/20)
- Heatmap on dashboard page [#19](https://github.com/kerberos-io/web/issues/19)
- Added live stream view on the dashboard page [#2](https://github.com/kerberos-io/web/issues/2)
- Fixed bug cloud syncing [#16](https://github.com/kerberos-io/web/issues/16)
- Fixed broken settings page when space in instane name [#16](https://github.com/kerberos-io/web/issues/16)
#### Machinery
* RTSP support for IP-camera's. [#21](https://github.com/kerberos-io/machinery/issues/21)
* Verbose logging. [#35](https://github.com/kerberos-io/machinery/issues/35)
* IO-devices are executed in a seperate thread. [#28](https://github.com/kerberos-io/machinery/issues/28)
* Live streaming (MJPEG). [#26](https://github.com/kerberos-io/machinery/issues/26)
* Execute multiple instances on a machine. [#24](https://github.com/kerberos-io/machinery/issues/24)
* Override config by arguments. [#22](https://github.com/kerberos-io/machinery/issues/22)
* Move S3 upload to machinery and remove sync-s3 repository. [#16](https://github.com/kerberos-io/machinery/issues/16)
- RTSP support for IP-camera's. [#21](https://github.com/kerberos-io/machinery/issues/21)
- Verbose logging. [#35](https://github.com/kerberos-io/machinery/issues/35)
- IO-devices are executed in a seperate thread. [#28](https://github.com/kerberos-io/machinery/issues/28)
- Live streaming (MJPEG). [#26](https://github.com/kerberos-io/machinery/issues/26)
- Execute multiple instances on a machine. [#24](https://github.com/kerberos-io/machinery/issues/24)
- Override config by arguments. [#22](https://github.com/kerberos-io/machinery/issues/22)
- Move S3 upload to machinery and remove sync-s3 repository. [#16](https://github.com/kerberos-io/machinery/issues/16)
#### Docker
* Added Docker image (x86_x64) to Docker Hub.
- Added Docker image (x86_x64) to Docker Hub.
#### Ecosystem
* Add support for Raspberry Pi 1, 2 and 3. [#1](https://github.com/kerberos-io/kios/issues/1)
- Add support for Raspberry Pi 1, 2 and 3. [#1](https://github.com/kerberos-io/kios/issues/1)
### 1.1.0
#### Web
* Support IP camera's with MJPEG stream. [#3](https://github.com/kerberos-io/web/issues/3)
* Introduce new API methods to configure the machinery, using basic auth. [#4](https://github.com/kerberos-io/web/issues/4)
* Optimization of loading image and dashboard page, completely redesigned the retrieval of images. [#5](https://github.com/kerberos-io/web/issues/5)
* Optimization of settings page. [#5](https://github.com/kerberos-io/web/issues/5)
* Timebar gradient only works in Chrome. [#6](https://github.com/kerberos-io/web/issues/6)
* Minor CSS fixes for responsive layout.
- Support IP camera's with MJPEG stream. [#3](https://github.com/kerberos-io/web/issues/3)
- Introduce new API methods to configure the machinery, using basic auth. [#4](https://github.com/kerberos-io/web/issues/4)
- Optimization of loading image and dashboard page, completely redesigned the retrieval of images. [#5](https://github.com/kerberos-io/web/issues/5)
- Optimization of settings page. [#5](https://github.com/kerberos-io/web/issues/5)
- Timebar gradient only works in Chrome. [#6](https://github.com/kerberos-io/web/issues/6)
- Minor CSS fixes for responsive layout.
#### Machinery
* Flip/rotate option for capture devices. [#5](https://github.com/kerberos-io/machinery/issues/1)
* Support IP camera's with MJPEG stream. [#4](https://github.com/kerberos-io/machinery/issues/4)
* Introduced webhook io device. [#5](https://github.com/kerberos-io/machinery/issues/5)
- Flip/rotate option for capture devices. [#5](https://github.com/kerberos-io/machinery/issues/1)
- Support IP camera's with MJPEG stream. [#4](https://github.com/kerberos-io/machinery/issues/4)
- Introduced webhook io device. [#5](https://github.com/kerberos-io/machinery/issues/5)
#### Cloud
* Fixed problem when syncing a huge amount of images. [#1](https://github.com/kerberos-io/sync-s3/issues/1)
- Fixed problem when syncing a huge amount of images. [#1](https://github.com/kerberos-io/sync-s3/issues/1)
### 1.0.3
#### Web
* Optimize performance, new datastructure has been implemented.
- Optimize performance, new datastructure has been implemented.
#### Machinery
* Memory optimization.
* Removal of images older than 3 days have been removed.
* Start machinery automatically (delay has been removed).
- Memory optimization.
- Removal of images older than 3 days have been removed.
- Start machinery automatically (delay has been removed).
#### Cloud
* Resolved file exist problem.
- Resolved file exist problem.
### 1.0.2
#### Web
* Timezone on settings page is also used for the webinterface.
- Timezone on settings page is also used for the webinterface.
#### Machinery
* Added extra timezones to timezone.xml.
- Added extra timezones to timezone.xml.
### 1.0.1
#### Web
* Improved error handling (date search).
- Improved error handling (date search).
#### Machinery
* Improved memory cleanup.
- Improved memory cleanup.
### 1.0.0
#### First commit of Kerberos.io
* Camera support: **USBCamera** (V4L), **Raspberry Pi camera module** (MMAL).
* Conditions: **Enabled** (turn on/off Kerberos) and active **Time** per day.
* Algorithms: **Differential Images**.
* Heuristics: **Sequence**.
* Expositors: Select a **Hull** or **Rectangle**.
* Outputs: Write image to **Disk**, trigger an **GPIO** output pin and send a **TCP/IP packet**.
* Cloud: send your images to the **Kerberos.io cloud aplication**.
- Camera support: **USBCamera** (V4L), **Raspberry Pi camera module** (MMAL).
- Conditions: **Enabled** (turn on/off Kerberos) and active **Time** per day.
- Algorithms: **Differential Images**.
- Heuristics: **Sequence**.
- Expositors: Select a **Hull** or **Rectangle**.
- Outputs: Write image to **Disk**, trigger an **GPIO** output pin and send a **TCP/IP packet**.
- Cloud: send your images to the **Kerberos.io cloud aplication**.

View File

@@ -13,6 +13,8 @@ weight: 207
toc: true
---
**_Kerberos Open Source is deprecated, please [use Kerberos Agent](/agent/first-things-first) instead._**
To upgrade your Kerberos agent to a new version you should follow the approach which fits your initial installation method. If you installed KiOS follow the KiOS upgrade procedure, if installed on Raspbian follow the Raspbian upgrade procedure, etc.
Please note that it might be possible that some new files are added or existing files were updated. To make sure everything works as expected, you should clear your browser cache.

View File

@@ -13,6 +13,8 @@ weight: 210
toc: true
---
**_Kerberos Open Source is deprecated, please [use Kerberos Agent](/agent/first-things-first) instead._**
The web is responsible for the visualization. It's a GUI which helps the user to find activity at a specific period, configure the machinery, view a live stream, see system information and much more.
It's written in PHP using the extremely popular PHP Framework Laravel, and Javascript using the client-side framework BackboneJS. We will discuss the different pages and functionality briefly. Please check out [the demo environment](https://demo.kerberos.io) if you want to see a real life example.
@@ -115,7 +117,7 @@ All endpoints are prefixed with api/v[version]/, in which the last part defines
```json
{
"error": "API method does not exists"
"error": "API method does not exists"
}
```
@@ -130,9 +132,10 @@ Below you'll find a list of all API methods which are available for version 1.
Retrieve the name of your instance.
**Response**
```json
{
"name": "frontdoor"
"name": "frontdoor"
}
```
@@ -143,16 +146,18 @@ Retrieve the name of your instance.
Change the name of your instance.
**Payload**
```json
{
"name": "frontdoor-changed"
"name": "frontdoor-changed"
}
```
**Response**
```json
{
"name": "frontdoor-changed"
"name": "frontdoor-changed"
}
```
@@ -163,24 +168,25 @@ Change the name of your instance.
Retrieve the latest sequence detected.
**Response**
```json
[
{
time: "10:59:57",
src: "https://demo.kerberos.io/capture/1501491597_6-310145_frontdoor_722-691-873-926_703_511.mp4",
local_src: "/var/www/web/public/capture/1501491597_6-310145_frontdoor_722-691-873-926_703_511.mp4",
metadata: {
key: "1501491597_6-310145_frontdoor_722-691-873-926_703_511.mp4",
user: "1501491597_6-310145_frontdoor_722-691-873-926_703_511.mp4",
timestamp: 1501491597,
microseconds: "6-310145",
instanceName: "frontdoor",
regionCoordinates: "722-691-873-926",
numberOfChanges: "703",
token: "511"
},
type: "video"
}
{
"time": "10:59:57",
"src": "https://demo.kerberos.io/capture/1501491597_6-310145_frontdoor_722-691-873-926_703_511.mp4",
"local_src": "/var/www/web/public/capture/1501491597_6-310145_frontdoor_722-691-873-926_703_511.mp4",
"metadata": {
"key": "1501491597_6-310145_frontdoor_722-691-873-926_703_511.mp4",
"user": "1501491597_6-310145_frontdoor_722-691-873-926_703_511.mp4",
"timestamp": 1501491597,
"microseconds": "6-310145",
"instanceName": "frontdoor",
"regionCoordinates": "722-691-873-926",
"numberOfChanges": "703",
"token": "511"
},
"type": "video"
}
]
```
@@ -191,10 +197,11 @@ Retrieve the latest sequence detected.
Check if enabled or disabled.
**Response**
```json
{
"active": "true",
"delay": "5000"
"active": "true",
"delay": "5000"
}
```
@@ -205,17 +212,19 @@ Check if enabled or disabled.
Activate or disable the system.
**Payload**
```json
{
"active": "false"
"active": "false"
}
```
**Response**
```json
{
"active": "false",
"delay": "5000"
"active": "false",
"delay": "5000"
}
```
@@ -226,8 +235,9 @@ Activate or disable the system.
Check if the machinery is running (the stream is connected).
**Response**
```json
{
"status": "false"
"status": "false"
}
```