什么是最快的移动平台创建蓝牙应用程序?

Nic*_*k T 4 iphone android blackberry bluetooth windows-mobile

大多数时候,我在计算机上编写嵌入式模块或小程序的代码,以分析代码生成的数据.现在我被要求对移动应用程序进行原型设计,以分析/显示该数据.我没有(6年历史的CS101)使用任何流行语言(Obj-C/Java?)的经验,更不用说4-5流行的移动操作系统上可用的任何API /库了,所以我更多在一平方或更少.

调整嵌入式硬件与手机通话非常简单,只需添加一个蓝牙模块即可配置为模拟串口(使用SPP配置文件),但我不知道从哪一端开始.

我应该采用哪种移动操作系统/设备来轻松/快速地开发蓝牙串行端口配置文件(SPP)应用程序,使其具有相同(无)的体验?

黑莓

  • 每个人都有一个在这里(除了我),所以这是我被轻推的地方,除非有重大障碍或另一个更好(更快)
  • 较小的社区
  • 许多开发博客抱怨糟糕的SDK /工具
  • "BlackBerry设备对SPP的支持有限." (PDF,第9页)

Android的

  • 这附近的电话很少.
  • API使得查找设备和连接它们看起来非常简单.
  • 大型开发社区,(更多的例子可以仔细阅读).

WM6

  • 我有一个(坏)WM6.5手机.
  • 较小的社区
  • 电话可以有各种堆栈(MS,Widcomm),这些堆栈不可互操作,有些不支持SPP,我不知道我的手机(HTC Ozone)有什么...

iOS版

  • 没有/从未使用过Mac,iPhone只在我的组织中受欢迎.
  • 大开发社区
  • 只能连接到经过批准的蓝牙设备(?)如果我正确读取该选项会导致死亡.

一些便携式框架(Appcelerator,PhoneGap)

  • 似乎不可能,因为他们无法进入蓝牙.

Dev*_*red 6

如果您以蓝牙作为通信渠道销售,那么您只需要时间来处理原型:

  • 最佳选择:Windows Mobile
  • 亚军:Android

为什么?

  1. iOS可以立即消除.只有使用iOS认可的配件才能实现蓝牙通信,除非您在MFi开发人员计划中,否则无法建立或购买蓝牙通信.标准的支持SPP的嵌入式无线电模块不会起作用(MFi NDA禁止我说的不多).

  2. 我从来没有在BlackBerry平台上做过蓝牙开发,所以我在这方面没有太多贡献经验,但我的印象是他们的支持更多地基于J2ME JSR实现而不是任何平台特定的,所以你可能会得到flakey结果.

  3. Android在Android 2.1+中对RFCOMM(SPP所在的地方)提供了很好的支持.与小模块和流数据连接非常简单,这些示例有很多帮助.但是,有一个技巧在于找到在嵌入式设备上为SPP服务发布的UDID.对于你发现这个价值,Android API并没有做得很好(不管我提交了多少个错误报告).我必须通过其他方法找出它是什么,并将其硬编码到应用程序中以使事情运行(如果您仍然感兴趣的话,还有更多内容).

  4. Windows Mobile是赢家,因为您可以在代码中完全绕过蓝牙,但仍然使用它.WinMo有一个用于设置蓝牙设备的控制面板,因此您可以打开嵌入式无线电,与其配对,连接并将SPP配置文件连接到COM端口...所有这些都来自控制面板.然后,您可以使用C#和.NET编写应用程序并使用SerialPort类连接到您的设备,因为它只是另一个COM端口.这使您无法使用WinMo蓝牙API(低级C++)或第三方驱动程序(如32Feet.Net(这不是一个糟糕的驱动程序)).

希望有所帮助.我试着把它压缩得更多.