GithubHelp home page GithubHelp logo

Comments (5)

seeul8er avatar seeul8er commented on May 26, 2024

Are you using it on a drone or are you just interested in getting audio from A to B?

It should already be possible and will only require you to change a couple of lines in the script. I can point you to the right location.
I see that adding a configuration for something like this might be interesting for some people, but I am currently pretty packed with my thesis so it won't happen anytime soon.

from dronebridge.

system123 avatar system123 commented on May 26, 2024

It will be used with remote beacons that capture audio, and this audio needs to be transmitted to a moving receiver station (boat) with the best effort and low latency - so no need for autopilot etc. Mainly just looking for a way to broadcast audio and some telemetry information, and allow the receiver to capture it without the need for handshakes and connection negotiation.

Would be great if you can point me to the right place in the scripts.

Thanks

from dronebridge.

pilotnbr1 avatar pilotnbr1 commented on May 26, 2024

@system123 As Wolfgang sounds busy (and don’t want to step on his toes) If interested I threw together a branch on Openhd called Enhance-NoCam.

https://github.com/HD-Fpv/Open.HD_Image_Builder/tree/Enhance-NoCam

I think others might have the same needs. Untested at the moment you would have to build it from the image builder using that branch. You would be a Tester... I am on the road an unable to test on a Pi for a couple weeks but will work with you

from dronebridge.

seeul8er avatar seeul8er commented on May 26, 2024

Seems like your options are coming in πŸ˜„
Basically you need two things:

  1. Put your wifi adapters into monitor mode
  2. Start RX and TXs programs. Data is fed as a continuous stream via a named pipe.

You can modify the v0.5 releases code to fit your needs. Part of the important stuff happens inside /root/.profile. It is a big and awful script and will be replaced as soon as possible.

In v0.5 we determine TX or RX side here. Hardcode it to be 0 for receiver or 1 for the transmitter.
To feed your audio stream instead of the video change this line. Replace the raspivid command with something that outputs your data to stdout.
To get the data on your receiving side change this line. You can disable the distribution of the data to different FIFOs and take the received data directly via stdin to your application. Your code would start behind $VIDEO_BLOCKLENGTH $NICS | <your_app>
You can also start multiple instances/links of these receivers and transmitters by supplying a different -p argument. Basically a virtual port.

Because the script is such a monster I cannot guarantee that all of the rest will be stable. Sometimes it checks for raspivid to be running before it does stuff. So that won't work since we disabled it.

Alternatively, you can have a look at the nightly branch. I wrote a python script that puts the cards into monitor mode. This should work. (Just like any other method for setting cards to monitor mode)

After that, you can launch the TX and RX programs. You can use the ones from v0.5 or a newer (not so much tested) version. If you start the transmitter with the -a 1 option it should also work with Ubuntu and non patched drivers.
That way you could kind of disable the entire .profile script and concentrate on the stuff you need.

Hope this gives you some insight. Just ask if something is unclear. I have tested the newer transmitters with image files instead of video. That worked fine. Hope it does well with audio.

BTW. This might be useful as well. It is an alternative transmitter app that basically does the same as DroneBridge but seems to accept UDP streams as a source.

from dronebridge.

system123 avatar system123 commented on May 26, 2024

@seeul8er @pilotnbr1 Thanks for the detailed instructions and help, I think I should manage to achieve what I need from here. Will reopen the issue if I get stuck.

from dronebridge.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.