Onboard autonomous IoT project to capture and transmit data and media stream from the race car.
rallye.minarox.fr »
Table of Contents
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.
- Init environment (reset linux services, setup GPS, etc.)
- Fetch GPS datas
- Connect and share GoPro stream and other datas throught LiveKit
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
- Clone the project and install dependencies :
git clone https://github.com/RaceCast/Emitter
cd Emitter
npm i
- 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"
- Build TypeScript files :
npm run build
- Run the app :
npm start
The app automaticaly setting up environment and start needed scripts.