Как разорвать коннект блютузов?
- Войдите на сайт для отправки комментариев
Пт, 08/05/2020 - 23:26
блютуз модуль нс-05 на ардуино мега установил коннект с другим блютуз модулем и начал принимать информацию.
в скетче это Serial1. блютуз модуль работает в командном режиме.
информационный поток интенсивный - около 512х8 символов в секунду.
я пытаюсь программно разорвать коннект командой Serial1.println("AT+DISC");
команда не отрабатывается из-за того что все ресурсы брошены на обработку входного потока данных.
для разрыва соединения нужно только выключать какое-то устройство.
но нужно все-таки как-то разрывать коннект программно.
программная перезагрузка скетча не помогает.
есть ли решение этой проблемы?
есть ли решение этой проблемы?
Запитать модуль через транзисторный ключ, и рвать ему питание программно. Как вариант.
На НС-05 пин EN управляет питанием.
прошу прощения за назойливость. в гугле ответов не нашел.
можно больше информации о пине EN ?
как именно он управляет питанием и что нужно сделать чтобы питание модуля НС-05 отключить и потом снова включить из ардуиновского скетча?
куда его на ардуине подсоединять и какие команды использовать в скетче для включения и выключения?
нашел такое
Enable / Key
This pin is used to toggle between Data Mode (set low) and AT command mode (set high). By default it is in Data mode
боюсь что EN питанием не управляет.
Куда сейчас подключен EN?
Вот схема, сравните со своей
еще вчера EN не был никуда подключен и я переводил НС-05 в командный режим нажатием кнопки.
сегодня я соединил EN и digital pin 53 и перевожу НС-05 в командный режим из скетча командой digitalWrite(53,HIGH);
правильно ли я понимаю что если задействовать EN в приведенной выше схеме то функцию перевода модуля в командный режим он уже выполнять не будет?
эксперимент показал что отключение питания нс-05 коннект не разрывает.
нужно именно ардуино обесточивать.
эксперимент показал что отключение питания нс-05 коннект не разрывает.
нужно именно ардуино обесточивать.
Ага, HC-05, видимо, от тёмной энергии питается, когда его от БП отключаешь. Не иначе. Вы то хоть сами поняли, что сказали? Железка физически выключена - какой нахрен коннект с физически выключенной железкой?
2 v7ilnytskyy, AT+RESET, AT+DISC не помогают что ли?
исходное состояние - миндфлекс гарнитура с блютуз модулем и ардуино мега с блютуз модулем.
светодиоды на обоих модулях часто мигают.
модуль ардуины инициирует и устанавливает коннект с модулем гарнитуры и начинает принимать данные от гарнитуры. оба светодиода мигают так - две коротких вспышки и примерно пару секунд пауза.
отключаю модуль при ардуино. модуль при гарнитуре начинает часто мигать как в свободном не связанном ни с кем состоянии.
подключаю модуль к ардуино - характер мигания светодиода такой - длительный период свечения и длительная пауза. частого мигания как при свободном не связанном состоянии нет. скетч вроде как перегрузился но экран белый. работать все начинает только после переподачи питания на ардуино.
а если отключить гарнитуру то диод при ардуине начинает мигать часто. т.е коннект потерян и модуль свободен и перезагрузка программы проходит нормально.
Получает паразитное питание по сигнальным линиям, их нужно в 0 ронять.
Ну только если так. Хотя что-то я сомневаюсь, что той паразитки - там хватит.
отключаю модуль при ардуино. модуль при гарнитуре начинает часто мигать как в свободном не связанном ни с кем состоянии.
Ну вот - какое нафиг паразитное питание, если умная гарнитура определила, что модуль - отвалился от связи?
C просторов, по задержке после RESET.
прошу прощения за длительное отсутствие. причина была уважительная.
может я ошибаюсь но за прошедшее время проблема вырисовалась в таком виде:
включаем ардуино с блютуз модулем. переводим блютуз модуль в командный режим нажатием кнопки на модуле (нс-05) или подачей HIGH уровня на EN. устанавливаем коннект с блютуз модулем гарнитуры миндфлекс и начинаем принимать данные. я думаю что после установки соединения модуль выходит из командного режима иначе вся принимаемая информация воспринималась бы им как неверные команды. и теперь модуль не реагирует на AT+DISC просто потому что он не в командном режиме.
вопрос - как программным путем перевести модуль нс-05 из режима обработки данных в режим обработки команд?
подача высокого уровня на EN ни к чему не приводит. наверное это работает только при подаче питания на модуль.