Здравствуйте помогите пожалуйста, хочу осуществить управление 2 микр, что бы один посылал сообщение другому и обратно, т.е по сути сделать синхронизацию двух мкр . Как такое сделать? Помогите!!! Если есть список всех команд управления HC 06(05)? Напишите пожалуйста, какая за что отвечает, например там считывание отправление, может еще какие спец слова использовать можно?
Передача данных осуществляется без команд, по обычному последовательному порту (можно подсоединять к выводам ардуины RX и TX, можно к любым пинам и работать через SoftwareSerial). Данный модуль понимает только пять команд. AT - команда проверки модуля и доступности конфигурирования через AT-команды. В ответ модуль должен вернуть OK. AT+BAUDx - установка скорости, где x - код скорости из таблицы: ЗначениеСкорость (бод) 11200 22400 34800 49600 519200 638400 757600 8115200 9230400 AT+NAMEname - изменение имени устройства, где name - новое имя. Имя по умолчанию смотреть при спаривании с компьютером. AT+PINpass - изменение пароля (PIN-кода), где pass - новый пароль. Пароль по умолчанию 1234. Чтобы передавать команды, нужно либо подавать их в не соединенный по БТ модуль, либо подав на специальную ногу высокий сигнал. Зависит от модификации модуля. Причем ведут себя они по разному. Одни (обычно обзываются HC-04) не требуют символа перевода строки после ввода команды, другие требуют. Бывают и другие нюансы, характерные для разных реализаций. Чтобы связать два модуля между собой, один должен быть Master (A), другой Slave (B), и их нужно как-то связать между собой. Внятных статей на эту тему пока не видел, а потому в итоге от идеи использования этих модулей для связи между ардуинами отказался и перешел на радиомодули nrf24l01. Причем большинство моделей командами из режима в режим не переключается, надо прошивать. Моделей переключающихся не видел, только слышал упоминание, что такие бывают, возможно, всего лишь байка.
Если я правильно понял, пока нет примера как связывать друг с другом микр? А есть примеры использования команд которые вы перечислели, я не совсем понял их синтаксис как прописывать и как взаимодействуют!
Прошу прощения, в информации по командам при копировании вкралась ошибка. Для второй команды (AT+BAUDx) x принимает значения от 1 до 9, задавая соответственно скорости 1 - 1200 2 - 2400 3 - 4800 4 - 9600 5 - 19200 6 - 38400 7 - 57600 8 - 115200 9 - 230400 Т.е., чтобы задать скорость 9600 надо подать по последовательному порту модуля команду AT+BAUD4 чтобы сменить пинкод на 0000, надо подать команду AT+PIN0000 Пятая команда потерялась. Это AT+VERSION Она Возвращает версию прошивки. Только что нашел еще одну команду, шестую: AT+PN Установка чётности модуля — нет. AT+PO Установка чётности модуля — нечётный. AT+PE Установка чётности модуля — чётный. Ответ на команды - OK, за которым сразу следует текст, соответствующий команде, например, для команды установки скорости это установленная скорость. При этом следует помнить об особенностях своего конкретного модуля (необходимость или ее отсутствие подавать на какой-то вход высокий уровень, необходимость или ее отсутствие завершать команду переводом строки - символом \n он же символ с кодом 10). Писал ответ, а в фоне искал в гугле. Нашел еще про команды: http://we.easyelectronics.ru/part/rabota-s-bluetooth-modulem-hc05.html Получается, что командами можно все-таки сменить режим и к чему-то подключиться. Но это только для "правильного" HC-05
А тут полный список команд и вообще полное описание, правда, на английском. http://robocraft.ru/shop/index.php?route=product/product&product_id=138 И почему я раньше всего этого не нашел, непонятно.
Благодарю, но все же вопрос остается как сделать управление Arduino+HC05 на другой HC+Arduino? Я видел видео урок как сделать это с АТ командами толкьо там по проводам РХ и ТХ, а как сделать что бы мой МРК выступал в роли передатчика команд? Ведь с компа я могу посылать команда текстовые, с той же программой как например termite-3.1 !
Насколько я понимаю из документации, то примерно так и только с HC-05 (остальные вроде требуют прошивки для смены роли). Предполагается, что модуль подключен к RX и TX UNO (пины 0 и 1). 1. На том модуле, который будет инициировать соединение, активировать режим мастера, подав из скетча в последовательный порт AT команду: Serial.print("AT+ROLE=1\r\n"); Дождаться из порта символов OK. 2. На том модуле, который будет принимать соединение, активировать режим службы: Serial.print("AT+ROLE=0\r\n"); Дождаться из порта символов OK. Serial.print("AT+CMODE=1\r\n"); Дождаться из порта символов OK. 3. На том модуле, который будет инициировать соединение, собственно соединение установить: Serial.print("AT+LINK=1234,56,abcdef\r\n"); где 12:34:56:ab:cd:ef надо заменить на MAC адрес второго модуля и символы подставить в команду по аналогии. Дождаться из порта символов OK. Дальше просто слать данные в последовательный порт и читать из него. Возможно, перед началом передачи AT команд на какой-то дополнительный контакт надо будет подать сигнал, а после завершения этот сигнал снять. Проверить не могу, у меня сейчас остался только один модуль, и не факт, что он нужной модели.
Насколько я понимаю, по HC06 по жизни в режиме Slave и не переключается (хотя теоретически может быть и в другом). Если он находится компьютером, то он именно в этом режиме. Отсюда следует, что он должен принимать соединение, а команды перевода его в соответствующий режим (пункт 2) на нем подавать не надо.
А кто нибудь в курсе, как взаимодействовать с модулем программно? У меня НС-05. Сейчас я подключаюсь к нему с андроид-приложения и регулирую яркость диода, дергая ползунок в приложении. Но иногда блутус зависает. Физически он по-прежнему остаётся подключённым к смартфону (об этом свидетельствует и медленно мигающий диод на блутусе и само приложение), но сигналы не принимает. Пишет об ошибке приёма-передачи. Можно его как-то перезагрузить в этом случае?
Так что надо изначально? Связать два МК для передачи между ними данных? Тогда просто соединить RX-TX у них проводками и создать Serial-связь. Я так делал, отлично работает.
добрый день ! может не совсем в тему ,я столкнулся с такой проблемой при смене скорости в сериал порте нет строки 38400 как ее туда прописать