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

时间:2010-08-26 21:20:39

标签: android iphone blackberry windows-mobile bluetooth

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

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

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

黑莓

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

的Android

  • 这里的电话很少。
  • API使查找设备并连接到它们似乎非常straightforward
  • 大型开发社区,(更多的例子可以仔细阅读)。

WM6

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

的iOS

  • 没有/从未使用过Mac,iPhone只在我的组织中受欢迎。
  • 大型开发社区
  • 只能连接到approved Bluetooth devices(?)如果我正确读取该选项会导致死亡。

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

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

3 个答案:

答案 0 :(得分:6)

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

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

为什么?

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

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

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

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

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

答案 1 :(得分:1)

我不确定您的应用程序的目标受众是什么,但如果它是内部或有限的部署应用程序,并且您只是想了解它如何在移动设备上运行,那么它可能是值得的使用现有应用程序通过蓝牙将CSV文件从嵌入式设备传输到您要评估的移动电话,然后使用另一个现有应用程序来分析收到的CSV文件。

至少有适用于Android和Windows Mobile的蓝牙文件传输应用程序,我认为它也可以在黑莓上使用(但据我所知,还没有正式用于非监狱破解的iPhone)。

还有一些应用程序可以在这些平台上查看和编辑csv文件(例如谷歌的'Android电子表格csv',你会找到Android的链接)。

如果您反复进行此操作,手动执行此操作可能会非常痛苦,但它会让您了解它的工作原理,并可能有助于确定哪个手机平台的“外观和感觉”部分使用(你可能会发现在使用几种不同的手机后,你会更加自以为是!)

稍微左侧的字段方法可能是在您的嵌入式计算机中构建WiFi接入点,如果可能的话(我意识到它可能不是......)和文件共享甚至内置一个简单的http服务器提供数据。后者允许您使用任何带WiFi的手机和体面的浏览器。

答案 2 :(得分:-1)

请注意,我的Windows 32feet.NET适用于Windows Mobile(和桌面版),同时支持Microsoft和Widcomm堆栈。