DJI Phantom API or hackable procedure - dji-sdk

Maybe I have't looked hard enough, but I spent yesterday googling for a bit and found no relevant projects on hacking the DJI Phantom Drone in order to create new coordinating apps. This is besides the app for coordination DJI currently uses for their drone. I'm trying to see if there's a way to communicate with the Drone with a specific protocol in order to accept a set of procedures.
Any help would be awesome,
Thanks.

Great News for you and all us Droneys! DJI has launched their SDK since you asked this question. They released it last November and you can now apply for a license and write your own apps for the Phantom2 Vision+ using their SDK.
Check it out at https://developer.dji.com/
I am already building a project using the SDK - you can follow my progress on my blog / product site. I will also try to update it with good DJI related development links and tips.

This post is old but I think it is good to leave a foot print for others :)
There is this new company called NVdrones, which created a peace of hardware that you can attach to any drone (you need physical access to the flight controller), and once you do that you can use their SDK (Arduino, Java, Android and Javascript) to write your app without the need of hacking, soldering or anything else. It is just plug and play.
Another benefit is that you are not locked with a specific drone (DJI SDK or 3DRobotics SDK), you can use the board on anything you want. Which gives lots of flexibility.
The developer site is http://developers.NVdrones.com
Hope this helps.

This is a great topic!
You could check how to hack your copter here: https://github.com/flyver/Flyver-SDK/wiki/-2.2--How-To:-Flyver-Hack-a-Copter
By opening the drone, taking out the original controller, soldering a few wires and sticking an Android phone to it, you will have the ability to program your Phantom in a modern manner with an open source SDK and application based development. This means that you could add computer vision to it, automation or additional hardware. You could also use smartphones, web and other interactive devices for remote controlling the copter instead of using the standard remote controls.
The Phantom, however, is offcenter balanced due to the fact that most people use gimbal with it. Without the gimbal is a lot less stable from my experiments so you will have to put some extra work in center balancing it.

Related

Programmatic access of SkyDrive

Does anyone know how to access SkyDrive programmatically from Windows Phone 7? What API do I use? I need to upload files from the Phone to SkyDrive and vice versa.
Some code samples would be great. :-)
You can now officially integrate parts of SkyDrive with Windows Phone 7 applications.
Details outlined here.
There is a new Live SDK available from Microsoft which I think can do this. It's also in a very early alpha or beta state:
http://msdn.microsoft.com/en-us/library/bb264574.aspx
I have developed a sample based on SkyPad (Developer Preview). Please install the Windows Live Developer preview SDK.
The sample allows to save a file to SkyDrive and dowload it again after saving.
Here the link:
http://blog.mecum.biz/2011/10/windows-phone-7-mango-skydrive-sample/
You can use the Live SDK to integrate SkyDrive into your Windows Phone applications. Please see our code samples on GitHub.
Not an answer, but there's hope that an answer is on the way:
However, when Mike Torres was asked about features such as better usability, third-party API support, Windows Live Mesh integration, and expandable storage, he acknowledged that these are "top asks" for SkyDrive and said that they are currently "hard at work on SkyDrive as we speak"
Source
Your requirements sound pretty much like mine - you just want to use skydrive as a basic cloud filesystem.
I thought Matt's suggestion was an outstanding idea. I obtained the library and set out to port it, but unfortunately the codebase is huge and elaborate and absolutely riddled with the [Serializable] attribute which is not compatible with WP7. It also makes extensive use of several pieces of framework not available in WP7x, including X509Chain and Authorization.
SkyDriveApi is not even compatible with VS2010 - an attempted conversion produced a big mess so I just tried it out in VS2008.
We could always write one. This looks like a fair bit of work so I invite you to collaborate.
Well, it's feature complete and working a treat. I'd like to thank people for all the support and assistance I received reverse engineering the protocol using Fiddler, and coding, testing and debugging the prototype into production ready code. I'd like to, but nobody contributed a damn thing. Good luck writing your own.
SkyDrive doesn't have an official API but here are some unofficial ones. I'd start by looking at http://skydriveapiclient.codeplex.com/.
It doesn't claim support for WP7 but you may be able to port it.

Non-dev-tools Windows Phone 7 emulation

