Skip to content

Commit fbd3ed9

Browse files
authored
Merge pull request #12 from microsoft/docs-setup-script
docs: update README; add setup script (sparrow_setup.sh)
2 parents 8539d32 + f264389 commit fbd3ed9

File tree

2 files changed

+659
-15
lines changed

2 files changed

+659
-15
lines changed

README.md

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,36 @@
1+
<p align="center">
2+
<a href="https://dashboard.sparrow-earth.com/">
3+
<img src="https://dashboard.sparrow-earth.com/static/images/SPARROW-Blog-Header_1280px-x-720px_V2.png"
4+
alt="SPARROW - AI for Good Wildlife Monitoring"
5+
width="800">
6+
</a>
7+
</p>
8+
9+
<p align="center">
10+
<em>Edge AI for biodiversity.</em>
11+
</p>
12+
113
# Project
214

3-
**SPARROW**, developed by **Microsoft's AI for Good Lab**, is an **AI-powered edge computing solution** designed to monitor and protect wildlife in the most remote regions of the world.
15+
**SPARROW**, developed by **Microsoft's AI for Good Lab**, is an **AI-powered edge computing solution** designed to monitor and protect wildlife in the most remote regions of the world.
416
Solar-powered and equipped with advanced sensors, it collects biodiversity data—from camera traps, acoustic monitors, and other environmental detectors—that are processed using our most advanced PyTorch-based wildlife AI models on low-energy edge GPUs. The resulting critical information is then transmitted via low-Earth orbit satellites directly to the cloud or on-premise infrastructure, allowing researchers to access fresh, actionable insights in real time, no matter where they are.
517

618
## Key Features
719

820
1. **Autonomous operation**
9-
Solar-powered for long-term, off-grid deployment (power scheduling and management included).
21+
Intelligent power management with solar charging, battery health monitoring, and dynamic component scheduling enables continuous off-grid operation.
1022

1123
2. **Sensing**
12-
Camera traps, acoustic monitoring, and environmental sensors.
24+
Camera traps, acoustic monitoring, and environmental sensors - SPARROW integrates multi-modal sensing to capture images, sounds, and enviromental metrics for comprehensive biodiversity monitoring.
1325

1426
3. **On-device AI**
15-
PyTorch models on low-energy edge GPUs (Jetson Orin Nano) for real-time detection and species classification.
27+
Runs optimized PyTorch Wildlife models on low-energy edge GPUs (e.g., Jetson Orin Nano) for real-time image and acoustic detection, species classification, and event recognition.
1628

1729
4. **Global connectivity**
18-
Sends data via low-Earth satellites to a remote endpoint (default SPARROW dashboard).
30+
Even in the most remote ecosystems, SPARROW maintains a link to the cloud or on-premise infrastructure through low-Earth-orbit satellites, ensuring that vital conservation data reaches researchers in near real time.
1931

2032
5. **Resilience**
21-
Local backlogs when offline; safe upload once connectivity returns.
33+
Designed for extreme field conditions - SPARROW safely records data when offline, automatically synchronizing once connectivity is restored to ensure no loss of information.
2234

2335
---
2436

@@ -30,23 +42,37 @@ All services run in **Docker** and are orchestrated with **Docker Compose**.
3042

3143
# Getting Started
3244

33-
## 1. One-click Jetson Setup (Recommended)
45+
## 1. Hardware Assembly
46+
47+
### Prerequisites
48+
49+
Before you begin, ensure you have all the necessary hardware listed in the Bill of Materials (BOM):
50+
[https://link-to-bom/](https://link-to-bom/)
51+
52+
Full build instructions can be found here:
53+
[https://link-to-build/](https://link-to-build/)
54+
55+
---
56+
57+
## 2. One-click Jetson Setup (Recommended)
3458

35-
The repo contains a Jetson configuration script `sparrow_setup.sh` that installs prerequisites, prepares folders, downloads default Triton models, seeds the DS3231 RTC, configures Wi-Fi hotspot, and launches the services.
59+
The repo contains a Jetson configuration script `sparrow_setup.sh` that installs prerequisites, prepares folders, downloads default Triton models, seeds the DS3231 RTC, configures Wi-Fi hotspot, and launches the SPARROW services.
3660

37-
You will need to obtain an access key from the SPARROW dashboard:
61+
To send data to the SPARROW dashboard you will need to pair it with your account.
62+
To create an account and obtain an access key visit:
3863
[https://dashboard.sparrow-earth.com/](https://dashboard.sparrow-earth.com/)
3964

40-
**Script:** `setup_jetson.sh`
65+
**Script:** Download the SPARROW setup script from this repo once the hardware assembly and Jetson flash is complete (detailed instructions can be found in the build instructions).
66+
The setup script should be run from `~/Desktop`.
4167

4268
### Usage
4369

4470
```bash
71+
cd ~/Desktop
4572
sudo chmod +x sparrow_setup.sh
4673
sudo ./sparrow_setup.sh
47-
```
4874

49-
---
75+
```
5076

5177
## What the Script Does
5278

@@ -102,7 +128,7 @@ Creates `~/Desktop/system` with:
102128
Downloads three default ONNX models from Zenodo and writes minimal `config.pbtxt` for each Triton repo.
103129

104130
### 8. Access Key
105-
Prompts for the server access key and writes it to:
131+
Prompts for the server access key (obtained from the SPARROW dashboard) and writes it to:
106132
```
107133
sparrow/config/access_key.txt
108134
starlink/config/access_key.txt
@@ -114,7 +140,7 @@ Gets UTC from WorldClock API (fallback: NTP or system UTC) and writes it to the
114140
### 10. Wi-Fi Hotspot
115141
Configures a persistent hotspot via NetworkManager:
116142
**SSID:** `CameraTraps`
117-
**Password:** `<to_be_configured>`
143+
**Password:** `User prompted`
118144

119145
### 11. Docker Build & Launch
120146
Builds images with BuildKit (no cache), runs `docker-compose up -d`, and tails logs.
@@ -133,7 +159,7 @@ All Python dependencies are inside the containers (no host Python required):
133159

134160
# API References
135161

136-
The client calls these endpoints on `SERVER_BASE_URL` (**all POST**):
162+
The client calls these endpoints on `SERVER_BASE_URL`:
137163

138164
| Endpoint | Description |
139165
|-----------|--------------|

0 commit comments

Comments
 (0)