Hi

Over the last couple of months I have been working on a project that might be of interest to you: https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmiss...

Basically it is a digital transmission of video data that mimics the (advantageous) properties of an analog link. Although I use cheap WIFI dongles this is not one of the many "I took a raspberry and transmitted my video over WIFI"-projects.

The difference is that I use the cards in injection mode. This allows to send and receive arbitrary WIFI packets. What advantages does this give?

- No association: A receiver always receives data as long as he is in range

- Unidirectional data flow: Normal WIFI uses acknowledgement frames and thus requires a two-way communication channel. Using my project gives the possibility to have an asymmetrical link (->different antenna types for RX and TX)

- Error tolerant: Normal WIFI throws away erroneous frames although they could have contained usable data. My project uses every data it gets.

For FPV usage this means:

- No stalling image feeds as with the other WIFI FPV projects

- No risk of disassociation (which equals to blindness)

- Graceful degradation of camera image instead of stalling (or worse: disassociation) when you are getting out of range

The project is still beta but already usable. On the TX and RX side you can use any linux machine you like. I use on both sides Raspberrys which works just fine. I also ported the whole stack to Android. If I have bystanders I just give them my tablet for joining the FPV fun :)

Using this system I was able to archive a range of 3km without any antenna tracking stuff. At that distance there was still enough power for some more km. But my line of sight was limited to 3km...

In the end, what does it cost? Not much. You just need:

2x Raspberry A+

2x 8€ wifi dongles

1x Raspberry camera

1x Some kind of cheap display

Happy to hear your thoughts/rebuild reports :)

See you,

befinitiv.

Views: 70260

Reply to This

Replies to This Discussion

Found this definition;

Monitor mode

Monitor mode is a passive-only mode, no packets are transmitted. All incoming packets are handed over to the host computer completely unfiltered. This mode is useful to see what's going on on the network.

With mac80211, it is possible to have a network device in monitor mode in addition to a regular device, this is useful to observe the network whilst using it. However, not all hardware fully supports this as not all hardware can be configured to show all packets while in one of the other operating modes, monitor mode interfaces always work on a “best effort” basis.

With mac80211, it's also possible to transmit packets in monitor mode, which is known as packet injection. This is useful for applications that wish to implement MLME work in userspace, for example to support nonstandard MAC extensions of IEEE 802.11.

Unfortunately not, eth0 is the raspberry ethernet not the rocket.  You talk to the rocket over IP only as a standalone device - configuration is done through ssh or web interface.  You don't have any control over it as a 'device', unless someone has managed to hack it otherwise.  Some of the ubiquiti devices can run openwrt or other hacked software, possibly that's a way.

Did not know about the wispstation, agree with you should be the better solution.

Will try to get one

Just want to confirm what Martin says, it works very well, this is their website swat-drones

I found several Ubiquiti hacks using ETH to TTL adapters

Here is an example using the NanoStation

https://youtu.be/pfIwCQjXdvk

Thanks Paul...reading now

I am trying to figure out how the data gets sent using befinitiv's solution? because I don't see any port # anywhere?

 

If I want to add more data (for OSD), how would I append the data to the stream? and how would I pick it up on the receiving side?

I want to write a C/C++ program that will send the data to the receiver, but I don't even know how to start...

 

Also, since I have to execute the second program (that sends telemetry for OSD), I will have to execute the video command to run in the background, and/or the C program also... also the same on the receiving side.

 

It looks like befinitiv already got this to work, but did not post script/code yet:

Works as expected: https://youtu.be/EagDJrwleHQ :)

This one transmits the frsky telemetry from the naze32 over wifibroadcast. The battery voltage is displayed on the ground station PI as an overlay onto the video.

Code follows...

Same specs as the Bullet

Hi, very interesting project, I ordered some CSL 300 MBits to try it out :)

Anyone thought about improving the app using the QGroundControl HUD component ? 

http://qgroundcontrol.org/mavlink/image_transmission_protocol

It would great to display telemetry over this HUD :)

Kendall, Please what's the advantage of using ETH to TTL adapters?

Thank you

Direct connection to the available UARTS on the Pi?

Bypassing the laggy USB interface

You tell me!

Reply to Discussion

RSS

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service