Here is a short video presentation of my Skywalker X8 UAV using 3g broadband internet for video and telemetry.
Onboard my X8 i have this ZTE MF60 3g/Wifi router which handles the communication for the APM2.5 and the Raspberry Pi model B. I didn't wanna use the Dronecell because i will place the load away from the APM2.5. I could have put a 3g USB adapter in my Raspberry Pi as well, but the Pi have more than enough to do transcoding the video-stream, so i use a Cisco Wifi USB adapter in my Pi to communicate with the 3g router and GCS.
The telemetry from my APM2.5 is sent to a Serial 2 Wifi converter which then is connected via Wifi to the 3g router. I then connect to my APM2.5 using TCP from Mission Planner.
The Raspberry Pi are using VLC Player for Linux to transcode the videostream from the Microsoft Lifecam webcamera to a resolution of 352x288 at 500kbit/s and 10 fps. If you want to use the same solution just change the hostname and port to you needs in the command below. I use Dynamic DNS (client configured in my Raspbery Pi) since mye 3g router gets a dynamic IP adress on every new connection.
Command in the Pi for starting videostream:
"sudo -u pi vlc-wrapper -I dummy -vvv v4l2:///dev/video0 :v4l2-width=352 :v4l2-height=288 :v4l2-fps=10 :sout='#transcode{vcodec=MJPG,vb=500,fps=10,scale=1,width=352,height=288,acodec=none}:std{mux=ts,access=udp{ttl=10},dst=mydyndnshostname.domain.no:2000}' :sout-all :sout-keep"
At my GCS i start VLC using this command in a .CMD file to recieve the video from the X8 and re-stream it to the Mission Planner:
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" udp://@226.0.1.150:2000 --sout=#transcode{vcodec=MJPG,vb=500,fps=10,scale=1,width=352,height=288,acodec=none}:duplicate{dst=http{mux=mpjpeg,dst=:8080/},dst=display} :sout-all :sout-keep
In Mission Planner you just enter "http://localhost:8080" in the "SET MJPEG Source" when right-clicking the Hud. I have a 6GB per month dataplan in my 3g router and my calculations says that this can give me more than 52 hours of videostream. My sim card is a non-firewalled APN.
For now everything is powered from a MaxAmps 11000mah LIPO This is a high capasity battery and the weight is only 825gram. My plan is to have 2 of those in my X8 for a really long range flight.
Right now i'm using a Sanwa 35mHz radio, but i waiting for my Turnigy 9XR and 433mHz modules from Hobbyking. I don't use 2.4gHz because of the 2.4gHz in my 3g router.
Comments
Did some reading and think I have figured it out even though I don't understand it. As the APM works on 5v and the PI works on 3.3 logic. I wrongly assumed that because I supplied 5v to the PI (and let the PI sort out the level shifting) that the RX/TX would not matter. But apparently it does. So I will now add a bi directional level converter between the PI and the APM. I will first leave the power supply with the USB hub and only use the RX/TX through the level converter and see if that works.
If anyone with more experience cares to comment that would be great?
Thanks, Richard
Hello, help? I have wired my pi as the image above, supplying power to the back of the USB hub, an SBEC supplies 5v max 5A. The AMP is powered by a Power Module from 3DR the RX is powered by a UBEC 5v 3A max 5A, in the rover all will be powered by the same batt, but when bench testing I had one batt for the pi and another for the AMP (pi,apm, rx all share common ground). The Batt’s don’t share common ground apart from the ground shared by the AMP, PI, etc.
I used the batt to set up the PI following your instructions, sakis3g, ddclient, dyndns, etc and it worked fine, I connect the batt and the PI boots, the 3g dongle connects, to the internet all fine.
I then have the GND from the PI (pin 6) to the GND on the APM using the pins down the starboard side of the APM, Then I have from the PI UART0 TX (PIN 8) to APM UART2 RX , Then PI UART0 RX (PIN 10) to AMP UART2 TX.
Every time I connect the PI to the APM it browns our I think (I am new to all this). If I have the PI connected to a monitor I loose everything and the dongle reboots and does not connect and the PI seems dead. No matter what I do the results are the same. If I boot the PI and the AMP separately and then connect the PI to the APM after a few seconds brown out, if I connect all and then boot everything looks good for a few seconds and then brown out.
Any ideas what I’ve done wrong?
Thanks again, Richard
Hehe!! Sorry for beeing late on this one. But i'm actually waiting for The Albatross. I sold my old plane to buy that, but it's delayed more than i expected. I will create the new blog when i have bought and built that. But if you look at this webpage, you will find most of my solution that i helped Bernt making similar to mine :)
This is amazing. And you say you have a much better solution now?
I can only assume you're too busy flying from the ocean to Sweden and back again to make that new blog post you were planning, and I can't say I blame you, but PLEASE post about your new setup!
:)
Hi,
I must aay this is a great project! What polarity do you use for connecting the telemetry port to the Serial-toWiFi converter?
Could you not have used an Ethernet adapter and 3G router?
Dear Tommy Larsen,
Can you please explain how The telemetry from my APM2.5 is sent to a Serial 2 Wifi converter which then is connected via Wifi to the 3g router then you connect to your APM2.5 using TCP/UDP from Mission Planner/QgroundControl.What did you do in back end? Do you have to write any code to establish communication?
@ Tommy Larsen;
If you don't mind could you share a couple photos of your current setup? I am really interested in your work! (Unless it is top secret :))
Can't wait for the blogspot to go live!!
I use two RPi's in my solution. One airborne and one at the GCS :)
I hope i have some use of my ordered raspberry in your new solution....Luckily I haven't ordered the wifi yet...
I will try to learn how the Pi works in the meantime
Keep us posted Tommy
Btw Here is a vid of my X-8 adventures...
https://www.youtube.com/watch?v=0BNBswHMiqU