После публикации моего вопроса я снова искал сопряжение / соединение.
Я был перенаправлен по ссылке на таблицу данных для HM-10 , которую я прочитал много раз.Однако на этот раз я искал слово «облигация» внутри документа.
Когда я это сделал, я прочитал следующую таблицу в документе:
Это заставило меня задуматься и угадать.Я полагаю, что проблема в том, что HM-10 отправляется как ТИП 0, так что пользователи-любители могут настроить его без сопряжения.
Это весьма отличается от модулей HC-05 (классический Bluetooth), которые я использовалМного раз в других проектах, которые требуют сопряжения.
Возможное решение
Я считаю, что все, что мне нужно сделать, это установить AT_TYPE в 2, а затем мой iOS (iPad)Затем устройство разрешит мне выполнить сопряжение с использованием ПИН-кода.
Я предполагаю, что после этого каждый пользователь будет вынужден использовать ПИН-код для сопряжения своего устройства, и тогда данные будут доступны только для записи (с использованием writeValue).через защищенный канал BLE.
Дополнительная информация
Это также интересно для меня, потому что когда я использую стандартное сканирование iOS по Bluetooth, ОС никогда не видит HM-10-- имя не отображается в разделе Bluetooth.Я предполагаю, что это из-за того, что HM-10 не передает, что он может соединиться через пин-код, а iOS игнорирует его.
Это всегда было мне интересно, потому что, хотя iOS не видела HM-10, я мог подключиться кэто и отправить данные к нему через мой код Swift.Вау, все это может наконец-то сойтись.
Я протестирую это сегодня вечером и отправлю обратно, чтобы подтвердить, решает ли настройка TYPE это.
Еще одна вещь
Ни одно из обширного прочтения, которое я читал на HM-10 ( см. Фантастические, подробные статьи Мартина Карри ), никогда не упоминало эту опцию, и я нигде не видел ее обсуждаемой.
Я также вижу, что на некоторых сайтах указывается, что AT+TYPE
предназначен для установки устройства Master / Slave (Central / Periperhal) , которое я не считаю правильной документацией для этого элемента.,Все это дополнительно затрудняло определение того, как заставить это работать.
Примечание об обновлении
Я читал еще одну таблицу данных для HM-10 и это показывает, что настройка по умолчанию для AT + TYPE фактически равна 0 (PIN-код не требуется), как показано в нижней части диаграммы.Не уверен, почему в другой таблице данных не было этой информации, поскольку она выглядит как тот же график.
Обновление 2 - это ответ.Я включил HM-10 и запустил код Arduino, который позволяет мне отправлять AT-команды и отправлял AT+TYPE3<ENTER>
, а затем отправлял AT + RESET, чтобы HM-10 перезапустился сам.
После этогоВам больше ничего не нужно делать.Я использовал свое приложение iOS, запущенное на iPad, для отправки данных по признаку FFE1.Когда я попытался это сделать, iOS открыла диалоговое окно «BLE-пара / связь» по умолчанию и спросила или PIN-код (по умолчанию 000000 на этих компонентах HM-10).
Примечание Одна вещь, которую я обнаружил, это то, что один из моих HM-10 неисправен.Это позволяет записывать данные, даже если я отменяю соединение или не могу выполнить соединение (отправив неверный PIN-код).Компонент этого производителя больше не доступен, поэтому я предполагаю, что это ошибка.Другой HM-10 у меня работает именно так, как ожидалось.Если вы не создаете пару или не можете выполнить сопряжение, приложение не может записать данные.Я отмечу это как ответ, как только смогу.