Вопросы и ответы

Вопрос 1. Два BLUNO/BLE устройства не могут правильно взаимодействовать друг с другом.

Ответ: Общие предложения по решению проблемы связи:

  1. Обновите прошивку до последней версии;
  2. Примените настройку по умолчанию АТ-командой AT+SETTING=DEFAULT;
  3. Проверьте, правильно ли задействован последовательный порт. Например, Leonardo и Mega содержат по несколько последовательных портов. Для ввода/вывода через цифровые контакты 0 и 1 у Leonardo используется Serial1.****() вместо Serial.****(), а для USB-порта - Serial.****().
  4. Проверьте соответствие настроенной скорости последовательного порта (скорость 38400 для плат 8 МГц)
    • В программе > Serial*.begin(?)
    • BLE-модули > настройки скорости в бодах
  5. Перезагрузите модуль.

Вопрос 2. Почему я не могу соединить Bluno с моим iPhone/Android телефоном (5.1 версия)? Я уверен, что он поддерживает BLE-устройства (версия системы и BLE-модуль). И он запрашивает пароль, что ещё за пароль?

Ответ: 1) Пожалуйста, подключитесь к вашему Bluno, воспользовавшись разработанным DFRobot приложением, оно не запрашивает пароль. В Bluetooth настройках вашего телефона касанием выберите название вашего Bluno-устройства и попробуйте удалить его из списка обнаруженных. При этом совсем не важно, установлено соединение или нет. А затем, через приложение запустите поиск и подключитесь.

2) Пароль необходим при HID-соединении. Когда вы устанавливаете HID-режим с Bluno-устройством, вводить пароль или PIN-код не потребуется. HID-режим должен быть предварительно настроен с помощью АТ-команд. Воспользуйтесь командой AT+FSM=FSM_HID_USB_COM_BLE_AT.

3) Пожалуйста, помните, что другие приложения для BLE-связи могут быть НЕ совместимы. Если есть желание самостоятельно разработать подобное приложение, вы можете воспользоваться открытым исходным кодом BlunoBasicDemo, изменяя и настраивая его по своему усмотрению.

 

Вопрос 3. Я пробую использовать GoBLE на моём iPhone (iPhone 6S) для соединения с моим Romeo BLE V1. И у меня не получается совместить в пару GoBLE и Romeo. Когда я нажимаю кнопку поиска Bluetooth-устройств, iPhone просто не видит никакое устройство. Даже пробовал перезапустить Romeo и обновить прошивку до версии 1.9, но ничего не вышло.

Ответ: 1) Проверьте, поддерживает ли ваш телефон BLE. Совместимы только устройства на ОС Android 4.3+ и iOS 7+.
2) Попробуйте войти в режим АТ-команд и проверить командой "AT+SN=?", заблокирован ли ваш BLE. Полученный ответ "ON" говорит, что плата исправна, ответ "OFF" означает противоположное.
3) Если ответ "ON", позаимствуйте у своих друзей совместимый Android/iOS телефон и попробуйте ещё раз. Должно получиться.

 

Вопрос 4. Почему я не могу загрузить свой код по беспроводной связи в конструкции из Mega2560 + Mega Sensor Shield v2.4 + BLE link (в разъёме COM0 платы расширения), ранее используемое для программирования других Bluno? Т.е. все модули установлены друг в друга.

Ответ: 1) Извините, но такое сочетание плат при подключении через BLE НЕ поддерживается. Последовательный порт "0" платы расширения напрямую соединён с контактами ввода/вывод 0 и 1 модуля Mega. Вы можете воспользоваться другими BLE-устройствами для беспроводного программирования Mega2560.

2) Если же у вас Плата расширения DFRobot v7.1, то проблем не возникнет. Только помните, что вам нужно перевести рычажок встроенного в плату расширения переключателя в положение PROG, когда вы хотите обновить связанное с ней BLE-устройство. И наоборот, переведите в положение RUN, чтобы расширение работало в обычном режиме.

3) Убедитесь, что модуль BLE link корректно установлен в расширение (не реверсивно).

4) Требуется подходящий источник питания. Один из пользователей пробовал подключать адаптер 5В/8А к плате BLE, но все попытки оказались тщетны. Когда же адаптер был заменён на обычный USB-кабель, подключенный к компьютеру, проблема оказалась решена.

 

Вопрос 5. Возможно ли прошить программное обеспечение Bluno в новый чип СС2540? Я хочу изготовить свою собственную плату с абсолютно новыми CC2540 и ATmega328.

Ответ. Конечно, для этого существует общедоступный метод. Пожалуйста, прочитайте раздел "Как прошить новый CC2540 чип с сервисом DFRobot BLE".

 

Вопрос 6. Как использовать функционал IBeacon?

