Articles of arduino

什么是Nak限制?

我试图了解Android Open Accessory API如何与Arduino ADK板配合使用,我已经能够发送和接收信息,但我只是想知道一切是如何工作的。 我得到了这个function描述: int AndroidAccessory::read(void *buff, int len, unsigned int nakLimit) { return usb.newInTransfer(1, in, len, (char *)buff, nakLimit); } 从一些谷歌搜索我发现NAK是一些代码,如果在握手过程中出现问题就会被发送,NAK是否限制了能够接收的通信错误的数量?

Android USB API:在充电和数据发送之间切换

我开始使用Android USB API将数据从Arduino发送到Android设备。 是否有可能以编程方式在发送/接收数据之间切换,只需为Android手机充电? 我知道你不能同时做这两件事,因为你必须打开一个FileInputStream才能接收数据,只要打开FileInputStream不会收取费用。 是否就像关闭此流再次充电一样简单? 如果它如此简单,那么Arduino可以发送基本信息以便让设备再次打开流吗?

Arduino和Android的“Hello World”教程

几天前,Arduino刚刚为Android开发者发布了一个“启动包”: http : //arduino.cc/en/Main/ArduinoBoardADK Arduino ADK是基于ATmega2560(数据表)的微控制器板。 它具有USB主机接口,可连接基于Android的手机,基于MAX3421e 为了开始Arduino编程,我一直在寻找教程或其他东西,我正在寻找非常好的教程,也许某种“hello light”会在我的Android上用一个按钮在卡上闪烁一下设备。 你有一些链接,粉丝博客,有关该主题的其他信息? 当然,我知道Arduino网站和Android开发者文档,但它们过于复杂……

android蓝牙连接错误(读取失败的套接字可能关闭或超时)

我想从Android设备中的应用程序连接到远程设备(配对)。 远程设备是HC-05模块。 我的代码是: UUID uuid = UUID.fromString(“00001101-0000-1000-8000-00805f9b34fb”); //Standard SerialPortService ID try { mSocket = MyDevice.createRfcommSocketToServiceRecord(uuid); } catch (IOException e) { Toast.makeText(this, “S”, Toast.LENGTH_SHORT).show(); } ba.cancelDiscovery(); try { mSocket.connect(); } catch (IOException e){ Toast.makeText(this, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); Log.e(“YOUR_APP_LOG_TAG1”, “I got an error”, e); } try { mOutputStream = mSocket.getOutputStream(); mInputStream = mSocket.getInputStream(); } catch (IOException e) { […]

Arduino +蓝牙模块+ Android

我正在想办法做一个简单的家庭自动化项目,涉及Arduino,蓝牙模块和Android手机。 我的想法是在我家的不同地方有两块Arduino板。 如果我走进一个房间,那么发现我手机的电路板上的LED会亮起来。 如果我走出蓝牙范围,LED应该关闭。 我用路由器尝试了DomoticHome项目,但它仅用于手动开/关,它基于以太网模块。 我不想从头开始制作Android应用程序,但我想采用一些现有的开源应用程序,我可以扩展它以使用蓝牙和/或自动打开LED。

建议的android-arduino通信协议

使用Android开放附件标准,我有一个Android驱动的设备来回与一个通过USB连接的arduino超级ADK微控制器。 我想知道数据链路层级的最佳通信协议是什么。 从android和arduino方面来看,它是基于简单文件的IO,例如write(buffer [],buffer_length),read(buffer [],buffer_length)。 做了一些研究,我遇到了一个名为“简单的串行点对点通信协议”的链接,建议使用HDLC协议。 这是一个很好的协议运行或有更好的东西吗? 谢谢

BLE GATT onCharacteristicChanged在订阅通知后未调用

