/RaceCast-Emitter

Onboard autonomous IoT project to capture and transmit data and media stream from the race car.

Primary LanguageTypeScriptApache License 2.0Apache-2.0


Logo

Emitter

Project Version  Project License

Onboard autonomous IoT project to capture and transmit data and media stream from the race car.
rallye.minarox.fr »


Table of Contents
  1. About The Project
  2. Getting Started
  3. Author

About The Project

Javascript app for acquiring and transmitting data and media stream from the various sensors mounted on the embedded system from the race car through cellular network.

Features

  • Init environment (reset linux services, setup GPS, etc.)
  • Fetch GPS datas
  • Connect and share GoPro stream and other datas throught LiveKit

Tech Stack

(back to top)

Getting Started

Prerequisites

This project is highly hardware / software dependant and as not been tested on other component expect mine :

  • Raspberry Pi 5 (with Ubuntu 22.04 and ModemManager deactivated)
  • Quectel EC25 Modem (preconfigured in ECM mode, with an "Orange" SIM card)
  • GoPro Hero 12 Black
  • Elgato CamLink 4K

The current user need to be added to the "dialout" group to allow communication with the modem's serial ports without sudo :

sudo gpasswd -a username dialout

Deploy on embedded system

  1. Clone the project and install dependencies :
git clone https://github.com/RaceCast/Emitter
cd Emitter
npm i
  1. Create .env file at the root of the project with these variables:
LIVEKIT_WS_URL="wss://example.com"
LIVEKIT_HTTP_URL="https://example.com"
LIVEKIT_KEY="key"
LIVEKIT_SECRET="secret"
LIVEKIT_ROOM="room"
  1. Build TypeScript files :
npm run build
  1. Run the app :
npm start

The app automaticaly setting up environment and start needed scripts.

(back to top)

Author

@Minarox

(back to top)