Ответ. Вы можете включать/выключать функции IBeacon, изменять параметры MAJOR/MINOR с применением АТ-команд. Или загрузите приложение для обнаружения IBeacon-маяков с целью проверки BLE-устройств в роли метки IBeacon. К сожалению, не поддерживаются такие функции, как изменение UUID, получение информации об уровне заряда аккумулятора и т.д. Хорошей новостью для разработчиков станет свободно выпускаемая прошивка, благодаря которой вы можете добавить в Bluno больше интересных функций.

 

Вопрос 7. Возможно ли подключить несколько периферийных BLE к одному ЦЕНТРАЛЬНОМУ?

Ответ. Нет, возможность соединять несколько устройств в одну сеть пока что не реализована. Устанавливать связь допускается только между двумя устройствами, центральным и периферийным. Вы можете поочерёдно устанавливать BLE-связь с каждым из периферийных устройств.

 

Вопрос 8. Я пробую отправить данные из Bluno в телефон, но возникает проблема с iOS-устройствами. Устройства получают неверные данные. Имеется ввиду, что они нечитаемы.

Ответ. Пожалуйста, воспользуйтесь командой AT+UART=115200 для установки в BLE-устройствах (Bluno/Bluno nano) скорости 115200 бит в секунду.

 

Вопрос 9. У меня не получается загрузить любой скетч с моего компьютера в Bluno.

Ответ. Если у вас имеется две Arduino-платы, при этом одна из них работает хорошо, а вторая нет, причиной бездействия последней может быть её поломка. Также, некоторые антивирусные программы некорректно работают с Arduino, советуем их на время отключать.

Список верных действий для загрузки скетча (каждый шаг может стать решением в сложившейся проблеме):

  • Установите на компьютер редактор Arduino IDE, используя файл автоматической установки. Если Arduino IDE извлечён из архивного файла, вам нужно самостоятельно установить драйвера для каждой Arduino-платы. Иначе, вы не сможете обнаружить доступный COM-порт, необходимый для обращения к плате. При установке нужного драйвера, система может сообщить об отсутствии подписи в сертификате драйвера. Отключите проверку подписи.
  • Установился другой BLE-драйвер (в Диспетчере устройств отображается Bluetooth-устройство, но без порта COMxx). Удалите устройство из системы и установите драйвер вручную.
  • Подключите вашу Arduino к компьютеру с помощью USB-кабеля. Убедитесь, что USB-кабель исправен.
  • Возможно, вы забыли верно указать редактору "Плату" и "Порт" (частая причина ошибки загрузки). Выберите правильные "Плату" и "Порт" в меню "Инструменты/Tools".
  • Последовательный порт занят. (Ошибка: avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x7d). Отключите все проводные соединения от цифровых контактов 0 и 1. На платах UNO/Mega/Bluno последовательный порт совмещён с портом USB. С Leonardo такой проблемы не возникнет, так как её цифровые выводы 0, 1 используют Serial1.
  • Если плата установила связь с другим BLE/Bluetooth 2.0 контроллером и горит индикатор Link/Pair, отключите все возможные BLE-соединение.
  • Некоторые неподходящие настройки АТ-команд. Прочитайте "Вопрос 1, шаги 1 и 2".

Нажмите в редакторе "Загрузить" для записи скетча. Если загрузка не произошла, существует большая вероятность утери загрузчика, предварительно записанного в основной микроконтроллер. Вы можете воспользоваться внешними программаторами для записи в память контроллера вашего скетча или возврата загрузчика. (Как прошить новый CC2540 чип с сервисом DFRobot BLE)

 

Вопрос 10. Не получается загрузить новую версию прошивки в Bluno, каждый раз приложение сообщает "serial timeout".

Ответ. Возможны две причины этой ошибки.

  1. Программа может не распознать последовательный порт, если вы отсоединили вашу Bluno от ПК при запущенной программе. Переподключите вашу Bluno к ПК, перезапустите программу и попробуйте снова.
  2. Bluno НЕ находится в режиме обновления прошивки, если вы не видите свечения двух светодиодов (PAIR и LINK), или вы забыли нажать кнопку BOOT перед соединением Bluno с ПК.

 

Вопрос 11. Как я могу настроить одно BLE-устройство в режим Главный (Master) и автоматически создать соединение с другим BLE-устройством, настроенным в режим Ведомый (Slave)?

Ответ. Некоторые подсказки вы могли ранее найти в разделе "Список АТ-команд Bluno".

  1. Как уже выше упоминалось, до тех пор, пока два модуля настроены на Главный (Master) и Ведомый (Slave), они самостоятельно будут устанавливать взаимное соединение. Одновременная связь поддерживается только двумя BLE-устройствами, не более.
  2. Во избежании возможной проблемы ошибочного соединения с находящимися рядом другими BLE-устройствами, достаточно привязать к Главному устройству MAC-адрес Ведомого. Воспользуйтесь командой AT+MAC=?, чтобы узнать адрес BLE-устройства A. Задайте команду AT+BIND=0x00*********1 в BLE-устройство B для привязки BLE-устройства A. Таким образом, вы установите соединение для определённых BLE-устройств, привязав A к B. Предварительно, каждое из устройств должно быть настроено отдельно на роль Главного и Ведомого.

 

