More and more communication on UAV become important, not only between the UAV and the GCS, also between UAV and UAV. A nice way for communication between systems is IP based internet technology. This will also be increased on UAS. To use internet based communication has also some benefits regarding externalized computer power within a cloud for instance.
But most of the communication these days is very specialized for known combinations of UAV, UAV and GCS. Therefore it would be very nice to have some kind of standard for communication between these systems. In the world of IoT usually a broker is used for this. One of these systems is MQTT and for none-IP-based approaches MQTT-SN. Dronedeploy.com seems to use ZeroMQ, but for me it seems that MQTT is a more popular system.
I started an opensource project which uses MQTT combined with JSON to communicate between a GCS and an Android smartphone to take some pictures for ground mapping. So this can be a base for developing the topic-structure as well as often used data and their formats, like position and attitude. Also it is language independent and should not be a problem to use it on C, C++, Phyton or Java based systems.
You can find this project here: uasmqtt
I know it's very simple at the moment but it's a kind of proof of concept and discussion base.
The plan is to enhance the Android app with some stuff from my SimpleUAV app.
I really appreciate if other developers are joining the project or contribute ideas to a common UAS communication format. This will also help if there are uav traffic control systems like the one mentioned here.
You need to be a member of diydrones to add comments!
Comments
Love it. But I think we need a "one drone per child" program. MQTT will be everywhere if drones fly all over the place.
This looks fascinating! I'm a huge fan of MQTT, but I usually only ever see it being used in home automation, so this is certainly a laudable effort! I've been looking into using MQTT to transmit real-time vehicle tracking data within a hybrid mesh/GSM network. To set up the mesh I'll be using long range/outdoor Ubiquity routers flashed with a version of OpenWRT maintained at https://commotionwireless.net/. The tracking devices will be based on the Arduino Yun, which is itself based on a version of OpenWRT. The tracking project is documented at http://publiclab.org/notes/code4maine/03-24-2014/mesh-networks-for-... if you are interested.
The Linux component of the Arduino Yun is actually a very small "System-on-a-Chip" called the Atheros AR9331 and it is getting easier and cheaper to buy it as a standalone module. So if you were to use something like a Ubiquity PicoStation with the GCS and the AR9331 on the UAVs you could probably have a very powerful mesh network for your communications.
Then again, the great thing about MQTT is that its platform-agnostic. Plus, it can be configured with all kinds of QoS features so for example our vehicle tracker can be set to only transmit lat/long coordinates when it senses it is on GSM, but when it senses a stronger mesh or wifi signal it will be able to transmit all kinds of data from the OBD-II port. Perhaps something similar could be configured for an aerial vehicle?
Another idea could be to use a weather balloon as a giant antenna?
It's possible to fly with a lag. I tried it with my MobileFPV app and two smartphone and a cheap mobile connection (video). But it's not easy. To compensate it the vehicle has to be stable or half autonomous. The other way might be kind of prediction like on streaming games.
I like the concept and idea to make it much more simpler to communicate between drones and GCS and in between them. Something that needs to be ensured though is real-time communication and no lagging, which is an intrinsic defect of TCP/IP networks (that is why all drones and FPV solutions prefer to use old analog protocols and coding schemes that can be used in direct radio links with no lag). It is really too bad that they did not think of this when they designed TCP/IP V6. Maybe a future real-time/no lag TCP/IP will arise in the future ?
MHefny, your app looks very nice. I'm also facinated by the use of smartphones for uav and started some projects on my www.mobile2power.de site.
I#m sorry Bill Bonney. Will do it better on my next post. A bit more explanation is found on my blog
It would be really useful to have a brief description what an MQ is and why it is needed? What MQTT vs ZeroMQ etc... and some links to these sites. Thx
Great to see this understanding is spreading, I have started a similar system "Andruav" to utilize android mobiles.