这是我关于SO的第一篇文章。 我在Android 5.0.2上订阅GATT通知时遇到了一些问题。 我的目的是将Arduino和BLE Shield连接到我的Android手机。 我有一个连接到Arduino的传感器,想要使用BLE屏蔽将数据从Arduino发送到我的手机。 盾牌上有一个nRF8001是服务器,我的手机/应用程序是客户端。 到目前为止我所做的是创建一个扫描BLE设备的Android应用程序。 它可以连接到设备并读取或写入特征。 所以,我可以通过调用gatt.readCharacteristic(mCharacteristic);来“手动”读取特征gatt.readCharacteristic(mCharacteristic); 。 这允许我从Arduino获取传感器值。 我还使用nRFGo Studio创建了一个自定义服务。 我知道这部分工作正常,因为我可以使用Google Play上提供的BLE扫描仪应用程序发现,连接甚至收到有关特征变化的通知。 但订阅我自己的应用程序中的通知将无法正常工作。 好吧,至少订阅有效,但onCharacteristicChanged(…)永远不会被调用。 有趣的是,如果我订阅我的应用程序中的特性, 然后突然用BLE扫描仪应用程序订阅它,则会调用onCharacteristicChanged(…) ,直到我再次通过BLE扫描仪应用程序取消订阅。 (我可以通过Log看到这个) 我的android代码如下:GATT回调: private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() { @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { if (newState == BluetoothProfile.STATE_CONNECTED) { sendBroadcastConnected(); Log.i(“BLE”, “Connected to GATT server.”); Log.i(“BLE”, “Attempting to […]

为什么ADK的demokit程序不能在Arduino中编译?

我对Arduino和Java有很好的理解,我决定用我的三星Galaxy 10.1选项卡试图控制我的Arduino ATMega。 我已经安装了API 12和SDK管理器,Ec​​lipse的ADT插件,现在我按照安装Arduino软件和必要的库 (在Android开放附件开发套件中 )的说明来安装ADK板的固件。 当我点击编译时,它给了我两个错误: demokit:146:错误:’acc’未在此范围内声明 demokit:249:错误:在此范围内未声明’touch_robot’ 并说 ‘AndroidAccessory’没有命名types。 代码如下所示: #include #include #include #include #include #include #define LED3_RED 2 #define LED3_GREEN 4 #define LED3_BLUE 3 #define LED2_RED 5 #define LED2_GREEN 7 #define LED2_BLUE 6 #define LED1_RED 8 #define LED1_GREEN 10 #define LED1_BLUE 9 #define SERVO1 11 #define SERVO2 12 #define SERVO3 13 […]

编译包含ArduinoAdkUsb的Processing草图时,build.xml会出错

涉及的软件: * Latest Android SDK (as of today – 8/29/2012) with all of the latest APIs, Tools, Extras, etc downloaded. * Processing 2.0a8 (latest build) * Arduino ADK libraries for Processing (“ArduinoADK-beta-001” folder) * My system: 64-bit Windows 7 我按照网页上的说明设置Processing和Arduino IDE以及其他所有内容。 我有一个Arduino Mega ADK板。 我将其中一个ADK示例上传到电路板上没有任何问题。 下一步是通过Processing将匹配示例上传到Android。 我有一部Nexus One手机(Android版本2.3.6)。 Android SDK Tools Revision 20.0.3 Installed at […]

与Android / Arduino的USB通信

我正在研究需要通过USB进行通信的Android应用程序。 我有一个Archos 101平板电脑(规格在这里: http : //www.archos.com/products/ta/archos_101it/specs.html? country = us&lang = en)。 它有一个完整的USB主机端口。 我可以在USB端口中放置一个闪存USB驱动器,并将文件从闪存驱动器复制到内部存储器。 我有这个Arduino Fio板,附有XBee 。 我有一个XBee Explorer Dongle和另一个XBee,我打算将Archos 101平板电脑连接到USB端口。 到目前为止,我可以将XBee Explorer Dongle放入我的计算机并从Arduino Fio发送/接收数据,没问题。 有没有办法让Android通过USB通话? 我知道平板电脑中必须有驱动程序才能进行USB通信,但我无法find访问它们或使用它们的方法。 我可以看到Android识别XBee Explorer Dongle。 我下载了一个终端模拟器,我可以输入“dmesg”,看到它看到了加密狗连接。 但我无能为力。 我似乎需要Android的FTDI驱动程序。 我非常感谢帮助我的平板电脑与XBee Explorer Dongle进行通信。