Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
junruxiong committed Sep 7, 2024
1 parent dac9f0c commit 95c5a63
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 40 deletions.
108 changes: 72 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,47 +17,45 @@ Usecases: 1, 2, 3
[Check our Roadmap](www.starmoon.ai)
<!-- custom voice clone, RAG, agent -->

## 1. Demo Highlights 🎥
## Demo Highlights 🎥

Video

## 2. Key features 🎯
## Key features 🎯

Low-cost
Voice-enabled emotional intelligence
Open-source
Small size (as small as the Apple Watch)

## 3. Getting Started 🚀
## Getting Started 🚀

123

### 3.0 Prerequisites 📋
### Prerequisites 📋

1. Docker installed in your machine
- Make sure localhost ports 8000, 3000, 6379, 5555 are not used

2. Supabase CLI
- Follow the instructions here to install the Supabase CLI Follow the instructions here to install the Supabase CLI if you haven't installed

3. Vscode and PlatformIO plugin installed in your machine

4. API keys:
- Supabase: For database
- OpenAI: For AI language models
1. Softwares and services:
- Docker
- Supabase CLI
- Follow the instructions here to install if you haven't installed
- Vscode and PlatformIO plugin: For firmware burning
- OpenAI API key: For AI language models
- Deepgram API key: For speech-to-text
- Azure speech API key: For text-to-speech
- Huggingface: For emotion recognition
- Huggingface API key: For emotion recognition

5. Hardware list (not sponsored):
- Seeed Studio Xiao ESP32-C6
- Microphone (model)
- Amplifier (model)
- Speaker (model)
- PCB prototype board (link)
- 28 AWG wires + soldering toolset
2. Hardware list, you have two options:
- Buying an assembled device [website](https://www.starmoon.app)
- Or assemble the device yourself with off-the-shelf components:
- Seeed Studio Xiao ESP32C6
- Microphone (INMP441)
- Amplifier (model)
- Speaker (model)
- LED light (model)
- Button (model)
- PCB prototype board (link) + 28 AWG wires + soldering toolset

### 3.1 Software setup 🖥️
### Software setup 🖥️

- **Step 1**: Clone the repository:

Expand All @@ -72,6 +70,9 @@ Small size (as small as the Apple Watch)
```

- **Step 3**: Update the `.env` files
You can manually update tokens in the `.env` file

or use:

```bash
vim .env # or emacs or vscode or nano
Expand All @@ -80,41 +81,76 @@ Small size (as small as the Apple Watch)
Update **OPENAI_API_KEY** in the `.env` file.

- **Step 4**: Launch the project
If you have a Mac, go to Docker Desktop > Settings > General and check that the "file sharing implementation" is set to `VirtioFS`.

```bash
cd ../
docker compose pull
docker compose up
```

If you have a Mac, go to Docker Desktop > Settings > General and check that the "file sharing implementation" is set to `VirtioFS`.

If you are a **developer**, you can run the project in development mode with the following command: `docker compose -f docker-compose.yml up --build`

- **Step 5**: Login to the app

- You can now sign in to the app with `admin@quivr.app` & `admin`. You can access the Starmoon webapp at [http://localhost:3000/login](http://localhost:3000/login) and sign up an account
- You can now sign in to the app with `admin@starmoon.app` & `admin`. You can access the Starmoon webapp at [http://localhost:3000/login](http://localhost:3000/login) and sign up an account

- You can access Starmoon backend API at [http://localhost:8000/docs](http://localhost:8000/docs)

- You can access Supabase dashboard at [http://localhost:54323](http://localhost:54323)

- You can access Celery Flower background task dashboard at [http://localhost:5555](http://localhost:5555) (`[email protected]` & `admin`)
- You can access Celery Flower background task dashboard at [http://localhost:5555](http://localhost:5555) (`[email protected]` & `admin`)

### Hardware setup 🧰

- **Step 0 (Optional)**: Build the device yourself (if you haven't bought the assembled device)
- Follow the instructions here for more details on assembly

### 3.2 Hardware setup 🧰
- **Step 1**: Open PlatformIO Icon (Vscode icon left sidebar)
- Click "Pick a folder"
- Select the location of the firmware folder in the current project.

- **Step 0**: Install PlatformIO in VSCode
- **Step 2**: Update the WiFi credentials and WebSocket server details in the code
- Find the following lines in the code and update them with your information:
- Find the WIFI host by command

Follow the instructions [here](https://platformio.org/install/cli) to install PlatformIO that is required.
```cpp
const char *ssid = "<your-wifi-name>";
const char *password = "<your-wifi-password>";
const char *websocket_server_host = "<192.168.1.1.your-server-host>";
const uint16_t websocket_server_port = 443;
const char *websocket_server_path = "/<your-server-path-here>";
const char *auth_token = "<your-auth-token-here>"; // generate auth-token in your starmoon account
```

- **Step 3**: Build the firmware
- Click `Build` button in the PlatformIO toolbar or run the build task.

- **Step 5**: Upload the firmware to the device
- Connect your ESP32 to your computer using usb.
- Click `Upload` button to run the upload task, or `Upload and Monitor` button to run the upload task and monitor the device.

- **Step 6**: Hardware usage
- Once the software and firmware are set up, you can push the button to power on the ESP32 device and start talking to the device.
- The LED indicates the current status:
- Off: Not connected
- Solid On: Connected and listening on microphone
- Pulsing: Streaming audio output (receiving from server)

## Updating Starmoon App 🚀

- **Step 1**: Pull the latest changes

```bash
platformio --version # Check that the installation worked
git pull
```

## 4. 3rd Party Integrations
- **Step 2**: Update the migration

```bash
supabase migration up
```

123

## 5. License
## License

123
Binary file added pins.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 3 additions & 4 deletions supabase-setup.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
title: Supabase
description: Comprehensive guide on setting up Supabase for Starmoon, including CLI usage, migrations, database reset, and deployment.
---
# Supabase

Comprehensive guide on setting up Supabase for Starmoon, including CLI usage, migrations, database reset, and deployment.

## Configuring Supabase

Expand Down

0 comments on commit 95c5a63

Please sign in to comment.