Skip to content

Commit

Permalink
Maxm/add nocode setup tools to docs (#80)
Browse files Browse the repository at this point in the history
* new pages

* fixed docker deployment instructions

* removed comment, added purchase links

* renamed detector builder page, added prerequisites

* formatting

* machine must be linux for the docker setup to work

* changed docker compose yaml

* renamed to notification-server-example and iot example, moved to installation section

* changed notification-server-example to Monitoring Notification Server

* removed arduino

* fixed links

* fixed links again

* fixed comments

* groundlight ai link

---------

Co-authored-by: Max McKelvey <[email protected]>
Co-authored-by: Max McKelvey <[email protected]>
  • Loading branch information
3 people authored Aug 21, 2023
1 parent 172d24b commit 9d75819
Show file tree
Hide file tree
Showing 10 changed files with 108 additions and 31 deletions.
24 changes: 0 additions & 24 deletions docs/docs/installation/6-arduino.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ wrong if you try to use these features.

## PIL - optional but default installed

The `PIL` library offers a bunch of standard utilities for working with images in python. The Groundlight SDK can work without `PIL`.
The `PIL` library offers a bunch of standard utilities for working with images in python. The Groundlight SDK can work without `PIL`.

Because `PIL` is not very large, and is quite useful, we install it by default with the normal build of the Groundlight SDK. So when you
Because `PIL` is not very large, and is quite useful, we install it by default with the normal build of the Groundlight SDK. So when you

``` shell
```shell
pip3 install groundlight
```

Expand All @@ -24,8 +24,8 @@ it comes with the `pillow` version of the `PIL` library already installed.
### Working without PIL

If you are extremely space constrained, you can install the Groundlight SDK from source without `PIL` and it will work properly, but with reduced functionality.
Specifically, you will need to convert your images into `JPEG` format yourself. The SDK normally relies on `PIL` to do JPEG compression (which is a non-trivial algorithm), and the API requires images to be in JPEG format. However on space-constrained platforms, sometimes this conversion is done in hardware, and so we don't want to force you to install `PIL` if you don't need it.
Specifically, you will need to convert your images into `JPEG` format yourself. The SDK normally relies on `PIL` to do JPEG compression (which is a non-trivial algorithm), and the API requires images to be in JPEG format. However on space-constrained platforms, sometimes this conversion is done in hardware, and so we don't want to force you to install `PIL` if you don't need it.

## Numpy, OpenCV - fully optional

These commonly-used libraries are not installed by default, because they are quite large, and their installation can often cause conflicts with other dependent libraries. If you want to use them, install them directly.
These commonly-used libraries are not installed by default, because they are quite large, and their installation can often cause conflicts with other dependent libraries. If you want to use them, install them directly.
46 changes: 46 additions & 0 deletions docs/docs/installation/7-monitoring-notification-server.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Monitoring Notification Server

This is the easiest way to deploy your Groundlight detectors on a linux computer. All configuration is done through a web user interface, and no code development is required.

## Prerequisites

1. Internet connected linux computer
2. Video source (USB camera or RTSP stream)
3. Groundlight API Key (available from [groundlight.ai](https://www.groundlight.ai/))

## Deployment

1. Install Docker on your computer. See [Docker's installation instructions](https://docs.docker.com/get-docker/).
2. Create a new file called `docker-compose.yml` in your project directory. Copy the following into it:

```yaml
services:
frontend:
image: docker.io/groundlight/monitoring-notification-server-frontend:latest
ports:
- "3000:3000"
depends_on:
- backend
backend:
image: docker.io/groundlight/monitoring-notification-server-backend:latest
ports:
- "8000:8000"
devices:
- /dev/video0:/dev/video0
- /dev/video1:/dev/video1
- /dev/video2:/dev/video2
- /dev/video3:/dev/video3
privileged: true
volumes:
- /dev/bus/usb:/dev/bus/usb
```
3. Run the following command in your project directory:
```bash
docker-compose up
```

4. If installed locally, open http://localhost:3000 in your browser. If installed on a remote device, replace `localhost` with the IP address of your device. You should see the following page:

![Screenshot of the Groundlight Monitoring Notification Server](/img/docker-img-frontpage.png)
55 changes: 55 additions & 0 deletions docs/docs/installation/8-nocode-iot-deployment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# No-Code IoT Deployment

Groundlight supplies a tool for no-code deployment of a detector to an ESP32 Camera board. You can find it at https://code.groundlight.ai/groundlight-embedded-uploader/.

## Easy Deployment

This tool is designed to make it as easy as possible to deploy your Groundlight detector on an ESP32 Camera Board. You can deploy your detector in just a few clicks.

1. Go to https://code.groundlight.ai/groundlight-embedded-uploader/.
2. Plug your ESP32 Camera Board into your computer with a USB cable.
3. Click through the steps to upload your detector to your ESP32 Camera Board.

## Notification Options

The tool supports the following notification options for your deployed detector:

- Email
- SMS (With Twilio)
- Slack

## Multiple Supported Boards

Tested with the following boards. Many other ESP32 boards should work as well, but may require building the firmware from source and changing the IO pin definitions.

- M5Stack ESP32 PSRAM Timer Camera [[purchase here](https://shop.m5stack.com/products/esp32-psram-timer-camera-ov3660)]
- M5Stack ESP32 PSRAM Timer Camera X [[purchase here](https://shop.m5stack.com/products/esp32-psram-timer-camera-x-ov3660)]
- ESP32-CAM [[purchase here](https://www.amazon.com/s?k=ESP32-CAM&i=electronics)]
- SeeedStudio ESP32S3 Sense [[purchase here](https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html)]

<img
src={require('/img/m5stack_timer_camera.png').default}
alt="Example banner"
width={"25%"}
/>
<img
src={require('/img/m5stack_timer_camera_x.png').default}
alt="Example banner"
width={"25%"}
/>
<img
src={require('/img/esp32-cam.png').default}
alt="Example banner"
width={"25%"}
/>
<img
src={require('/img/xiao-esp32s3-sense.png').default}
alt="Example banner"
width={"25%"}
/>

## Source Code

The source code is written as an Arduino-based PlatformIO project for ESP32, and is available on GitHub at https://github.com/groundlight/esp32cam

If you need assistance or have questions about integrating Groundlight with Arduino, please consider opening an issue on the GitHub repository or reaching out to our [support team](mailto:[email protected]).
4 changes: 2 additions & 2 deletions docs/docs/installation/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Choose your platform from the list below and follow the instructions in the corr
- [Windows](3-windows.md)
- [Raspberry Pi](4-raspberry-pi.md)
- [NVIDIA Jetson](5-nvidia-jetson.md)
- [Arduino](6-arduino.md)
- [Linux with Monitoring Notification Server](7-monitoring-notification-server.md)
- [ESP32 Camera Device](8-nocode-iot-deployment.md)

After completing the installation process for your platform, you'll be ready to start [building visual applications](/docs/building-applications/) using the Groundlight SDK.

Binary file added docs/static/img/docker-img-frontpage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/static/img/esp32-cam.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/static/img/m5stack_timer_camera.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/static/img/m5stack_timer_camera_x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/static/img/xiao-esp32s3-sense.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9d75819

Please sign in to comment.