Можно ли использовать модуль BLE HM-10 или HM-11 с Arduino для связи с устройством iOS (ANCS)?
Я хотел бы создать умные часы для моего iPhone на основе инструментов и библиотек Arduino. Но у меня есть проблема с BLE: я знаю, что уже есть библиотека для nRF8001 для ancs ( https://github.com/robotastic/ANCS-Library), но я хочу использовать модуль HM-11, главным образом потому, что он меньше и дешевле. Так можно ли подключить модуль HM-11 к Arduino, получать уведомления iOS и что-то с этим делать? (например, отобразить его на экране)
Заранее спасибо.
2 ответа
HMSoft версии V524 добавлена поддержка ANCS (не включая версию HMSensor)
- Как открыть функцию ANCS
1.1 Пожалуйста, сначала прочтите документ уведомления Apple.
1.2 Отправить AT+TYPE3
изменение команды на AUTH
а также BOND
Режим.
1.3 Отправить AT+ANCS1
команда открыть ANCS
,
1.4 Отправить AT+PASS
[para1] команда для установки пароля. Пароль по умолчанию "000000"
1.5 Отправить AT+RESET
перезапустить модуль.
Теперь вы можете использовать LightBlue или наше программное обеспечение для сканирования и подключения к модулю. iOS попросит вас ввести пароль. Пожалуйста, введите значение пароля.
Если все в порядке, вы должны получить AT+ANCS
[para1] команда из модуля UART
,
Около
AT+ANCS[para1]
командаAT+ANCSN
: модуль открыт Источник уведомлений УСПЕШНО.AT+ANCSC
: модуль открыт Контрольная точка УСПЕШНО.AT+ANCSD
: модуль открыт Источник данных УСПЕШЕН.Получите информацию об уведомлении ANCS. Когда в Центре уведомлений iOS произошли изменения (например, звонок, электронная почта, короткое сообщение). Модуль выведет
AT+ANCS8[para2]
команда черезUART
,Около
AT+ANCS8[para2]
команда.
Формат такой как:AT+ANCS801012345
8: длина para1.
0:EventID
EventIDNotificationAdded = 0
,EventIDNotificationModified = 1
,EventIDNotificationRemoved = 2
,Reserved EventID values = 3 ~ 255
1:CategoryID
CategoryIDOther = 0
,CategoryIDIncomingCall = 1
,CategoryIDMissedCall = 2
,CategoryIDVoicemail = 3
,CategoryIDSocial = 4
,CategoryIDSchedule = 5
,CategoryIDEmail = 6
,CategoryIDNews = 7
,CategoryIDHealthAndFitness = 8
,CategoryIDBusinessAndFinance = 9
,CategoryIDLocation = 10
,CategoryIDEntertainment = 11
,Reserved CategoryID values = 12 ~ 255
01:CategoryCount
Текущее количество активных уведомлений iOS в данной категории. Например, если две непрочитанные электронные почты находятся в почтовом ящике пользователя, и новая электронная почта отправляется на устройство iOS пользователя, значение CategoryCount равно 3.
2345:NotificationUID
32-разрядное числовое значение, которое является уникальным идентификатором (UID) для уведомления iOS. Это значение можно использовать в качестве дескриптора в командах, отправляемых в характеристику контрольной точки для получения дополнительной информации об уведомлении iOS.Получить атрибуты уведомления
AT+ANCS[para1][para2][para3]
Формат такой как:AT+ANCS2345100
para1
: NotificationUIDpara2
:NotificationAttributeID
NotificationAttributeIDAppIdentifier = 0
,NotificationAttributeIDTitle = 1
, (Должен сопровождаться параметром максимальной длины 2 байта)NotificationAttributeIDSubtitle = 2
, (Должен сопровождаться параметром максимальной длины 2 байта)NotificationAttributeIDMessage = 3
, (Должен сопровождаться параметром максимальной длины 2 байта)NotificationAttributeIDMessageSize = 4
,NotificationAttributeIDDate = 5
,NotificationAttributeID
= 6 ~ 255para3
: параметр максимальной длины (зарезервирован)
Если значение para2 равно 0, 4, 5, para3 должно быть установлено на "00"
если значение para2 равно 1, 2, 3, вам нужно установить число.О получении атрибутов уведомлений Ответ
AT+ANCSW
: Отправить запрос УСПЕШНО.AT+ANCS[para1]:
Значение para1 составляет 0x00 ~ 0x14.
Укажите следующую длину пакета, которую вам нужно получить.
[........]: байтовый массив, который вам нужно получить.
Показать в документе уведомления Apple Рисунок 2-6. (страница 9)
После того, как вы получите AT+ANCSW, вы можете получитьAT+ANCS[para1]
много раз. пока пакет рисунка 2-6 не закончен.Как убрать ANCS.
7.1 Удалить информацию о связях с iOS. 7.2 ВыполнитьAT+ERASE
удалить информацию о связях модулей.
7.3 ВыполнитьAT+ANCS0
закрыть модуль ANCS.
7.4 ВыполнитьAT+RESET
перезапустить модуль.ANCS прост в использовании, вам не нужно писать код iOS. iOS будет управлять связью Bluetooth и передавать сообщение в модуль.
Нет, эти модули обеспечивают эмуляцию последовательного порта через GATT с использованием службы / характеристики. Они не предоставляют низкоуровневый доступ к стеку Bluetooth, необходимый для реализации приемника ANCS.