Android Debug Bridge on a prop
M. K. Borri
Posts: 279
First draft done!
http://obex.parallax.com/objects/724/
EDIT now http://obex.parallax.com/objects/731/
Gives you a shell into the phone. The idea is to use the fact that a smartphone has a lot of goodies on it (gps, long range radio) for drones.
Also, a bit of a blast from the past (2007) but I uploaded the full NAVCOM AI on the object exchange. It has been used in production for autonomous planes and bats for three years.
http://obex.parallax.com/objects/724/
EDIT now http://obex.parallax.com/objects/731/
Gives you a shell into the phone. The idea is to use the fact that a smartphone has a lot of goodies on it (gps, long range radio) for drones.
Also, a bit of a blast from the past (2007) but I uploaded the full NAVCOM AI on the object exchange. It has been used in production for autonomous planes and bats for three years.
Comments
http://obex.parallax.com/objects/724/ Updated again with some error detection and Android-side virtual serial port code
I think there is no demand for this stuff...
Sounds interesting - but can you please explain what a NAVCOM license is? I can't see a description of it in the object itself.
I guess I should also point out that by placing your software in the OBEX you are agreeing to it being released under the MIT licence anyway.
Ross.
Problem is, like many others here, I have to many Prop projects up in the air already.
Perhaps if there were one working gadget using the Prop and the phone then more people would get curious. Even if it eas just ligting LEDS via SMS.
1- If you use this, please send me an email telling me what you're doing with it, it's interesting to me.
2- You are not allowed to put my work in a weapon or munition system.
I had (2) happen once in 2007 and I am not interested in repeating the experience.
The problem is that the only thing this bridge does that my earlier work doesn't is "you no longer have to root the phone" and "you can use all Android phones rather than just some", so a video wouldn't be very impressive
You need to read the front page of the OBEX in more detail. It says:
If you don't want your stuff MIT licensed, you need to remove it from the OBEX.
Ross.
But here is a new angle. The CYA problem. Having to put such clauses into a license so as to avoid unneccesary persecution by paranoid terrorist witch hunters. I have to say that I find the need for that very disturbing. Yet another reason I'm finding I would have to think hard about ever visiting the USA.
I have no idea about how to square this with the OBEX. Either the object has to be pulled or the clauses need removing.
Which, by the way, is another reason why ethical motivations for such clause don't sit well with me. Whilst they try to keep your creations out of the hands of the "merchants of death", which is a good thing, they can also result in denying the rest of us the benefits of your creations which rather defeats the point of the exercise.
Much as some may sympathize with your avowed intent, you have posted your code to a repository that stipulates the code will be available under the MIT license. One possible interepretation of your actions is that your objection to weaponization of your work is in fact a pretence designed specifically to alert the appropriate "ne'r do wells" to its eminent suitability for just such a purpose - all the while giving yourself "plausible deniability" that this was why you posted it!
If I were you, I'd expect the FBI (or worse!) to come knocking on your door any minute now! (:cool: <--- note: CIA agents look like that, whereas FBI agents look like this :nerd: and "ne'r do wells" may look like this :snooty: or this :zombie:)
Ross.
P.S. Or, as Heater suggests, you could ask Parallax to remove that particular clause on the OBEX.
It's this kind of thing that makes me think the terrorists of the world have achieved something of what they wanted.
Ross.
I do agree. Putting a notice on something effectively saying "these are not bomb parts" might make those paranoid three letter acronym guys even more curious about it.
So what happened? Can I now use this code for my DIY cruise missile project or not:)
Can we now move on from thinking about licencing issues and get on with some interesting applications of Borri's efforts?
what I'm doing right now is modularizing the spin code so that it behaves like a serial terminal to other objects -- ADB supports multiple connections on multiple ports, but I'd rather get one to work consistently first. I also updated the object on obex with a bit of .java code that goes Android phone side; should I build a full example app and post that on android market?
A working Android app on the market would be great. I'm just wondering what it would do.
To reach the widest audience it should be something simple but generic.
For example some of:
Providing a means for the Prop to be able to get all the sensor data out of the Android.
Making GPS data available.
Using the phones display as a console.
Being able to get commands to the Prop via SMS and/or originating SMS from the Prop.
Perhaps even allowing for connection through the internet back to server P.C.
The possibilities are endless ofcourse:)
Yep, and there is an ocean of very cheap Android tablets out there. They might not have the latest Android version or the latest fastest CPUs but would make excellent user interfaces for Prop projects. Not mention all the other goodies on board.
More specifically, I have a cheap apad and it works really well but it does not have bluetooth. Bluetooth seems to be the only way to get a serial port but it doubles the price.
I do have some code running in Basic4Android that takes a data packet, builds a 1200 baud data packet on the fly, saves it as a .wav and plays it. I can decode this using opamps etc, but the problem is that each time the .wav file is saved it wears out the sd card or the internal memory. I have not managed to find any way of 'playing' a .wav file directly from ram (ie from within a program).
I was intrigued by your comments earlier about hacking into the OS, but not to the point of rooting the device.
I think there are some very interesting propeller/android hybrid solutions if it is possible to get bidirectional data comms working.