На какой самой быстрой мобильной платформе можно создать приложение Bluetooth? - PullRequest
4 голосов
/ 27 августа 2010

Большую часть времени я пишу код для встроенных модулей или небольших программ на моем компьютере для анализа данных, которые генерирует этот код. Теперь меня попросили создать прототип мобильного приложения для анализа / отображения этих данных. У меня нет (6-летнего CS101) опыта работы с любым из популярных языков (Obj-C / Java?), Не говоря уже о любом из API / библиотек, доступных в 4-5 популярных мобильных ОС, так что я больше или меньше на первом месте.

Адаптировать встроенное оборудование для разговора с телефоном довольно просто, просто добавьте модуль Bluetooth, который я могу настроить для эмуляции последовательного порта (используя профиль SPP), но я не знаю, с чего начать с другой стороны.

На какую мобильную операционную систему / устройство следует ориентироваться , чтобы упростить / ускорить разработку приложения профиля последовательного порта Bluetooth (SPP), чтобы у них не было равных (нет) опыта для всех?

BlackBerry

  • У всех здесь есть один (кроме меня), так что это то место, куда меня подталкивают, если нет существенных препятствий или другое значительно лучше (быстрее)
  • Меньшее сообщество
  • Множество блогов разработчиков о плохом SDK / инструментах
  • «Устройства BlackBerry имеют ограниченную поддержку SPP». ( PDF , стр. 9)

Android

  • Здесь очень мало телефонов.
  • API делает очень простым простым поиск устройств и подключение к ним.
  • Большое сообщество разработчиков, (еще много примеров для просмотра).

WM6

  • У меня (плохой) телефон WM6.5.
  • Меньшее сообщество
  • Телефоны могут иметь различные стеки (MS, Widcomm), которые не совместимы, некоторые не поддерживают SPP, и я не знаю, что у моего телефона (HTC Ozone) ...

IOS

  • Не используйте / никогда не пользовались Mac, iPhone только в малой степени популярны в моей организации.
  • Большое сообщество разработчиков
  • Может подключаться только к одобренным устройствам Bluetooth (?) Удаляет этот параметр, если я правильно его прочитал.

Некоторые переносимые рамки (Appcelerator, PhoneGap)

  • Кажется невозможным, так как они не могут получить по Bluetooth.

Ответы [ 3 ]

6 голосов
/ 04 сентября 2010

Если вы проданы по Bluetooth в качестве канала связи, и вам нужны только критерии, пора перейти к работающему прототипу:

  • Лучший выбор: Windows Mobile
  • Второе место: Android

Почему?

  1. iOS может быть устранена немедленно. Связь по Bluetooth может быть достигнута только с помощью аксессуара, одобренного iOS, который вы не сможете собрать или купить, если не участвуете в программе MFi для разработчиков. Стандартный встроенный радиомодуль с поддержкой SPP не сработает (NBA MFi запрещает мне говорить что-либо еще).

  2. Я никогда не занимался разработкой Bluetooth на платформе BlackBerry, поэтому у меня нет особого опыта, чтобы поделиться своим опытом, но у меня сложилось впечатление, что их поддержка больше основана на реализации J2ME JSR, чем на какой-либо платформе, Вы можете получить результаты с ошибками.

  3. Android имеет хорошую поддержку RFCOMM (где живет SPP) в Android 2.1+. Соединиться с небольшим модулем и потоковыми данными довольно просто, и примеры очень помогают. Однако есть одна хитрость, которая заключается в поиске идентификатора UDID, опубликованного для службы SPP на встроенном устройстве. Android API не делает большую работу (независимо от того, сколько сообщений об ошибках я отправляю), помогая вам обнаружить это значение. Мне нужно было выяснить, что это было с помощью других средств, и жестко закодировать его в приложения, чтобы все заработало (подробнее об этом, если вы все еще заинтересованы).

  4. Windows Mobile - победитель, потому что вы можете полностью обойти Bluetooth в своем коде, но все равно использовать его. WinMo имеет панель управления для настройки устройств Bluetooth, поэтому вы можете включить встроенное радио, выполнить сопряжение с ним, подключиться и подключить профиль SPP к COM-порту ... и все это с панели управления. Затем вы можете использовать C # и .NET для написания вашего приложения и подключения к вашему устройству с помощью класса SerialPort, потому что это просто еще один COM-порт. Это не позволяет использовать API-интерфейс WinMo Bluetooth (который является низкоуровневым C ++) или драйвер стороннего производителя, например 32Feet.Net (который не является плохим драйвером).

Надеюсь, это поможет. Я попытался сжать это больше.

1 голос
/ 02 сентября 2010

Я не уверен, какова целевая аудитория вашего приложения, но если это приложение для внутреннего использования или приложение с ограниченным развертыванием, и вы просто хотите понять, как это может работать на мобильном устройстве, возможно, стоит просто использование существующего приложения для передачи CSV-файла по Bluetooth со встроенного устройства на мобильный телефон, который вы хотели бы оценить, а затем другое существующее приложение для анализа полученного CSV-файла.

Как минимум, есть приложения для передачи файлов через Bluetooth для Android и Windows Mobile, и я думаю, что это возможно и для Blackberry (но официально, если не известно, что iPhone не сломан, пока я знаю).

Существуют также приложения для просмотра и редактирования csv-файлов на этих платформах (например, в Google "Таблица Android csv", и вы найдете ссылки для Android).

Выполнение этого вручную, скорее всего, будет довольно болезненным, если вы будете делать это несколько раз, но это позволит вам почувствовать, как это может работать, и, возможно, поможет с «взглядом и ощущением» частью решения о том, какая телефонная платформа использовать (о котором вы можете подумать, что вы намного более самоуверенны после использования нескольких типов телефонов!)

Немного более левый полевой подход может заключаться в том, чтобы встроить точку доступа WiFi во встроенный компьютер, если это возможно (и я понимаю, что это, вероятно, нет ...), и предоставить общий доступ к файлам или даже иметь простой http-сервер, встроенный предоставить данные. Последний позволит вам использовать любой телефон с WiFi и приличным браузером.

0 голосов
/ 29 августа 2010

Просто заметьте, что моя библиотека 32feet.NET для Windows Mobile (и настольных компьютеров) поддерживает стеки Microsoft и Widcomm.

...