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: 3 months 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 (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-22T23:36:04.000Z (about 1 year ago)
- Last Synced: 2024-05-23T08:38:28.904Z (about 1 year 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
![]()
RaceCast-Emitter


Onboard autonomous IoT project to capture and transmit data and media stream from the race car.
racecast.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
- Fetch and parse modem (Network, GPS) and MPU6050 (temperature) datas
- Stream multiple media stream (audio and video) in realtime### Tech Stack
- [Node](https://nodejs.org/)
- [pnpm](https://pnpm.io/)
- [TypeScript](https://www.typescriptlang.org/)
- [LiveKit](https://livekit.io/)
- [Puppeteer](https://pptr.dev/)
- [Chromium](https://www.chromium.org/)## Getting Started
This project is highly hardware / software dependant and as not been tested on other component expect mine :
- Raspberry Pi 5 (with Raspberry Pi OS)
- Quectel EC25 Modem (preconfigured in QMI mode, managed by ModemManager with "Orange" SIM card)
- GoPro Hero 12 Black
- V4L2 ready devices (including Elgato CamLink 4k and various Logitech webcam)
- MPU6050 sensor### Deploy on embedded system
1. Install [pnpm](https://pnpm.io/) and [Chromium](https://www.chromium.org/) on the host
2. Clone the project and install dependencies :
```bash
git clone https://github.com/Minarox/RaceCast-Emitter
cd RaceCast-Emitter
pnpm install
```3. Create `.env` file from `.env.example` at the root of the project with real [LiveKit](https://livekit.io/) server.
4. Run the app :
```bash
pnpm dev
```Or with auto-restart if crash occurs at some point:
```bash
pnpm start
```## Author
[@Minarox](https://www.github.com/Minarox)