Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Networking] - Introduce Odyssey Voice #167

Open
jr1221 opened this issue Sep 7, 2024 · 1 comment
Open

[Networking] - Introduce Odyssey Voice #167

jr1221 opened this issue Sep 7, 2024 · 1 comment
Labels
feature New feature or request

Comments

@jr1221
Copy link
Contributor

jr1221 commented Sep 7, 2024

Description

Basically, right now comms are an airpod on a cellular call with a phone in the drivers pocket. That sucks. Reasons it sucked:

  • Driver had issues hearing, talking
  • Uses data
  • Dependent on cellular coverage
  • Dependent on phone being charging, bluetooth airpods being charged

Reasons radio sucks:

  • Staticy
  • Automatic talk radios really suck and a driver shouldnt need to push a button

Acceptance Criteria

  • Driver can hear and can be heard well (talk with ergonomics about helmet, test barrel jack)
  • Latency is within a normal call (low delay)
  • The data usage does not exceed 250 kbps (testable with bmon)
  • A non-tech savvy person could call the car
  • All answering, etc. is hands free for the driver

Proposed Solution

Implement a VoIP system. It works well with low bandwidth dedicated scenarios, of which we are one.
Steps I would take:

  • Spec out a simple VoIP client that runs on linux via docker (google)
  • Spec out a client that runs on ur phone (google)
  • Understand the audio barrel jack drivers needed for good audio and microphone (see raspberry pi 4 documentation)
  • Run a test of the peer to peer system and see if it is successful. If so, keep going, if not probably look into a SIP server to run on the router (dockerized).
  • Now, with successful calling, do a long range test with the rotuer and check bmon bandwidth.
  • Check in with ergo on helment and see how well one can hear/be heard
  • Now make the linux client hands free. Probably the hardest part, if ur lucky there will be a setting for automatic answering, if not you must script a small daemon, probably bash or python, to accept calls via an API or CLI.
  • Last but not least talk to your lead (me) about how to turn it into a PR. Write it up so anybody can use it!
@jr1221 jr1221 added the feature New feature or request label Sep 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant