> This is the Markdown version of the page. For the complete Lattice Developers documentation index, fetch https://developer.anduril.com/llms.txt. Append .md to any page URL for its clean Markdown.

# Sample apps

## Raspberry Pi camera

Sensors publish their observations to Lattice as entities, and can expose a
live video feed and accept tasks that control their behavior. This sample app
integrates a Raspberry Pi camera with Lattice using the Python gRPC (Connect)
SDK, presenting the camera as a stationary asset with an electro-optical (EO)
sensor.

The app runs as two systemd units on the Pi. A Python daemon publishes the
entity at 1 Hz, registers a live [SRT](https://www.haivision.com/products/srt-secure-reliable-transport/)
video ingress, samples and reports health, and listens as a Lattice agent for
two custom tasks, `Start` and `Stop`. The second unit runs MediaMTX, which
captures the camera and pushes H.264 video over SRT to the ingress URL that
Lattice returns.

This app demonstrates how to combine several Lattice capabilities in a single
integration:

* Publishing an asset entity with an EO sensor to let operators see
  the camera and its field of view on the map.
* Registering a live video ingress that delivers a viewable feed
  alongside the entity in Lattice.
* Listening for and executing custom tasks to let operators control the
  camera, by starting and stopping the video feed.
* Reporting real-time health to let operators know whether the
  camera and its feed are working.

#### Raspberry Pi camera

Click to go to the sample application repository on GitHub. By downloading and/or using, you agree to the terms of use.
If you do not agree, do not use the application or the SDK:

* [Raspberry Pi camera sample app](https://github.com/anduril/sample-app-camera)

## Entity visualizer

Entities characterize real world objects such as vehicles, ships, aircraft, and
more. The Lattice data model provides an open, flexible set of attributes
which may be defined by automated sensor systems, tactical data links, and input
by human operators. This sample app renders a simple web app
which shows all entities in an environment on a map.

This app is designed to be a starting point for learning about entities and the many attributes enabled by
the entity open data model:

#### Entity visualizer

Click to go to the sample application repository on GitHub. By downloading and/or using, you agree to the terms of use.
If you do not agree, do not use the application or the SDK:

* [Visualize Entities on a Map sample app](https://github.com/anduril/sample-app-entity-visualizer)

![](/_fern-img/df2943ff63c8f0de53aff525d969c89aa2e4a0a698496bc72532ca1f38947a85.webp)

## Task an asset

Tasks are the core open data model which communicate requests to manned or
unmanned agents to perform purposeful activities, such as moving to a given
location, orienting sensing towards a location of interest, or taking more
active actions on other entities.

This repository demonstrates how to define and operate on a custom `Orbit` task.
The task is defined in a `.proto` file and published to the Lattice Schema Registry.

Three distinct programs demonstrate:

* Publishing a Track to Lattice representing a sensor point-of-interests
* Creating a taskable Asset that accepts and executes an `Orbit` task
* Using the Common Operating Picture (COP) to identify and automatically task the Asset based on
  the entities in the environment.

These work in conjunction to demonstrate an automated tasking scenario.

You can download this sample app from GitHub.

#### Auto reconnaissance

Click to go to the sample application repository on GitHub. By downloading and/or using, you agree to the terms of use.
If you do not agree, do not use the application or the SDK:

* [Task an Asset sample app](https://github.com/anduril/sample-app-auto-reconnaissance)

![](/_fern-img/e19a41cffcf050c937a06186ea6dc87eb6e70920d98fc5ee16faa6c3dfca6e80.webp)

## Objects CLI

In Lattice, the [Objects API](/reference/rest/objects/list-objects) provides a content-delivery
network service that enables resilient data storage at the edge. This sample app implements
a command-line interface that lets developers interact with the Objects API for managing
files across the Lattice environment.

The Objects CLI provides a comprehensive set of operations including uploading files with
customizable time-to-live values, downloading objects to specified locations, retrieving metadata,
listing objects with prefix filtering, and deleting objects from the store.

#### Objects CLI

Click to go to the sample application repository on GitHub. By downloading and/or using, you agree to the terms of use.
If you do not agree, do not use the application or the SDK:

* [Objects CLI sample app](https://github.com/anduril/sample-app-objects)

![](/_fern-img/583705f9b28aa34570b44842ab83054da69ed50c4cdf9146859a4c442d198e9b.webp)

For more information, see [Objects overview](/guides/objects/overview).

## Integrate maritime AIS position data

The AIS (Automatic Identification System) vessel traffic dataset is a repository
of vessel identification and positioning data. The data is collected by the U.S.
Coast Guard through an onboard navigation safety device that transmits and
monitors the location and characteristics of vessels in U.S. and international
waters in real time.

This sample integration utilizes previously extracted AIS
data to represent the location of a surface vessel over time, and then models
that vessel as an entity with a location which is periodically updated. Once the
entity is published in Lattice it may be visualized or referenced by another
app.

This sample app is available using the gRPC SDK or the REST SDK:

#### AIS integration

Click to go to the sample application repository on GitHub. By downloading and/or using, you agree to the terms of use.
If you do not agree, do not use the application or the SDK:

* [AIS Integration sample app using gRPC SDK](https://github.com/anduril/sample-app-ais-integration-grpc)
* [AIS Integration sample app using REST SDK](https://github.com/anduril/sample-app-ais-integration-rest)

![](/_fern-img/4a529a595d17e583420ee1bfe53e7c99a9c06a48829dcc2557912222015d7b07.webp)

## Entity thumbnail

In Lattice, an object is a data model that lets you store and access files across your environment.
The [**Objects**](/reference/rest/objects/list-objects) API is a content-delivery network service that provides resilient data storage at the edge.
Use objects together with entities to implement use-cases like track thumbnails, and vessel manifests.

This app demonstrates an entity thumbnail use-case implemented with the Lattice SDK. The sample app is a command-line interface
tool that lets you upload images to Lattice, and link them with an entity. The example C2 app shows this linked image as a thumbnail
of the entity:

#### Track thumbnail

Click to go to the sample application repository on GitHub. By downloading and/or using, you agree to the terms of use.
If you do not agree, do not use the application or the SDK:

* [Entity thumbnail sample app](https://github.com/anduril/sample-app-thumbnail)

![](/_fern-img/58c183e84a49edc4eb2b0c8a5db18eb71e36c6ebdfd68091cd2950a16858f5dc.webp)

For more information, see [Objects](/guides/objects/overview).