Всем привет=)
Как было обещано в группе, мы заняты разработкой приложения под Android для управления нагрузками на Arduino. Но, как вы все понимаете, просто там одно к другому не подключишь – нужен канал связи, а какой у нас самый доступный и дешманский канал? Конечно же bluetooth! О нём дальше и пойдёт речь.
Сегодня решаем производственные вопросы – подключаем Bluetooth модуль HC-06. Его главное отличие от HC-05 в том, что он урезан и предоставляет только необходимый минимум возможностей.
В целом, HC-06 можно рассматривать как беспроводной удлинитель UART. Поскольку мы подключаясь к нему с ПК через Bluetooth видим его как COM порт и подключаясь к контактам мы имеем чистый UART. Практически всё, что идёт с одной стороны – выходит с другой. За исключением AT команд со стороны контактов.
AT команды – это наследие старых модемов ещё из 1977 года. Представляют они из себя короткие строковые команды, например «AT», «AT-NAME», «AT-PIN». Обычно ввод команды завершается клавишей Enter. Но в этот раз всё немного иначе, и команда целиком должна быть получена, примерно, в течение одной секунды. По этой причине, для настройки нам не подойдут программы позволяющие писать напрямую с клавиатуры в порт (можно попробовать из буфера обмена, но есть шанс на облом). Нам нужна возможность послать по сигналу строку целиком.
Вооружившись COM Port Toolkit, мы выставляем скорость в 9600 и соответствующий номер порта. Далее готовим первую строку «AT». Отправляем и получаем на неё ответ «OK». Это уже хороший знак. Мы не перепутали RX и TX и не ошиблись со скоростью. Дальше вам наверняка захочется дать своё название модулю. Пишем: «AT-NAMEhome» и получаем в ответ что-то типа «OKhome». Меняем код доступа так: «AT-PIN010203», и получаем: «OKsetpin»
Вам может быть это интересно
tehnopage.ru
.
Как я выше написал, во время работы над последним обзором из серии посвященной лабораторному блоку питания
Но будем последовательны.
Платка была заказана 26 июня, 28 числа пришло уведомление, что продавец отправил мою посылку, а уже 29 она начала отслеживаться, на мой взгляд очень оперативно. 11 июля я получил свою посылку на почте, на мой взгляд довольно оперативно. Правда после этого она месяц лежала у меня нетронутой, не было времени ею заниматься, но вот недавно у меня наконец то дошли руки поэкспериментировать с ней.
Внутри был только сам модуль и небольшой кабель, запакованные в антистатический пакетик.
В принципе там ничего другого и не должно быть, что тоже не может не радовать.
Сам модуль представляет собой небольшую платку, которая по сути является переходником, на который установлена плата именно Bluetooth приемо-передатчика. На обратной стороне есть маркировка назначения контактов. Все так же в минималистическом стиле, Питание, общий, прием, передача.
С лицевой стороны видно сам Bluetooth и плату-адаптер, на которую он установлен. На этой плате установлен стабилизатор питания (сам Bluetooth модуль питается от 3.3 Вольта) и светодиод индикации установки связи (при установленной связи светит непрерывно, при отсутствии моргает). В принципе ничего не мешает использовать Bluetooth модуль отдельно от платы-адаптера (есть в продаже и в таком исполнении), но мне так было удобнее.
Дальше надо было этот модуль как то запустить, подал питание, включил в BlueSoleil поиск устройств, почти сразу увидел новое устройство в окружении, кликнул, ввел стандартный для этого модуля код 1234, на плате непрерывно засветился светодиод, а в BlueSoleil стала активной кнопка последовательных портов.
После клика по этой кнопке, меня радостно уведомили, что у меня теперь есть COM5.
Первым делом решил проверить ток, потребляемый данным устройством.
У устройства есть 2 режима, активный и спящий, с низким потреблением.
В спящий режим устройство автоматически переходит через 5 секунд неактивности, просыпается при поступлении любой команды.
В спящем режиме чуть больше чем 4мА. Думаю, что в этом режиме, больше половины это светодиод и стабилизатор 3.3, если их исключить, то ток будет еще меньше.
После этого я соединил контакты RX и TX модуля между собой и проверил наличие эха в терминале (я использую Putty). Связь проходит без проблем, Проверил дальность, в пределах комнаты работает, если для кого то важно, то могу проверить на большей дистанции, но проверка не будет объективной, так как дальность зависит и от Bluetooth адаптера в компьютере.
На этом мои познания закончились и я полез в инет за инструкциями по работе с этими модулями.
Полазив по инету, я узнал, что есть много модификаций таких модулей, покупая, я просто прочел на Али, что модуль может работать только как клиент, существуют модули, которые могут работать как мастер, но мне такие не были нужны.
Система команд модулей (не всех, так как система команд зависит от прошивки, есть HC-05 и Linor), У прошивки HC-05 (модули HC-03/HC-05) одни команды (их много), у прошивки Linvor (модули HC-04/HC-06) другие команды (всего три AT-команды). Также, различна методика работы с AT-командами.
Кстати, при отправке команды модулю, надо ее отсылать целиком, т.е. сначала набрать всю команду, потом отослать, иначе модуль команду не воспримет. Я сначала попробовал это делать при помощи терминала от Bray, получилось без проблем, но было не очень удобно.
Полазив по инету еще, вылез на страничку с довольно удобной программой конфигурирования этих модулей.
Сразу переименовал мой модуль, назвав его по имени блока питания, в который я собирался его устанавливать.
В общем открыл блок питания, отключил уже установленный адаптер COM-USB, подключил четыре проводка, запустил программу работы с блоком питания, и тут ОБЛОМ. :((((
Программа не видит мой блок питания, при том, что эхо проходит без проблем.
Потыкавшись и так и эдак я выяснил, что команда от программы в блок питания приходит, мало того, даже блок питания отвечает, но родная программа в упор не видит ответа от БП.
Расстроился я сильно, и решил использовать такой бонус как Звонок другу.
Здесь я попытался показать, что программа работает через Bluetooth, уж извините, как смог. 🙂
Программа будет дорабатываться. Скорее всего будет добавлена в этот обзор или в один из последующих, если он будет связан с этой темой (не дает мне моя жажда улучшать разные вещи, остановиться на том, что уже имею).
Резюме.
Адаптер работает без проблем, нареканий или замечаний нет, пробовал оставить на сутки, ничего не виснет, не греется. Не могу судить насчет потребляемого тока, меня более чем устроило, как и дальность работы. Цена вполне адекватная.
В дальнейших планах допиливание ПО (хотя это скорее в планах программиста), а я хочу доработать плату адаптера COM-USB так, что бы можно было использовать оба варианта подключения (естественно не одновременно) и что бы это переключение переходило автоматически. Теоретически, сигналы от модулей можно развязать банальными диодными развязками, но руки до этого еще не дошли.
На всякий случай программа для конфигурирования этих модулей.
P.S. Кто-то скажет, что лабораторный блок питания с управлением по Bluetooth это блажь, по своему он будет прав. Но блоком питания я пользуюсь не часто и он не всегда стоит на столе, а лишний провод только мешает, а так можно вообще поставить его в другом углу комнаты, включить например зарядку аккумулятора и периодически поглядывать на состояние процесса не вставая из-за рабочего стола. На мой взгляд довольно удобно.
Надеюсь мой обзор будет кому нибудь полезен.
Вместо котика.
В продолжение традиции выкладывать какой нибудь веселый видеоролик, я решил в этот раз показать не рекламу электроинструмента, а нечто другое.mysku.ru
.
Как я выше написал, во время работы над последним обзором из серии посвященной лабораторному блоку питания
mysku.ru/blog/aliexpress/24986.html
mysku.ru/blog/aliexpress/25462.html
mysku.ru/blog/aliexpress/25551.html
И косвенно mysku.ru/blog/aliexpress/24145.html
я решил было уже закрыть эту тему, но потом подумал, а зачем мне лишний кабель на рабочем столе. Нет, если устройство установлено стационарно, то кабель куда лучше, дешевле, надежнее и т.п. но если блок питания я использую относительно редко (по крайней мере гораздо реже паяльника, например), то лишний кабель, который к тому же может попасть под тот же паяльник, мне совсем будет неудобен.
Подумал и заказал платку Bluetooth адаптера.
Но будем последовательны.
Платка была заказана 26 июня, 28 числа пришло уведомление, что продавец отправил мою посылку, а уже 29 она начала отслеживаться, на мой взгляд очень оперативно. 11 июля я получил свою посылку на почте, на мой взгляд довольно оперативно. Правда после этого она месяц лежала у меня нетронутой, не было времени ею заниматься, но вот недавно у меня наконец то дошли руки поэкспериментировать с ней.
Пришла она в беленьком конвертике (уже так привык к желтым, что было даже непривычно).
У устройства есть 2 режима, активный и спящий, с низким потреблением.
В спящий режим устройство автоматически переходит через 5 секунд неактивности, просыпается при поступлении любой команды.
В рабочем режиме потребление от 5 Вольт чуть больше, чем 20мА.
На этом мои познания закончились и я полез в инет за инструкциями по работе с этими модулями.
Полазив по инету, я узнал, что есть много модификаций таких модулей, покупая, я просто прочел на Али, что модуль может работать только как клиент, существуют модули, которые могут работать как мастер, но мне такие не были нужны.
Здесь я нашел часть информации по модулям, немного скопирую сюда.
Какие бывают модули —
Полазив по инету еще, вылез на страничку с довольно удобной программой конфигурирования этих модулей.
Подключил модуль через переходник.
Все завелось без проблем, кстати по умолчанию настройки модуля стандартные для многих устройств — 9600,n,8,1
Из программы я узнал, что модуль мой с версией прошивки 1.8, хорошо это или плохо я не знаю, пишу просто для информирования, вдруг кому-то будет полезно.
Резюме.
Адаптер работает без проблем, нареканий или замечаний нет, пробовал оставить на сутки, ничего не виснет, не греется. Не могу судить насчет потребляемого тока, меня более чем устроило, как и дальность работы. Цена вполне адекватная.
Минусов пока не обнаружил.
В дальнейших планах допиливание ПО (хотя это скорее в планах программиста), а я хочу доработать плату адаптера COM-USB так, что бы можно было использовать оба варианта подключения (естественно не одновременно) и что бы это переключение переходило автоматически. Теоретически, сигналы от модулей можно развязать банальными диодными развязками, но руки до этого еще не дошли.
На всякий случай программа для конфигурирования этих модулей.
P.S. Кто-то скажет, что лабораторный блок питания с управлением по Bluetooth это блажь, по своему он будет прав. Но блоком питания я пользуюсь не часто и он не всегда стоит на столе, а лишний провод только мешает, а так можно вообще поставить его в другом углу комнаты, включить например зарядку аккумулятора и периодически поглядывать на состояние процесса не вставая из-за рабочего стола. На мой взгляд довольно удобно.
Надеюсь мой обзор будет кому нибудь полезен.
В продолжение традиции выкладывать какой нибудь веселый видеоролик, я решил в этот раз показать не рекламу электроинструмента, а нечто другое.www.kirich.blog
Нам понадобится:
Блютуз модуль : http://ali.pub/2jfirb
Контактные провода: http://ali.pub/2jfiyi
Блютуз свисток для компьютера: http://ali.pub/2jfj3y
Программатор: http://ali.pub/2jfkny
Для начала давайте разберемся что такое блютуз.
Bluetooth | |
Уровень (по модели OSI) | Физический |
---|---|
Назначение протокола | Беспроводная связь между устройствами на расстоянии до 100 м (класс I) |
Спецификация | IEEE 802.15.1 |
Разработчик | Bluetooth SIG |
Bluetooth (от слов англ. blue — синий и tooth — зуб; произносится /bluːtuːθ/), блюту́с[1] — производственная спецификация беспроводных персональных сетей (Wireless personal area network, WPAN). Bluetooth обеспечивает обмен информацией между такими устройствами, как персональные компьютеры (настольные, карманные, ноутбуки), мобильные телефоны, принтеры, цифровые фотоаппараты, мышки, клавиатуры, джойстики, наушники, гарнитуры на надёжной, бесплатной, повсеместно доступной радиочастоте для ближней связи. Bluetooth позволяет этим устройствам сообщаться, когда они находятся в радиусе до 10 м друг от друга (дальность сильно зависит от преград и помех), даже в разных помещениях.
Теперь зная что блютуз служит для построения сетей и обмена данными между устройствами, мы будем его использовать для соединения между собой CNC (ЧПУ) станка и компьютера или телефона или планшета и ноутбука.
Так как я использую прошивку grbl на платформе arduino для управления ЧПУ, то и подключать будем к станку блютуз модуль подходящий для arduino, а именно блютуз модуль HC-06.
Перед подключением Блютуз модуля к ардуино, нужно убедиться, на одинаковой ли скорости COM порта работают блютуз модуль и ардуино.
Если вы используете прошивку grbl 0.8, то ничего менять не нужно, но если grbl 0.9 и выше, то скорость COM порта ардуино станет 115200, а по умолчанию на модуле скорость 9600.
Вот нам и понадобится на самом блютуз модуле поменять скорость порта.
Для настройки Bluetooth-модулей существуют специальные АТ-команды, с помощью которых мы можем устанавливать необходимые параметры модуля.
AT-командами мы можем изменить скорость COM порта или изменить название Bluetooth устройства или узнать или поменять пин код для сопряжения.
Для того чтоб подключить блютуз модуль к компьютеру для ввода AT-команд нам понадобится программаторFTDI ссылка на него в начале статьи. Схема подключения я думаю тут ненужна. Подключать нужно gnd к gnd, 5в к 5в, rx к tx и tx к rx.
После подключения нам понадобится программа HMComAssistant для ввода AT команд и программирования нашего модуля. Скачать: https://yadi.sk/d/eVzPmnh63Wab5R
Ну и здесь я приведу некоторые AT-команды для изменения настроек блютуз модуля:
АТ-команда | Ответ модуля | Комментарий |
---|---|---|
AT | ОК | Используется для проверки связи, как правило перед выполнением любых операций сперва используется данная команда для проверки связи. |
AT+BAUD1 | OK или OK1200 | Устанавливает скорость передачи данных в 1200 бод |
AT+BAUD2 | OK или OK2400 | Устанавливает скорость передачи данных в 2400 бод |
AT+BAUD3 | OK или OK4800 | Устанавливает скорость передачи данных в 4800 бод |
AT+BAUD4 | OK или OK9600 | Устанавливает скорость передачи данных в 9600 бод |
AT+BAUD5 | OK или OK19200 | Устанавливает скорость передачи данных в 19200 бод |
AT+BAUD6 | OK или OK38400 | Устанавливает скорость передачи данных в 38400 бод |
AT+BAUD7 | OK или OK57600 | Устанавливает скорость передачи данных в 57600 бод |
AT+BAUD8 | OK или OK115200 | Устанавливает скорость передачи данных в 115200 бод |
AT+BAUD9 | OK или OK230400 | Устанавливает скорость передачи данных в 230400 бод |
AT+BAUDA | OK или OK460800 | Устанавливает скорость передачи данных в 460800 бод |
AT+BAUDB | OK или OK921600 | Устанавливает скорость передачи данных в 921600 бод |
AT+BAUDC | OK или OK1382400 | Устанавливает скорость передачи данных в 1382400 бод |
AT+NAME | +NAME=test | Возвращает текущее имя модуля |
AT+NAMEiarduino_BLU | +NAME=test OK | Устанавливает новое имя модуля “test“ |
AT+PIN | +PIN=000000 | Возвращает текущий пароль, в данном случае пароль “000000” |
AT+PIN123456 | +PIN=123456 OK | Устанавливаем новый пароль, в данном случае пароль “123456” |
AT+VERSION | +VERSION=Firmware V3.0.6,Bluetooth V4.0 LE | Возвращает версию прошивки , в данном случае пароль “Firmware V3.0.6,Bluetooth V4.0 LE” |
AT+RESET | +RESET OK | Программная перезагрузка |
AT+HELP | ——– | Возвращает список всех доступных АТ-команд |
После изменения скорости ком порта и установки пин кода для сопряжения. (по умолчанию пин код для сопряжения “1234”, давайте подключим модуль к ардуино.
И так как я использую CNC shield v 3.0. То и схему подключения приведу к нему.
Я не буду создавать свою схему, а возьму с одной статьи. Да простит меня ее создатель.
Схема конечно не очень ровная, но на мой взгляд довольно понятная.
Итак для чего в схеме используются резисторы? Ардуино имеет 5 вольтовую логику, это значит, что на все выходы свои ардуино посылает напряжение 5В. Но на модуле написано LEVEL 3.3v это значит что Блютуз требует 3.3В, но никак не 5в. Поэтому и подключаются резисторы, чтобы понизить напряжение и предотвратить выход из строя блютуз модуль.
Но я решил использовать напрямую без резисторов, посмотрим насколько долго прослужит модуль, некий краш тест устроим.
Для управления CNC (ЧПУ) станком с телефона или планшета я использовал программу “Grbl controller” она бесплатная и довольно многофункциональная. В видео приведенном ниже я мельком показывал как управляется станочек с этой программы.
Но если вы будете подключаться с компьютера, то тут есть нюанс, при сопряжении соединения с модулем, в устройствах появится два новых COM порта. У меня это COM6 и COM7. Так вот один из них служит для отправки данных, а другой для приема. Поэтому ненужно пугаться и просто попробовать подключиться к одному если ничего не произойдет то подключитесь к другому.
Но если что-то непонятно, но наглядно я это показал в видео:
psenyukov.ru
Сегодня мы поговорим о настройке Bluetooth-модуля HC-06 из Arduino IDE.
АТ-команда | Ответ модуля | Комментарий |
---|---|---|
AT | OK | Используется для подтверждения связи |
AT+VERSION | OKlinvorV1.8 | Версия прошивки (может отличаться) |
AT+NAMEamperka | OKsetname | Задаёт имя модуля «amperka» |
AT+PIN1234 | OKsetPIN | Устанавливает пароль модуля в 1234 |
AT+BAUD1 | OK1200 | Устанавливает скорость передачи данных в 1200 бод |
AT+BAUD2 | OK2400 | Устанавливает скорость передачи данных в 2400 бод |
AT+BAUD3 | OK4800 | Устанавливает скорость передачи данных в 4800 бод |
AT+BAUD4 | OK9600 | Устанавливает скорость передачи данных в 9600 бод |
AT+BAUD5 | OK19200 | Устанавливает скорость передачи данных в 19200 бод |
AT+BAUD6 | OK38400 | Устанавливает скорость передачи данных в 38400 бод |
AT+BAUD7 | OK57600 | Устанавливает скорость передачи данных в 57600 бод |
AT+BAUD8 | OK115200 | Устанавливает скорость передачи данных в 115200 бод |
AT+BAUD9 | OK230400 | Устанавливает скорость передачи данных в 230400 бод |
AT+BAUDA | OK460800 | Устанавливает скорость передачи данных в 460800 бод |
AT+BAUDB | OK921600 | Устанавливает скорость передачи данных в 921600 бод |
AT+BAUDC | OK1382400 | Устанавливает скорость передачи данных в 1382400 бод |
wiki.amperka.ru
Все знают эти bluetooth модули. Так как схема включения не сложная, по быстренькому подключил модуль к переходнику USB<->UART.
Модуль упорно отказывался работать. Постоянно зависал терминал, а на команды, описанные в даташите, модуль не отвечал.
После недолгих поисков, оказалось, что у этой платки есть несколько прошивок. Итак:
У меня оказался модуль HC-06, и я подумал, что проблемы с зависанием связаны с этим. Для перепрошивки модуля, кустарно собрал программатор:
Питание взял от того-же переходника (в ft232r есть стабилизатор на 3.3 вольта). Я немного упростил ту схему, что гуляет в интернетах. Вот, что получилось:
Подключать нужно 1:1, то есть MOSI к SP_MOSI, итп.
Дальше я нашел компьютер с LPT портом и установил BlueLab. Скачать его можно вот тут, правда придется зарегистрироваться.
После установки голуболаба, нужно прописать путь к нему.
У меня был небольшой фэйл, который отнял довольно много времени. После запуска перепрошивки, голуболаб ругался, на то, что не может найти LPT порт. Проблема решилась переводом LPT порта в режим EPP.
Сам процесс прошивки прост до безобразия – возьмите вот этот архив:
И запустите update.bat, он
Модуль перепрошился отлично и начал отвечать на команды HC-05, но проблема с терминалом не исчезла. Как оказалось, во всем виноват сам терминал. Я использовал терминал bray’а. Я не знаю, что он там делает при инициализации, но при попытке отослать любой символ в порт, он наглухо вис.
Я взял другой терминал – termite и… все заработало. Получается, я зря перепрошивал модуль – новые AT команды мне не нужны. Возможно, вам пригодится.
bsvi.ru