2016-12-11 6 views
0

Мне нужно создать приложение, которое будет обнаруживать устройство без ios через Bluetooth, поддерживающее BTLE 4.0.Отправить изображение на устройство non ios

У меня есть следующие сомнения:

  1. Можно ли перенести изображения с iPhone приложение к не устройства IOS с помощью BTLE 4.0
  2. Я искал какой-то учебник, который говорит о центральной и периферической. Я понимаю, что в этом случае приложение iphone будет периферийным, а не iOS-устройство будет центральным? м я право
  3. Будет this code будет в состоянии выполнить все мои требования
+0

Вы можете передать изображение; изображение представляет собой просто набор байтов, которые интерпретируются определенным образом; вы можете передавать байты с помощью BLE. Обычно приложение iOS будет центральным. Центральным является устройство, которое сканирует периферийные устройства для подключения. Периферия рекламирует. – Paulw11

+0

@ Paulw11, но я хочу использовать приложение ios как периферийное устройство, которое отправит изображение на устройство, не поддерживающее iOS, которое будет поддерживать BTLE 4.0. Является ли это возможным? – KsK

+0

Вы можете отправлять данные двунаправленным от центрального к периферийному и наоборот. Но почему вы хотите использовать приложение iOS как периферийное? Как сказал @ Paulw11, вы не можете сканировать («обнаружить») для своего устройства без iOS. BTW: Ваш прикрепленный код написан в объекте C. Вы должны использовать быстрый код ... – godlyblade

ответ

0
  1. Да, изображение может быть преобразовано в данные и данные могут быть отправлены через Bluetooth. Чтобы преобразовать UIImage в NSData, вам нужно решить, в каком формате вы хотите. Вы можете использовать UIImageJPEGRepresentation или UIImagePNGRepresentation.
    Либо один преобразует UIImage в NSData.
  2. Нет, вы ошиблись. Устройство iOS имеет центральный менеджер (CBCentralManager), который находит другие устройства (CBPeripheral). Эти другие устройства имеют множество сервисов (CBService), и каждая служба может иметь много характерных (CBCharacteristic), к которым вы подключаетесь. После создания соединения вы можете отправлять (писать) или получать (читать) данные.
  3. Код выглядит довольно хорошо. Но главный смысл данных SENDING, похоже, не существует. Вы можете отправить на периферию Bluetooth из iOS с помощью команды WRITE, которая будет автоматически разделена на небольшие пакеты. Размер ограничен до 64 Кбайт и может занять около секунды за килобайт - так что он довольно медленный. Используйте функцию [peripheral writeValue:data forCharacteristic: characterstic type:CBCharacteristicWriteWithResponse]; (вы должны сохранить ссылку на периферийное устройство и символ).