Replies: 2 comments
-
Извините, пропустил это issue. По поводу логики: вам нужно, на своей стороне, еще включить получение уведомлений. Line 335 in 7c07708 event (по крайней мере так это работает на python ).
Да BT pairing нужно сделать, чтобы не загонять бризер в режим сопряжения каждый раз. Как -- не знаю. В ESP не силен.
Отправляется Line 480 in 7c07708 @final
async def pair(self):
_LOGGER.debug("Pairing")
await self._connect(need_notifications=False)
_LOGGER.debug("Connected. BT pairing ...")
try:
await self._btle.pair()
...
В коде модуля команда выглядит так Line 98 in 7c07708 @property
def command_getStatus(self) -> bytearray:
return bytearray([TionLiteFamily.SINGLE_PACKET_ID, 0x10, 0x00, self.MAGIC_NUMBER, 0xa1] +
self.REQUEST_PARAMS +
self.random4 + self.random4 +
self.CRC
) Вы отправляете |
Beta Was this translation helpful? Give feedback.
-
Игорь, спасибо за ответы. За время отпуска пришла идея и я смог немного продвинуться вперед. Pair получилось сделать AT командами. К бризеру теперь могу подключаться в любой момент, а не только во время включенного на бризере режима сопряжения. Могу получать список характеристик, читать некоторые. Но когда пытаюсь записать данные в эту характеристику "98f00002-3788-83ea-453e-f52244709ddb" или прочитать из этой "98f00003-3788-83ea-453e-f52244709ddb" - получаю статус "insufficient authorization". Почитал issue по вашему проекту - возможно у меня не сохранились ключи, но пока не нашел, где их посмотреть на esp32. Попробую разобраться с проектом, ссылку на который Вы прислали. Я изучаю Python, поэтому интересно все-таки эту задачу решить на нем, заодно и потренироваться :) |
Beta Was this translation helpful? Give feedback.
-
Версия модуля: 3.3.5
Модель бризера: S4
Версия прошивки (если известна): 02D2
Описание проблемы
Пишу модуль на микропитоне для esp32, планирую использовать ваши наработки по протоколу для формирования сообщений для бризера S4. Начал с сопряжения и не получается его выполнить. Помогите пожалуйста разобраться с логикой обмена сообщениями с бризером.
Порядок действий, которые приводят к проявлению проблемы
ble.connect(1, ubinascii.unhexlify(b'f022a36c3a55'))
.ble.send(ubinascii.unhexlify(b'8010003aa13232b788d5da1ec11843bbaa'))
.ble.disconnect()
. Пробовал отправлять как одну команду запроса статуса за один сеанс привязки, так и несколько команд за один сеанс. Для отладки пока команды формирую в отдельном файле кодом из вашего модуля с 8 рандомными байтами.ble.connect(1, ubinascii.unhexlify(b'f022a36c3a55'))
и сразу же получаю событие о дисконнекте.Вопросы:
Я ее пробовал отправлять, но модуль на микропитоне ее похоже не поддерживает, т.к. получаю в терминале:
И в описании модуля написано, что на esp32 она не поддерживается, или же pair поддерживается, но не поддерживается bonding...
Логи
Скетч для esp32:
Beta Was this translation helpful? Give feedback.
All reactions