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-transmission-of-live-video-data/
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.
Replies
If you add pv to your command what speed are you getting? Do:
<your rx command> | pv > /dev/null
Hi guys,
Thanks befinitiv for all the work you've put in here! I have followed your instructions on your wordpress page and setup wifibroadcast on two raspberry A+ boards. My current config uses the TP link 722's. The Pi camera is working fine, and the TX side seems to be running OK. My problem is with the RX side. I just cant get the video to display! I've recompiled the hello video application using the video.c file you provide. I get an error from tv service saying it cant start, error -1, and then I get a bunch of packet dropped messages, no video is displayed. Any clue what I'm doing wrong here? Both my TP-links use the patched drivers you provide.
Thanks!
Hi uttameflight
I think you are almost there :) Could you post us the complete command lines you are using for both tx and rx side?
Hi befinitiv,
Thanks! I've followed all your instructions from here: https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmiss...
On the TX side:
1) clone wifibroadcast
2) patch wifi card firmware
3) Compile wifibroadcast
4) Monitor mode using the 6 commands on your page
The wifi card starts blinking and I see packets being injected on the terminal
On the Rx side:
1) Clone and make wifibroadcast
2) Rebuild hello_video using the video.c file you provide
3) Run the 7 commands on your page
This is what gives me the error followed by some lost packet messages.
I've tested the hello_video after the patch with test.h264 and it works fine.
-Thanks, looking forward to some HD video soon!
Uttam
@uttameflight,
Sorry to butt in but it might be good to first try using the images provided by Tommy Larsen. I'm not sure if they're optimal but I've confirmed they work on my set-up at least as far as displaying images.
hehe, feel free to butt in anytime, Randy! :) Thanks, will look at those images. Do the images contain the complete raspbian OS for tx and the rx?
@uttameflight,
Yes, there are two images, one for tx side and one for rx side.
I accidentally turned off "following" of this thread so missed this question.
I did my flight test today with my IRIS+Navio+WifiBroadcast using Alfa AWUS036NHA adapters with the regular 5db antennas on both tx and rx sides.
I went as far as 280m and although the video was breaking up quite regularly I was getting clear periods as well. The video was dropping out at regular intervals even when the vehicle was just 5m away so I need to look at what's going on there. There are a lot of trees in my area so that was also not helping I suspect.
The good news was the Ublox M8 GPS was fine with very low HDOP. As a precaution I wrapped the RPi camera and ribbon cable in aluminum tape but was still seeing lots of interference during bench testing indoors. Once outdoors however the GPS was a-ok.
Next I plan to add a 3rd wifi adapter and see if "diversity" helps reliability. Also I will start using befinitiv's startup scripts to ensure all the parameters are the same as what he is using and retest latency.