这个是打通ADK的条件
谢谢邓兄,我还有一块IOIO,这几天试试三星i9100g能否支持,如也不成,就考虑换手机(或者平板)了。现在我的内核版本是2.6.37.5,安卓是2.3.4。
本帖最后由 沧海笑1122 于 2012-10-13 02:36 编辑
邓兄,我的手机已经刷了CM9(4.04),基带 i9100gzclp7 内核是3.0.33-cm-g6f8e729
demokit下载顺利。
现在插入板子,就可以认到(可以理解为打通吧),并且在确认后自动启动demokit。可惜,随即出现“很抱歉,demokit已经被中止(原文为英文)”。如果不连接板子,直接调用demokit,也会出现同样的信息。我试过USB调试状态开(关),结果都是一样的。
我也打算尝试CM7,但是CM7没有支持i9100g的版本。我把demokit 的apI提升到google api 14(4.0),生产APK后也没有改善。
出现这样的告警信息,是什么原因呢?
非常感谢。
沧海笑1122 发表于 2012-10-13 02:34 static/image/common/back.gif
邓兄,我的手机已经刷了CM9(4.04),基带 i9100gzclp7 内核是3.0.33-cm-g6f8e729
demokit下载顺利。
现在 ...
给你一个可以打开的方法:这个名字为“城市天气预报apk(我没有改名)”支持任何android手机和google adk连接
这是需要下载的apk和arduino库:
arduino 代码如下:
//Connect an LED to D12 and a variable resistor(POT) to A0
#include <SPI.h>
#include <Adb.h>
// Adb connection.
Connection * connection;
// Elapsed time for ADC sampling. The rate at which ADC value is sent to Android device.
long lastTime;
//State of LED. Initially OFF.
uint8_t LEDState=0;
// Event handler for the shell connection.
// Any data / command to be sent to I/O of ADK has to be handled here.
//
// For eg: 1.Controlling an ouput port 2.Interacting with a device connected
// to ADK via IIC or Serial Port.
void adbEventHandler(Connection * connection, adb_eventType event, uint16_t length, uint8_t * data)
{
// In this example Data packets contain one byte and it decides the state of a LED connected to D12
// The size of data is predetermined for this application. Android device also uses the same size.
if (event == ADB_CONNECTION_RECEIVE)
{
if(LEDState != data)
{
digitalWrite(9, data); // Change the state of LED
Serial.println(data,DEC);
LEDState = data; // Store the State of LED
}
}
}
void setup()
{
//Serial port debug purpose
Serial.begin(57600);
// Note start time
lastTime = millis();
// Set Digital pin 12 (LED is connected) as output
pinMode(9,OUTPUT);
// Initialise the ADB subsystem.
ADB::init();
// Open an ADB stream to the phone's shell. Auto-reconnect. Use any unused port number eg:4568
connection = ADB::addConnection("tcp:4568", true, adbEventHandler);
}
void loop()
{
//Check if ADC needs to be sampled.
if ((millis() - lastTime) > 20)
{
//Read ADC value
uint16_t data = analogRead(A0);
//Send the ADC value to Android device as two bytes of data.
connection->write(2,(uint8_t*)&data);
lastTime = millis();
}
// Poll the ADB subsystem.
ADB::poll();
}
希望这个可以帮到你
CM9只支持adk 2012
邓兄,非常感谢,明天就试,看来我是因为刷了CM9的原因才会出错吧。我看您的机器也刷了4.04,不是CM9吗?
大神啊,我我开始用自己的华为手机不行,又搞了个G5,还是不行,一直停留在连接一个domekit板子,就没动静了。我刷的cm7的2.35,内核2.6.37.求大哥指点。
还有你提供的天气预报。apk 已经不能下载了呢
CONFIG_USB_ANDROID_ACCESSORY=y
逍遥无忌 发表于 2012-10-30 22:15 static/image/common/back.gif
CONFIG_USB_ANDROID_ACCESSORY=y
CM7肯定支持G5,你看一下我发的贴子上面也是用的G5加android,CM7,另外你有没有在手机中设置——开发——USB调试上面划勾?CM9不支持demokit2011(demokit现在有两个版本,一个是adk2011,一个是2012),你把你的操作方法和相亲图片传上来我帮你看看
另外,据我所知,现在国内网上有很多CM7的版本。被剪裁过的CM7版本,我是无法确定能不能打通google官方的demokit,因为我现在不用demokit来跟android通讯,我用的是后面那个我改过的天气apk,因为它支持任何android手机,任何版本(android1.6以上都可以打通),但是demokit还是有用的,因为他的android app和arduino的例子很不错。可以用来参考写一些程序,比如PWM。如果你只要打通usb功能,你将上面那个,test.rar和lib...rar下载来用就行了,它支持任版本,包括android4.0以上,是一个传感器和一个LED的demo通过android手机控制,
如果你认为你的是可以打通demokit的CM7 ROM,请看一下这里,是不是有MOD版本和版本号这一栏,如果没有,这一栏,那么你那个版本是被剪切过的CM7版本,
我的android4.04CM9不是CM团队开发的ROM,我测试ADK的时候是无法运行demokit这个app的,我现在将nexus one 重新刷回
CM7最新版本CM7-20121028-NIGHTLY-passion。重新测试如下图:
/////////////////////////////////////////////////////////////////////////////////
完毕,收工,深藏功与名
1、我在手机上安装了domekitlunch,就是你帖子上的那个。同时也试用了https://dlssl.google.com/android/adk/adk_release_0512.zip生成的APK。
2、在电脑上安装ADK的驱动,使用的是anduino 开发工具提供的驱动。按照你帖子中提到的教程,\firmware\arduino_libs下的两个文件夹拷贝到arduinoIDE安装目录下的\libraries中,然后打开IDE,从IDE中打开ADK包中的\firmware\demokit\demokit.pde,编译出错。发现少了<CapSense.h>。
然后在http://zwz94.blog.163.com/blog/static/32060395201222111254654/的教程中找到CapacitiveSensor,把CapSense替换为CapacitiveSensor。成功编译上传。
板子用的是淘宝上买的
http://item.taobao.com/item.htm?id=15366794644
3、开始连接,无反映。
anduino 开发ide 使用的0022。如果是用1.0,我使用你文中提到的教程,替换Usb_host_shield_2.0的教程,仍然没通过
逍遥无忌 发表于 2012-10-31 20:50 static/image/common/back.gif
anduino 开发ide 使用的0022。如果是用1.0,我使用你文中提到的教程,替换Usb_host_shield_2.0的教程,仍然 ...
你少了一个模块即sensor扩展板,所以你无法打开demokit.具体是个什么东西,你对比一下我那个图片,就知道了。如果你不需要加这个扩展板,你必须更改demokit的源码,(据我所知,demokit首先会判断USBhost+sensor,才能打开,如果手机ROM不支持或者没有sensor它就会提示"please connect a demokit board")goolge adk是以google标准的kit(google adk=mega2560 adk+mega2560 sensor kit)你是用了mega2560 adk其中之一的功能,如果你要用demokit这个应用程序来开发你的应用,你必需还要加上一个 sensor kit,