Подключите несколько вкладок рисования к встроенной iOS с помощью пользовательского интерфейса Swift и основных функций IOS

Программируем под IOS
Anonymous
Подключите несколько вкладок рисования к встроенной iOS с помощью пользовательского интерфейса Swift и основных функций

Сообщение Anonymous »

Я создаю собственное приложение для iOS (Swift, CoreBluetooth), которое должно подключаться к нескольким устройствам рисования BLE (до 4 одновременно) и получать потоковые данные рисования.
Текущее состояние
  • Сканирование работает
  • Несколько периферийных устройств успешно подключаются
  • Код: Выделить всё

    didConnect
    вызывается для каждого устройства
  • Обнаруживаются службы и характеристики
Однако:
  • Код: Выделить всё

    didUpdateValueFor characteristic
    никогда не срабатывает
  • Код: Выделить всё

    readValue(for:)
    не дает ответа
  • Код: Выделить всё

    writeValue(_:for:type:)
    не дает видимого результата
  • Потоковые данные не принимаются от устройств
Важный контекст
Поставщик предоставляет SDK, но:
  • Он поддерживает только одно устройство одновременно
  • Он не допускает нескольких одновременных подключений
Из-за этого ограничения мы реализуем поддержку нескольких устройств напрямую с помощью CoreBluetooth.
Протокол устройства требует отправки команд инициализации на основе HEX, прежде чем он начнет потоковую передачу данных чертежа.
Что мы делаем
После выявления характеристик мы:

Код: Выделить всё

peripheral.setNotifyValue(true, for: characteristic)
peripheral.readValue(for: characteristic)
peripheral.writeValue(data, for: characteristic, type: .withResponse)
Несмотря на это: Вопросы
  • Если периферийное устройство подключается, но обновления характеристик не получены, каковы наиболее распространенные причины?
  • Обязательно ли наличие характеристики Свойство .notify для потоковой передачи данных?
  • Если SDK поставщика поддерживает только одно устройство, может ли встроенное ПО ограничить несколько активных потоков данных?
  • Как мы можем проверить, что мы записываем правильные характеристики без документации поставщика?
  • Может ли CoreBluetooth надежно обрабатывать несколько высокочастотных потоков данных периферийные устройства?
Основная проблема
Соединения выполняются успешно, но характерная связь (чтение/запись/уведомление) не работает.
Любые рекомендации по диагностике этого типа сбоя связи BLE будут оценены.

Подробнее здесь: https://stackoverflow.com/questions/798 ... oth-core-f

Вернуться в «IOS»