Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/minarox/racecast-emitter
Onboard autonomous IoT project to capture and transmit data and media stream from the race car.
https://github.com/minarox/racecast-emitter
i2c-bus livekit nodejs socat typescript
Last synced: 18 days ago
JSON representation
Onboard autonomous IoT project to capture and transmit data and media stream from the race car.
- Host: GitHub
- URL: https://github.com/minarox/racecast-emitter
- Owner: Minarox
- Created: 2023-06-02T07:31:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-22T23:36:04.000Z (7 months ago)
- Last Synced: 2024-05-23T08:38:28.904Z (7 months ago)
- Topics: i2c-bus, livekit, nodejs, socat, typescript
- Language: TypeScript
- Homepage:
- Size: 381 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Emitter
![Project Version](https://img.shields.io/github/package-json/v/RaceCast/Emitter?label=Version)
![Project License](https://img.shields.io/github/license/RaceCast/Emitter?label=Licence)
Onboard autonomous IoT project to capture and transmit data and media stream from the race car.
rallye.minarox.fr »
Table of Contents
## 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
- [TypeScript](https://www.typescriptlang.org/)
- [LiveKit](https://github.com/livekit/server-sdk-js)
- [Puppeteer](https://pptr.dev/)
- [Dotenv](https://github.com/motdotla/dotenv)## 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 4KThe current user need to be added to the "dialout" group to allow communication with the modem's serial ports without `sudo` :
```bash
sudo gpasswd -a username dialout
```### Deploy on embedded system
1. Clone the project and install dependencies :
```bash
git clone https://github.com/RaceCast/Emitter
cd Emitter
npm i
```2. Create `.env` file at the root of the project with these variables:
```dotenv
LIVEKIT_WS_URL="wss://example.com"
LIVEKIT_HTTP_URL="https://example.com"
LIVEKIT_KEY="key"
LIVEKIT_SECRET="secret"
LIVEKIT_ROOM="room"
```3. Build TypeScript files :
```bash
npm run build
```4. Run the app :
```bash
npm start
```
The app automaticaly setting up environment and start needed scripts.## Author
[@Minarox](https://www.github.com/Minarox)