Skip to content

Commit

Permalink
Merge pull request #894 from luxonis/standalone_update
Browse files Browse the repository at this point in the history
Update standalone mode docs
  • Loading branch information
Erol444 authored Sep 22, 2023
2 parents 5c65953 + e7c7027 commit 125cbfe
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions docs/source/tutorials/standalone_mode.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,33 @@
Standalone mode
===============

**Standalone / Hostless / On-The-Edge mode** means that the OAK camera isn't connected to a host computer. This can
be achieved by first :ref:`flashing the bootloader <Flash the bootloader>` and then :ref:`flashing the pipeline <Flash the pipeline>`
and assets (NN models) to the OAK's flash memory.
**Standalone / Hostless / On-The-Edge mode** means that the camera starts the (:ref:`flashed <Flash the pipeline>`) application as soon as it gets power, without being connected to any particular host computer.
This is useful for applications where camera is stationary and just inspecting the world and providing analytics (eg. people/vehicle counting, LPR, fall detection, etc.)

Usually, this mode is also more robust to any instabilities (eg. networking issues, where connection between camera and host computer would drop), as application will restart automatically.

Standalone mode is **only possible on OAKs that have on-board flash** memory, which are currently
`OAK POE <https://docs.luxonis.com/projects/hardware/en/latest/#poe-designs>`__ and OAK IOT camera models.

**Scenarios** when standalone mode is particularly useful:

- People/vehicle/object tracking and counting (People counting `demo here <https://github.com/luxonis/depthai-experiments/tree/master/gen2-people-tracker>`__). Each camera can do its own counting (inside Script node), and only send final count (eg. every hour) to some server via MQTT/HTTP.
- License Plate Recognition (LPR) camera (`demo here <https://github.com/luxonis/depthai-experiments/tree/master/gen2-license-plate-recognition>`__). Each camera does vehicle detection, license plate detection and LPR, and only reports license plate (in string) to a server.
- Fall detection for elderly people (`demo here <https://www.youtube.com/watch?v=npiG-Dy7yQ4>`__). Each camera tracks people and checks their poses for any anomalies (eg. person falling down). If anomaly is detected, it sends an alert to a server.

In case you already have a computer on-board (eg. a robot/drone), standalone mode isn't as useful, and just adds extra complexity.

Communication with the camera
#############################

To "communicate" with the outside world (eg. a server), POE cameras can use :ref:`Script` node to send/receive networking packets (HTTP/TCP/UDP...). Here are a few examples:

- `TCP streaming <https://github.com/luxonis/depthai-experiments/tree/master/gen2-poe-tcp-streaming>`__ (camera being either server or client)
- `HTTP server <https://docs.luxonis.com/projects/api/en/latest/samples/Script/script_mjpeg_server/#script-mjpeg-server>`__
- `HTTP client <https://docs.luxonis.com/projects/api/en/latest/samples/Script/script_http_client/>`__
- `MQTT client <https://github.com/luxonis/depthai-experiments/tree/master/gen2-poe-mqtt>`__


Converting a demo to standalone mode
####################################

Expand Down Expand Up @@ -37,8 +57,9 @@ or script node, as mentioned above.
Flash the bootloader
####################

To run the application on the camera, a `Bootloader` is required. Note that bootloader is already flashed on all POE cameras, as it's also required for network booting.
The :ref:`Bootloader` is packaged together with the depthai, so if you have the latest depthai version, you can flash the
latest bootloader version. To flash the bootloader, we suggest using the :ref:`Device Manager`. To view the API code behind
latest bootloader version. To flash the latest bootloader, we suggest using the :ref:`Device Manager`. To view the API code behind
it, see :ref:`Flash Bootloader` example code.

Flash the pipeline
Expand Down

0 comments on commit 125cbfe

Please sign in to comment.