In developing a number of WP7 apps, I have a need to show clients how the app will be when deployed. The clients are a) not in the same location as I am, b) not technical at all, and c) may not even be using a PC. The purpose is to demo, get feedback and make any needed changes.
I'm not finding any realistic options to just simply show them what it would look, feel and run on a Windows Phone 7 (using the ApplicationBar, etc.). I found this link - http://www.redmondpie.com/standalone-windows-phone-7-series-emulator-9140536/ - but it's rather hacky for me to ask someone to do to set up an emulator on their machine without also installing VS Express, etc.
Does anyone know of any links to an official emulator that can be run on a PC, has a simple install and can load WP7 apps?
Have you considered using a product such as Citrix GoTo. Clients do not need to be particularly technical to join such a meeting, you can then take them through a demo. This will cost you though.
A free alternative would be to set aside a PC running the emulator with your software loaded. Create a VPN for you clients to connect to and let them use Remote Desktop Connection to connect to the PC. They can then play around with it remotely.
Have you considered using SketchFlow? Although by default the UI is "sketchy" (sorry), you can apply styles to the controls you drop on your pages, including the very same styles that are used by Windows Phone controls.
If you use a Silverlight SketchFlow project, you can deploy the content to a web server and provide a link that can be consumed on any machine that will render Silverlight content...they can go through the navigation, provide feedback, etc.
Christian Schormann has a writeup on what is required to use it in the pre-release tools... http://electricbeach.org/?p=573
You should take a look at this: http://justinangel.net/WindowsPhone7EmulatorAutomation. I believe it will answer your question exactly.

Windows Phone 7 Samples

What Windows Phone 7 demo/reference applications have you seen which really made you interested in developing for the platform?
I know of Scott Gu's Twitter example and Foursquare. Also see here for MIX10 demo apps.
Other than developing games and re-creating functionality already present on other mobile platforms (iPhone, BlackBerry, Android), is there any good reference material and business benefits of developing for Windows Phone 7? Does the Silverlight dev environment really offer an advantage over what is already out there? My gut feeling is that this is definitely the case, but it will take some time for the platform to establish itself, if it does.
You can find a lot of examples and reference applications here www.reddit.com/r/wp7dev/ or search using the hashtag #wp7dev on twitter (full disclosure - some of my examples appear there).
There a examples of what people are openly working on, but one can assume it is a lot more - hopefully this is useful, as it shows what can be done, or is being done on the platform.
As a novice developer, other phone platforms came with a lot of overhead required to build even the simplest application. The fact that XNA will be available for game development is a huge thing for me, it means I can create simple games for me and my friends without having to spend time learning a new language or setting up awkward SDK's and deployment settings.
More advanced developers may scoff at that, but development tools that are already being used that can work right out of the box for the intended platform is important for the hobbyists. I think this will open up a huge arena for homemade games and apps just like XNA did for 360 development.
It should also help sales. I will buy a Windows 7 phone because of this, and I can imagine others will do the same. As it stands, I am going to port my existing XNA games over so I can play them on the go. It will be cool to show people at the office, airport, etc. projects I have made right on the spot, and even give them the option to play if they have the right hardware.

Will Windows Phone 7 Support Multitasking third party apps

Obviously it's early days, I do not know whether this is information that is in the public domain or not yet, but...
I have trawled through some of this site - http://www.windowsphone7series.com/ but I can't seem to find the answer.
Specifically will I be able to write an app on the phone that updates the cloud with the phones current GPS position in the background even when other apps are running in the foreground.
According to ZDNet's post yesterday, Windows Mobile 7 will support multitasking for things like having music playing while using an application, but as far as 3rd party it will most likely not be supported. Things like notifications however will be there, as to help with multitasking.
I hate to relieve myself on your bonfire Christopher but might I suggest that a background GPS process, might not be a good idea. You'd really run down the users battery performance, perhaps if you shared a little more about your idea we could suggest an alternative architecture that didn't require a constant gps post.

Windows 7 - What to expect from a developer's standpoint?

What features can I look forward to in Windows 7 that will:
Make my job easier as a developer.
or...
Make my job "different"(harder) as a developer.
I've been hearing a lot about performance improvements and a few UI effect enhancements, but nothing really about what development on Windows 7 will be like. Thanks.
Following are areas that are new:
multi touch API for developing touch based applications
new concept of 'libraries' for storing user specific data (similar to mydocuments)
Enhanced support for GPS and other such hardware
Office2007 Ribbon like user interface
Refer to http://windowsteamblog.com/blogs/developers/default.aspx for details.
The new sensors API will make your job easier, provided Microsoft can get enough people on-board with it. It should provide you a standard way to interface with things like GPS and light sensors, if you program with that kind of thing.
Very east to use and seamless Virtual PC is great for debugging and testing.
Touch is another new capability.
Feature list from Wikipedia.
To answer your actual question:
I don't think any of them are aimed at developers explicitly (such a tiny niche really).
For the begged "Features to use in apps" question:
I'd like to see lots of search extenders, jump lists, and those little "preview shortcut" button things (I have no idea what they're called).
Microsoft publishes an official Windows 7 Developer Guide.

Resources