Decentralized Land Transportation Assistant
Delta is a land transportation communication system designed for safety, convenience, and accessibility.
Communication is done via a peer-to-peer network without a need for a central server. Peers can call each other, alert each other, and share their location and speed.
Crash detection is done by monitoring the accelerometer. When a crash is detected and confirmed by the user, an alert is sent to all peers.
Say delta
to activate the voice assistant, then say any of the following commands.
General Commands | Description |
---|---|
call [peer name] |
Call a peer. |
alert [sos / hazard / yielding] |
Alert all peers. |
find [place type] |
Find and show a place. |
Active Call Commands | Description |
---|---|
accept |
Accept incoming call. |
decline |
Decline incoming call. |
cancel |
Cancel outgoing call. |
end |
End ongoing call. |
Places View Commands | Description |
---|---|
previous |
Show previous place. |
next |
Show next place. |
exit |
Exit places view. |
Nearby places are shown on the map. Click on a place to show a QR code for more information.
The user can set their display icon as well as set communication preferences.
Vehicles can communicate with infrastructure like traffic lights, road signs, and toll gates.
Driver alertness is monitored by sensors, such as a camera. When the driver is detected to be drowsy, a warning is shown.
- Set up a toolbox container.
- Run,
toolbox create --image quay.io/toolbx-images/debian-toolbox:12
- Run,
- Set up Rust via
rustup
.- Optionally, install
rust-analyzer
viarustup component add rust-analyzer
.
- Optionally, install
- Install the required dependencies.
sudo apt install libgtk-4-dev libadwaita-1-dev libshumate-dev libgstreamer1.0-dev gstreamer1.0-plugins-good libspeechd-dev speech-dispatcher cmake clang gpsd gpsd-clients
- Set up text-to-speech (TTS).
- Uncomment the required locale from
/etc/locale.gen
. - Install
locales
viaapt
and run/usr/sbin/locale-gen
.
- Uncomment the required locale from
- Set up speech-to-text (STT).
git clone https://github.com/ggerganov/whisper.cpp.git
cd whisper.cpp
./models/download-ggml-model.sh tiny.en
- Use
./run
to build and run the project.STT=1 LOCATION=14.676007,120.531093 NAME=ABC-123 ./run
LOCATION=14.676760,120.530814 NAME=IJK-456 ./run
LOCATION=14.676090,120.531404 NAME=XYZ-789 ./run
rsync --filter=':- .gitignore' --exclude \".*/\" -aP ./ $REMOTE_DIR