2012-09-14 39 views
1

Android具有android.net.wifi和android.bluetooth等连接API适用于Zigbee连接的Android API

是否有类似于zigbee的API?例如如果我要手机是ZigBee的一个ZigBee终端节点

假设我已经安装了.ko模块(驾驶员)在底层Linux内核

应该怎样做访问此模块?换句话说,用于设备管理的各种android API实际上是如何实现的?

感谢

回答

0

你发展与ZigBee的硬件和定制的Android定制的Android设备?

一般来说堆栈看起来大约是这样的(从底部到顶部)

  • 硬件
  • Linux内核+驱动程序
  • JNI(Java本地接口)谈论司机
  • java的使用服务JNI。此服务将高级API暴露给设备。
  • 客户端Java代码,它是捆绑到应用程序中的android.jar中的包。这个客户端与Java服务进行对话。

回答您的问题:

  • 香草Android不具备ZigBee的API(没有前面提到的层)
  • 如果你想支持的话,您将需要建立一个自定义Android构建将包含至少一些图层。
+0

我知道我将不得不构建一个定制的Android构建,我要问的是,如果我已经在Linux内核层中拥有zigbee末端节点驱动程序,应该添加/修改什么?顺便说一下,据我了解,那些“使用JNI的Java服务”对应于这张图中的“应用程序框架”层? http://ist-music.berlios.de/site/images/music-android-architecture.jpg – mangusta

+0

另外,我是否应该将驱动程序的包装函数添加到本地库(上图中的绿色图层)?或者也许JNI会直接与驱动程序交谈,绕过这些库? – mangusta

+0

2mangusta:你发布的这个架构视图非常受欢迎,但它不是100%准确的。它缺少一层服务(包括Java服务,C++服务和JNI部分)。只要客户端代码在应用程序框架层中调用某个API,该调用就会通过Binder(IPC机制)发送给某些服务,并且服务将会执行一些工作。所以,当我谈论Java服务和JNI时,我正在谈论组件,这些图片中没有显示。您可以在AOSP \ frameworks \ base \ services中看到服务示例(它同时包含java和jni部分) –