What is the fastest mobile platform for creating a Bluetooth application?

In most cases, I write code for embedded modules or small programs on my computer to analyze the data that the specified code generates. Now I was asked to prototype a mobile application to analyze / display this data. I don’t have (6-year-old CS101) experience with one of the popular languages ​​(Obj-C / Java?), Not to mention any of the APIs / libraries available on 4-5 popular mobile OSs, so I’m more or less per square.

Adapting the built-in equipment to a conversation with the phone is quite simple, just add a Bluetooth module that I can configure to emulate the serial port (using the SPP profile), but I don’t know where to start from the other side.

Which mobile OS / device should be configured for convenience / speed of development of an application with a Bluetooth serial port profile (SPP) due to the fact that they have the same (no) experience?

Blackberry

  • Everyone has one here (except me), so this is where they push me if there are no significant obstacles or the other is much better (faster).
  • Smaller community
  • Lots of dev blogs moan about poor SDK / tools
  • "BlackBerry devices have limited SPP support." ( PDF p. 9)

Android

WM6

  • I have a (bad) WM6.5 phone.
  • Smaller community
  • Phones can have various stacks (MS, Widcomm) that are not compatible, some do not support SPP, and I don’t know that my phone (HTC Ozone) has ...

IOS

  • I have not / never used a Mac; iPhones are only marginally popular around my organization.
  • Community of Large Developers
  • Can only connect to approved Bluetooth devices (?) Kills this option if I read it correctly.

Some portable frameworks (Appcelerator, PhoneGap)

  • It seems impossible since they cannot get into Bluetooth.
+4
source share
3 answers

If you sell via Bluetooth as a communication channel, and you are only the time criteria for a working prototype:

  • Best Choice: Windows Mobile
  • Runner Up: Android

Why?

  • iOS can be fixed immediately. Bluetooth can only be achieved with an iOS-approved accessory that you cannot build or buy if you are not in the MFi developer program. The standard integrated radio module with SPP support will not do the trick (MFI NDA forbids me to talk more).

  • I’ve never been involved in Bluetooth development on the BlackBerry platform, so I don’t have much to contribute with experience, but my impression is that their support is more based on the J2ME JSR implementation than on any particular platform, so you can get bad results.

  • Android has good support for RFCOMM (where SPP lives) in Android 2.1+. Connecting to a small module and streaming data is quite simple, and the examples help a lot. However, there is one trick that is in the search for the UDID that is published for the SPP service on the embedded device. The Android API does not do an excellent job (no matter how many error reports I make) to understand this value. I had to find out what it was using other means and to compromise it in applications to make everything work (more on this if you are still interested).

  • Windows Mobile is a winner because you can get around Bluetooth in your code, but use it anyway. WinMo has a control panel for configuring Bluetooth devices, so you can turn on the built-in radio connection, connect to it, connect and connect the SPP profile to the COM port ... all from the control panel. Then you can use C # and .NET to write your application and connect to your device using the SerialPort class, as this is just another COM port. This eliminates the need for the WinMo Bluetooth API (which is a low-level C ++) or a third-party driver such as 32Feet.Net (which is not a bad driver).

Hope this helps. I tried to condense it even more.

+6
source

I'm not sure what the target audience is for your application, but if this is an application for home or limited deployment, and you just want to understand how it can work on a mobile device, it can be worth it just by using an existing application to transfer the CSV file via Bluetooth from your an embedded device on the mobile phone that you want to evaluate, and then another existing application for analyzing the received CSV file.

There are Bluetooth file transfer applications available for Android and Windows Mobile, at a minimum, and I think it is possible for Blackberry (but not officially for the iPhone, but not for the iPhone, but as far as I know).

There are also applications for viewing and editing csv files on these platforms (for example, google "Android csv table" and you will find links for Android).

Doing it manually will probably be quite painful if you do it repeatedly, but it will allow you to understand how it can work, and perhaps help with the “look and feel” part of the solution on which the phone platform is (you may find that after several different types of phones you are much more stubborn!)

A slightly more left-handed approach may be to build a WiFi access point in the embedded machine, if possible (and I understand that this is probably not ...) and the file share, or even a simple HTTP server embedded in provide data. The latter will allow you to use any phone with WiFi and a decent browser.

+1
source

Just remember that my 32feet.NET library for Windows Mobile (and the desktop) supports both Microsoft and Widcomm stacks.

-1
source

All Articles