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 :)
i'll have to test.
yes!! this works!,
If you want your 50$ pm me you paypal email so i can send it.
Does anybody know a good way to display the video on the receiving rpi 2b connected to a hdmi screen?
If there is any interest i can upload the images of my receiver and sender to megaupload. So others can just write it to their sd card via win32diskimager and it instantly work.
If anybody would like that, please respond.
Ran the code on the receiver side and it works perfectly!
you enther those commands listed in my google docs file and the program starts and opens up the video in full screen over HDMI port. Now i'm gonna try if this also works trough XRDP or other virtual desktop programs.
I would like to keep using windows 8 on my laptop and view the video trough remote desktop via ethernet port. However it could be that this will not work due to the streamer application etc...
Else I hve to find some HDMI goggles or a portable hdmi screen.
Good to hear that you got it working :)
Happy to help - keep the money.
I have added the receiver image in my docs file, the transmitter will be done in 20 minutes.
My camera setup:
3 axis GLB gimbal, latest stom32 firmware, fully controllable by pixhawk and via rc transmitter. Gopro Hero 3+ black with SRP ND4/CP filter, custom made housing to keep it steady on the gimbal bottom. It is not perfectly balanced but good enough.
Alien H4 680 antigravity 4006 cheapo 14x47 HK carbon props.
6S3P NCR18650PF Li-Ion cells, flight time 45-50 minutes with AOW of ~2.5Kg.
Need to move to bigger prop like 15 inch, as pixhawk calculated hover is ~64% now with all the added weight, but it flies fine with no tuning. Fast enough for video purposes and very stable. Going bigger than 15 inch would result in an significant overlap over the frame, so I would need to make up some mount to keep them further from the frame but still be fold-able.
There is also a guy on German ebay that sells hand made yagi's for wifi and fpv applications. Mine was like 20 euro incl. shipping and is compact, high quality and offers a gain of 13 dBi . Url: http://goo.gl/AcuHCg
Lol darn forum software cut off the rest of my very profound reply :)
I think I was just saying that the alfa is known to have a powerful amplifier but to be quite poor for receiver sensitivity, so it's much better putting the alfa on the tx. Also that as several people have pointed out in this thread, the real key to a good result is the antennas, particularly I think on the rx side of things. I've got amazing results just by adding a patch antenna to the receiver and by using circularly polarised antennas - I use the popular immersionrc 5.8gz antennas meant for analogue fpv, but they work great for this application. And note that if you can get it to work at 5.8ghz then you effectively get more digital bandwidth and it's a much less crowded frequency range that doesn't interfere with normal rc controllers.
Please let us know how you get on with the wifibroadcast, the more people that give feedback here the better the overall result :)
Hey Thijs, great to see you got it going! With regards to displaying it on your laptop, there are probably ways you can either pipe the output of the wifibroadcast rx over the network to your laptop and pick it up from there - you could look at netcat or gstreamer - or else you could try what I had to do with my macbook which is run a linux VM and activate the usb wifi dongle to that VM. Then the instructions remain exactly as described in the wifibroadcast setup. Works perfectly for me, and these days virtualisation video seems to work really well, far better than rdp I would have thought.
I like the camera mount! I had a hell of a time trying to balance gimbals with the picam attached and I could never get rid of vibrations transmitted down the camera cable. I'm now trying to get uvc or hdmi from gopro/clone (sj4000 currently) to the raspberry instead - I found a nice floppy usb cable that shouldn't transmit vibes so will try uvc first.
tried that with vmware on windows 8 but the wlan0 does not show up on ubuntu. I tried forcing the wifi adapter to automatically connect to vmware. But still no luck.
It should work fine. Try doing 'tail -f /var/log/syslog' when plugging it in and see what comes out. Also try rebooting the VM after putting the dongle in.
Thanks for the info, i will try it again.
I also added auto startup script for the transmitter to my google docs document for those who need it. Works perfectly.
making one for the receiving side now.
It shows the adapter using lsusb in ubuntu but it seems that the driver is not installed. When i reboot with blocking the vmware auto bridge functionality it shows in the boot screen that it can't download the ATH9K ... drive due to no ethernet connection. Now I'm trying to install it manually