Вопрос 12. Я пробую установить связь между моим Bluno Beelte (в роли ЦЕНТРАЛЬНОГО) и другим BLE Arduino-устройстом Adafruit Bluefruit (nRF51822). У меня уже есть всё необходимое для этого. Bluefruit BLE настроен на периферийный режим (его прошивка может работать только в периферийном режиме). Скажите, почему соединение не хочет автоматически устанавливаться?

Ответ. Здесь присутствует проблема совместимости. Продукты линейки DFRobot полностью совместимы между собой, но не с другими брендами. Для полноценной работы с BLE-продуктами нужен компьютер (Linux, Windows, Mac и т.д.) с поддержкой BLE-функционала.

 

Вопрос 13. Компьютер перестал определять Bluno - неизвестное устройство в Диспетчере устройств. Последние пару дней я успешно использовал его для программирования и запуска простых проектов на Bluno. Вчера мой компьютер перестал распознавать Bluno. В подключенном состоянии светиться оранжевый светодиод "ON" и зелёный "L" светодиод мигает три раза. Оранжевый светодиод остаётся включенным, отображая получаемое платой питающее напряжение. Компьютер (Surface Pro 3, Windows 10) не распознаёт устройство ни в одном из COM-портов и не видит его как неизвестное устройство.

Ответ. Скорее всего, повреждён или удалён загрузчик в микроконтроллере. Попробуйте ознакомиться с разделом "Как прошить новый CC2540 чип с сервисом DFRobot BLE" для решения проблемы. Возможные причины и как их избежать:

  1. Не запускайте ваш проект (Arduino) при недостаточном питании. Arduino может самостоятельно перезагрузиться, при этом высока вероятность потери загрузчика.
    • Когда Arduino питается от батареек, необходимо обеспечить отключение подачи напряжения, так как напряжение батареек может опустится ниже минимального необходимого.
    • Когда с Arduino совмещаются модули с высоким энергопотреблением, такие как серво, моторы, большие экранные модули. Лучшим решением будет подключение к внешним источникам напряжения. Простого USB-питания может оказаться не достаточно, особенно, когда сервопривод работает с нагрузкой.
  2. Обязательно учитывайте максимальный выходной ток самого источника питания. Например, адаптер или аккумулятор может обеспечить ток 500 мА, а ваша система потребляет 1А.
  3. Желательно закрывать "Монитор последовательно порта" перед отключением USB-кабеля от Arduino-платы.
  4. Не подключайте проводные соединения при включенном питании платы. Хоть Arduino и относится к низковольтным системам, некоторые ёмкостные компоненты/модули платы могут вызвать короткое замыкание, и ваша Arduino-плата окажется дефектной/сгоревшей.
  5. Всегда избегайте короткого замыкания от попадания воды / ошибочного проводного соединения / неосторожных действий с платой.
  6. Все устройства должны правильно подключаться к питающему напряжению. Не подключайте +5В в контакт GND или "минус" от источника питания на вывод "5В". Некоторые модели плат имеют защиту от переполюсовки, а некоторые - нет, поэтому платы легко испортить.
  7. В большинстве случаев, для правильной работы устройств, все GND (заземление) источников питания / плат / датчиков / исполнительных механизмов в одном проекте должны быть соединены между собой.
  8. Обеспечьте надёжность всех проводных подключений, в том числе USB-кабеля. Плохой кабель / неверное соединение могут заставить вас смутится, когда произойдёт что-то странное.

 

Вопрос 14. Про UUID. Я пробую установить соединение с Bluno Nano V1.3, что такое UUID, необходимое для использования в Android Studio?

Ответ. Читайте здесь.

 

Вопрос 15. Я запустил приложение BlunoBasicDemo на своём телефоне. Когда оно работает в фоновом режиме, связь теряется. Я попробовал на аналогичном BLE-устройстве с другим BLE-приложением, поддерживающим соединение в фоновом режиме. Мой вопрос заключается в том, как обнаружить и совместить в пару Bluno, если приложение находится в фоновом режиме?

Ответ. Этого можно добиться, модифицируя BlunoBasicDemo, но вам потребуются знания о программировании iOS/Android. Помочь в решении проблемы помогут сторонние библиотеки BLE-приложений: https://github.com/search?utf8=✓&q=iOS+ble

 

Вопрос 16. Как задействовать режим HID в Bluno?

Ответ. Существует раздел, демонстрирующий использование Bluno в роли HID (класс устройств USB для взаимодействия с человеком).

Примечание! Известна ошибка, не позволяющая работать с Android-устройствами. На ПК с поддержкой BLE-функционала и на iOS-устройствах всё совместимо.