This article is intended for drone business owners and drone fans looking to improve their experience of interacting with drones and to make it more efficient.
To answer the question in the article title, we would like to explain some nuances you need to know.
Usually each drone is equipped with out-of-the box software allowing direct, real-time interaction with the drone at the time of flight. Installing this box software on your smartphone or managing panel enables you to take pictures and videos from your drone at the time of flight, correct the drone route on the go and get different flight parameters (altitude, distance, etc.).
In some cases, however, the possibilities provided by such “box” drone software are insufficient for your business (or not business) needs. In these cases, you will need a custom software solution.
For example, you might need to fit up your drone with some additional sensors or controllers and to interact with them at the time of flight. Out-of-the box drone software does not include this option.
It is possible to solve this problem if your drone manufacturer provides some SDK /API for interaction with their UAVs (for example, DJI, 3D Robotics, and Parrot companies do so).
Then, based on this SDK/API, it is possible to create a custom software application installed on your device (smartphone or management panel) to communicate with the drone at the time of flight. Such an application, through the SDK/API, will connect to additional sensors and controllers on your drone and transmit signals from them to you and vice versa.
A relevant case study:
A business idea lies within the area of natural disaster recovery where critical decisions must be made as quickly as possible. In this case, using additional drone sensors like IR sensors for searching missing people saves precious time during rescue campaigns. Additional interaction between all the drones might be needed to create a clear and complete picture of the situation in the central database. For such missions, we would recommend you to choose one of the drone models mentioned above (with SDK/API) and create a custom application to manage the drones and also a central database application that will collect, process and visualize all the drone data.
You will probably need custom software for your drone in the following cases:
- You want to install additional equipment on your drone (e.g., camera, sensors, controllers) and get real-time data from the equipment.
- The “box” software provided with the drone does not give you all the data from the equipment already installed on the drone (provided out-of-the-box) that you need.
- The “box” software does not allow you to manage your drone in the way you would like.
- You need to integrate data provided from several drones.
- You need a custom solution to store and process data collected by your drone(s) – in this case, consider creating a custom cloud solution.
- You need to automate some processes in your business related to drones (in general).
However, if none of the above points apply to you, you do not need special custom drone software. In this case, you have more freedom in your choice of drone models and can base your selection not only on SDK/API availability, but also on other parameters your business might require (e.g., rotor drones or drones with fixed wings).
For example, your company provides insurance for real-estate property. Using drones greatly helps in this area. Just imagine how quickly and easily you can evaluate the state of the property now with just one drone flight. Because time is not a critical factor, processing photos can be done upon completion of the drone flight when the pilot loads images/videos to your corporate software after returning to the office. This corporate software can be developed independently from that of the drone model or you can get off-the-shelf software.
And now let us talk a bit more about types of custom solutions that your drone may require.
As you know, software applications could be intended for different devices (smartphones, tablets, PC). Also, a software application could include several technically different parts that interact with each other (for example, several mobile apps communicate with each other through a server). So, the following questions will help you define the parts that you will need.
1) Will agents in the field use the application?
Yes? It will definitely be a mobile application (probably with a version for tablets).
2) Will agents need to interact with one another?
Yes? Then a mobile (tablet) application will also require a web-based server to allow data exchange through 3G/4G networks.
3) Will this in-field application be integrated with some central (office) software?
Yes? In addition to all the above-mentioned points, you will also need a special web-based software application for your office staff to allow receipt of offsite data.
4) Do you need a general storage for all data collected by your drone(s) that would be accessible from any place of the world?
Yes? Then you need a cloud solution with enough capacity to store all the data and to process it in some way (for example, to analyze provided data and assign specific parameters to it) and to visualize, if necessary, as diagrams, graphs, map layers, etc.
Depending on your answers, it will be possible to choose the right technology and architectural implementation of your idea.
Our company includes departments creating web and mobile applications. We develop both custom drone applications working with SDK/API and those not needing SDK/API: no matter what you need, we can do it. We use the latest technologies and most innovative approaches in building software for our clients—we write code that suits their needs very precisely.
So what do you need? ☺ Let us know! Whatever you need, ITCraft can do it.
We love questions, no matter how basic or challenging!