Вопрос 1. Два BLUNO/BLE устройства не могут правильно взаимодействовать друг с другом.
Ответ: Общие предложения по решению проблемы связи:
- Обновите прошивку до последней версии;
- Примените настройку по умолчанию АТ-командой AT+SETTING=DEFAULT;
- Проверьте, правильно ли задействован последовательный порт. Например, Leonardo и Mega содержат по несколько последовательных портов. Для ввода/вывода через цифровые контакты 0 и 1 у Leonardo используется Serial1.****() вместо Serial.****(), а для USB-порта - Serial.****().
- Проверьте соответствие настроенной скорости последовательного порта (скорость 38400 для плат 8 МГц)
• В программе > Serial*.begin(?)
• BLE-модули > настройки скорости в бодах - Перезагрузите модуль.
Вопрос 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".
Ответ. Возможны две причины этой ошибки.
- Программа может не распознать последовательный порт, если вы отсоединили вашу Bluno от ПК при запущенной программе. Переподключите вашу Bluno к ПК, перезапустите программу и попробуйте снова.
- Bluno НЕ находится в режиме обновления прошивки, если вы не видите свечения двух светодиодов (PAIR и LINK), или вы забыли нажать кнопку BOOT перед соединением Bluno с ПК.
Вопрос 11. Как я могу настроить одно BLE-устройство в режим Главный (Master) и автоматически создать соединение с другим BLE-устройством, настроенным в режим Ведомый (Slave)?
Ответ. Некоторые подсказки вы могли ранее найти в разделе "Список АТ-команд Bluno".
- Как уже выше упоминалось, до тех пор, пока два модуля настроены на Главный (Master) и Ведомый (Slave), они самостоятельно будут устанавливать взаимное соединение. Одновременная связь поддерживается только двумя BLE-устройствами, не более.
- Во избежании возможной проблемы ошибочного соединения с находящимися рядом другими 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" для решения проблемы. Возможные причины и как их избежать:
- Не запускайте ваш проект (Arduino) при недостаточном питании. Arduino может самостоятельно перезагрузиться, при этом высока вероятность потери загрузчика.
• Когда Arduino питается от батареек, необходимо обеспечить отключение подачи напряжения, так как напряжение батареек может опустится ниже минимального необходимого.
• Когда с Arduino совмещаются модули с высоким энергопотреблением, такие как серво, моторы, большие экранные модули. Лучшим решением будет подключение к внешним источникам напряжения. Простого USB-питания может оказаться не достаточно, особенно, когда сервопривод работает с нагрузкой. - Обязательно учитывайте максимальный выходной ток самого источника питания. Например, адаптер или аккумулятор может обеспечить ток 500 мА, а ваша система потребляет 1А.
- Желательно закрывать "Монитор последовательно порта" перед отключением USB-кабеля от Arduino-платы.
- Не подключайте проводные соединения при включенном питании платы. Хоть Arduino и относится к низковольтным системам, некоторые ёмкостные компоненты/модули платы могут вызвать короткое замыкание, и ваша Arduino-плата окажется дефектной/сгоревшей.
- Всегда избегайте короткого замыкания от попадания воды / ошибочного проводного соединения / неосторожных действий с платой.
- Все устройства должны правильно подключаться к питающему напряжению. Не подключайте +5В в контакт GND или "минус" от источника питания на вывод "5В". Некоторые модели плат имеют защиту от переполюсовки, а некоторые - нет, поэтому платы легко испортить.
- В большинстве случаев, для правильной работы устройств, все GND (заземление) источников питания / плат / датчиков / исполнительных механизмов в одном проекте должны быть соединены между собой.
- Обеспечьте надёжность всех проводных подключений, в том числе 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-устройствах всё совместимо.