THE CHALLENGE: Don’t Crash My Drone

Create an app that will enable small drone operators to know more about specific weather parameters, local terrain and no fly zones within a five-mile radius of their GPS location.


Chat System: NodeJS/Socket.IO Chat that gets users by geolocate [gets LOC] and checks SQL Server for others in the area who have drones that are nearby using Google Map API to determine distance from user to user and if within 30 Miles, join together.

Drone Interference System: Based on the Chat System, used Node JS/Socket.IO to keep checking SQL Server w/Google Maps API to determine each drones location. IF users get too close, a jQuery Modal will popup and alert you you're too close to another person BUT not performing any tasks against the drone. This feature only works if using the DroneControl Arduino Firmware I created BUT Developer API could become available for ALL Drone MFG's to take part in.

Drone Phone Home: This will alert the drone if it's too close to Restricted Airspace that I received in a CSV and imported on Azure SQL Server as a Table to check against. Also will check for Airports and also will show an Airport on the Map UI and if you're too close, a text-alert will show up to warn you but if you get too close, you'll immediately get a command sent to the drone to phone home (can set via Web/Mobile App).

Drone Map Sat. View + Alert Map: Using Mapbox to add Airspace, Add layers from other API's including custom ones built this weekend to alert you of other Droners nearby so you don't crash, Weather.com, NOAA, etc...

Weather Alert: This will alert you of current weather conditions (3SEC DELAY). Also get any local severe alerts or local situations that include hurricanes, earthquakes, etc...

Drone Stat: Not fully completed but with the Drone Firmware can send the server your drone battery life, how much MicroSD space is left, and much more to come...

Resources Used

Drone Internals
SW: Arduino IDE
HW: Yun Shield (for Wi-Fi)- Used to Send Location & Receive Incoming Commands
HW: Arduino Leonardo

Microsoft Azure
- Host CDN (in case used world-wide).
-- Virtual Machine + VHD (to easily make backups daily remotely as it has an IP)
-- Server hosts Simple MySQL Server for storing User Database & User Drone Info
-- Apache2 Web Server, PHP5 w/Zend Tech. + mcrypt

Web App/Drone Control Panel
- Technologies/Languages: PHP, HTML5, JS, CSS, cURL, jQuery, easy-pie-chart, nicescroll.js, Node JS/Sockets.IO (Weather Update + include into PHP Page using JS w/ DOM to update DIV)

- API's: Google (Alerts), Google Maps, FAA API, Mapbox (Get Airspace + Map + Add layers from other API's including custom ones built this weekend to alert you of other Droners nearby so you don't crash), Weather.com, NOAA.

That's basically the gist of it...

Made inEverywhere Planet Earth
from the minds of