- PVSM.RU - https://www.pvsm.ru -

Бей фашистов, или BLE для iOS


Привет трудящимся от бездельников.
В прошедшем году произошло событие, которое было слабо освещено [1] на сайте.

Это событие — появления в новых iOS устройствах 4-ого Bluetooth. Или BLE — Bluetooth Low Energy. Чем это приятно для разработчиков под айос? Прочитайте и узнаете.
Кому лень читать, посмотрите 0x30-секундное видео с примером приложения, основанного на данной технологии.

Не нужна лицензия MFI от Apple

До февраля 2012 года требовалась лицензия на разработку устройств и приложений, использующих старый блюпуп для айфонов. Я такую лицензию получил, вместе с ней пришел ПДФ файл с печатью Совершенно секретно. Ничего полезного при помощи сего документа я не сотворил.

Не нужна регистрация в GameCenter

Сколько не работал с GameCenter, меня не покидало ощущение, что это чуждый Apple продукт. Противный дизайн и бестолковая функциональность. А отладка? Не спорю, я криворук, но говорят разработчика GameCenter уволили из компании. Я бы его еще министром культуры Мордовии сделал. Да, за эти зеленые обои…

Что же нужно для разработки

Для написания приложения Вы должны скачать великолепный пример BTLE Central Peripheral Transfer [2] с родного сайта Apple.

Пример простой и ясный — он связывает 2 любых iOS устройства, на борту которых установлен новый BLE. Напоминаю, что BLE устанавливается на устройствах начиная с iPhone 4S и iPad 3 и выше.
Запускаем приложение на двух устройствах. Предупреждаю, на эмуляторе BLE не поддерживается.

Появляется меню — одно устройство выбираем центральным, другое — периферийным — далее фантазии автора не знают границ. Моя фантазия ограничилась несколькими SHOOTERS, один из которых я написал специально для этой статьи.

Разделение устройств

Программа работает только в связке iPad-iPhone. iPad я подразумеваю центральным стрельбищем, iPhone — периферийной винтовкой. iPad я кладу на диван из ИКЕA в положении landscape, iPhone я держу на расстоянии 30-60 см от iPada, как полицейский держит пистолет. В процессе отладки я проверял уровень сигнала от периферии на центре и скажу честно — у ребят отсюда [1] нет будущего. Сила сигнала крайне неустойчива. Цифры в комментариях, если надо.

Мало того, я долго чертыхался при запуске родного яблочного примера, поскольку связь терялась и реакция на выстрел была порой до 2 секунд! Какая уж тут волшебная палочка. Но, расковыряв пример, я убрал минимальную границу для силы сигнала и приложение полетело. На винтовке я включил режим видео среднего разрешения, по синей верхней горизонтальной полосе на айПаде я определяю местоположение стрельбища — а далее все просто — попал, не попал.
Бей фашистов, или BLE для iOS
По горячим следам я сделал приложения Биатлон и Тир и сегодня осмелился одно из них выложить в магазин.
Чуть остыв, я сделал приложение Сноуборд — айФон (доска) и айПад (склон). Акселерометр с айфона 20 раз в секунду гонит 10 байт на айПад. Все работает, главное не перегружайте канал — он не пропускает более 60 байт за 0.020 секунд. Графика для сноуборда уже нужна трехмерная, а не псевдо 3Д, так что проект видимо умрет.

И на сладкое. По мишеням можно стрелять с нескольких стволов. Дети у меня уже выигрывают в перестрелке.

Всем не болеть!

Автор: PapaBubaDiop

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/mobile-development/24225

Ссылки в тексте:

[1] слабо освещено: http://habrahabr.ru/post/161021/

[2] BTLE Central Peripheral Transfer: https://developer.apple.com/library/ios/#samplecode/BTLE_Transfer/Introduction/Intro.html#//apple_ref/doc/uid/DTS40012927

[3] Источник: http://habrahabr.ru/post/164991/