前端时间Arduino的wifi模块烧了,不能用wifi控制小车了。手上有一个带OTG功能的android手机,想改用通过Android USB和Arduino通讯来控制小车,这样做的好处是Android本身带有wifi,可以通过无线控制,手机上有丰富的传感器(摄像头、加速度、距离等)也可以借用一下,处理器能力更强小车更加智能了。于是开始做技术预研,计划如下:
1、android 获取Arduino发送数据
2、Android向Arduino发送数据
对于第1点arduino向Android发送数据,arduino代码如下
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print("Hi Usb Host");
Serial.println(c++);
delay(1000);
}
上面的代码设定波特率9600,试了其他几个是乱码。
Android代码如下:
while (true) {
message = myHandler.obtainMessage();
message.obj = "\r\n开始传输数据。。。。。" + (c++);
myHandler.sendMessage(message);
if (inEndpoint != null) {
int len = connection.bulkTransfer(inEndpoint, bytes,
bytes.length, TIMEOUT);
String.valueOf(len));
message = myHandler.obtainMessage();
message.obj = "\r\n接收数据长度" + String.valueOf(len);
myHandler.sendMessage(message);
if (len > 0) {
String str = new String(bytes, 0, len);
message = myHandler.obtainMessage();
message.obj = "\r\n数据内容:" + str;
myHandler.sendMessage(message);
}
}
结果是可以收到数据,问题是数据不会一次全部收到,有时会丢数据。