Цена:
Программируемый контроллер DFRobot BLUno, Arduino-совместимый
Вступление
Пришло время появления автономных средств дистанционного управления и передачи информации на расстоянии в ваших Arduino-проектах. Модуль BLUno наделён способностью связывать и синхронизировать любые устройства, поддерживающие стандарт Bluetooh 4.0, используя для коммуникации с ними функции беспроводной передачи данных. Таким устройством может стать и смартфон, и планшет, и многие другие "умные" устройства.
Аббревиатура BLUno образовалась от сокращения названий и слияния воедино двух электронных устройств: микроконтроллерной платы Uno и модуля дистанционной передачи, основанного на технологии беспроводных сетей Bluetooth (BLE). BLUno = BLE + Uno.
Модуль стал инновационным, ранее не выпускавшимся продуктом семейства BLUno, с интегрированными в популярную и широко известную в сообществе Arduino-пользователей плату Arduino Uno возможностями Bluetooth 4.0 (BLE). Оригинальный подход в комбинировании элементов позволяет расширить границы уже существующего функционала. А также предлагает разработчикам программного и аппаратного обеспечения новые возможности в создании и воплощении в жизнь самых смелых проектов, среди которых могут оказаться "умные" браслеты, "умные" шагомеры, квадрокоптеры, элементы "умного дома" или что-нибудь более невообразимое. Организация связи и координации между устройствами в режиме реального времени, поддерживающими маломощную технологию Bluetooth 4.0, и обладающими невысоким энергопотреблением, окажется совсем не сложной.
Уникальная модификация Uno разработана компанией DFRobot. Можно смело предположить, что проектирование BLUno основывалось на открытых источниках, предоставленных в свободный доступ создателями проекта Arduino. Придерживаясь методике распространения информации, взятой за основу первоисточником, проект BLUno стал полностью открытым, благодаря чему любой желающий может изменять и разрабатывать свою аппаратную платформу на основе BLE.
Совместимость
Модуль BLUno целиком и полностью совместим со всеми дополняющими платами, расширяющими возможности основной микроконтроллерной платы, и спроектированными для обычной Uno R3:
Поэтому, в будущем у вас не возникнет трудностей в поиске, подборе и коммутации необходимых в проекте дополнений, которых на сегодняшний день существует превеликое множество, включая совершенно новые расширения для линейки BLUno. Вдобавок ко всему, на основе BLUno вы сможете повторить ранее созданные проекты, примеры сборок и схем которых в большом количестве опубликованы любителями Arduino, перенести на платформу и доработать свои собственные проекты или же создать новую конструкцию, проявив фантазию и настойчивость.
Связь с устройствами
Плата поддерживает работу с устройствами на Android 4.3+ и iOS 7.0+, обладающими внутренним модулем BLE с оригинальными прошивкой и драйвером (Nexus 4+, Xaiomi 2s, Samsung Galaxy s4, Samsung Galaxy note 3, iPhone 4s+, iPad 3+, iPad Mini, iPod 5го поколения и другие. iPhone 4s не 100% совместим). Плата не совместима с другими брендированными BLE модулями/устройствами, имеющими прочую от CC2540 модификацию, а также всеми устройствами с версией Bluetooth 2.0
Беспроводная связь построена на микроконтроллере TI CC2540 Bluetooth 4.0, благодаря чему модуль BLUno позволяет применять беспроводной способ программирования и загрузки программ в основной контроллер ATmega328P. Организовать связь с персональным компьютером по BLE возможно только при наличии аналогичного чипа, также встречающегося в Bluetooth-приёмо/передатчике HM-10. Встроенная связь по Bluetooth вашего компьютера использует другой протокол и не совместима с платой BLUno. Реализация HID-функционала возможна с помощью USB-адаптера CSR Bluetooth 4.0 (BLE-донгла).
В модуле BLUno реализована схема беспроводного соединения только с одним устройством на чипе TI СС2540. Соединить несколько устройств в одну сеть у вас не получиться. Изначально, модуль настроен на установление BLE-связи по запросу от любого устройства. Чтобы BLUno мог создавать соединение с определённым BLUNO-устройством, каждый из них должен быть запрограммирован соответственно в роль ГЛАВНОГО и ВЕДОМОГО. Тогда оба устройства будут соединяться автоматически. Если же рядом находятся несколько BLUNO-устройств, лучшим решением станет привязка к определённому MAC-адресу. Более подробно о настройках можно узнать, ознакомившись с разделом "Настройка BLE с использованием AT команд".
BLUno позволяет устанавливать взаимосвязь с маяками IBeacon. Подробное описание о настройках модуля для работы с маяками, можно узнать в разделе "Настройка BLE с использованием AT команд".
Как прошить новый CC2540 чип с сервисом DFRobot BLE
Обзор платы
Светодиодная индикация:
Питание модуля осуществляется тремя вариантами: USB-разъём 5В, разъём внешнего источника питания или выводы VIN+GND с напряжением 7-12В, и контакты 5V+GND, к которым подаётся строго не превышающее 5В напряжение. В случае одновременного использования нескольких источников, модуль самостоятельно выбирает и переключается на самое высокое входное напряжение. Выводы 3.3В и 5В могут послужить источником питания для подключаемый расширений.
Принципиальная схема Arduino Bluetooth 4.0 (BLE) модуля.
Распиновка и назначение выводов BLUno
Интерфейсы программирования
Широтно-импульсная модуляция, позволяющая управлять уровнем исходящего напряжения, расположена на контактах 3, 5, 6, 9, 10, 11.
Аналоговые входы A0-A5 могут быть использованы как цифровые. Каждый из них имеет разрешение 10-бит и измеряется значениями от "нуля" до 5 В (1024 различных значений).
AREF - устанавливает опорное (эталонное) напряжение для аналоговых входов. Контакт используется вместе с функцией analogReference(), которая выполняет пропорциональное сравнение напряжений на выводе AREF с аналоговым входом с генерацией значений 0..1023. Например, опорное напряжение устанавливается 5 В, а на входе аналогового контакта подается 2,5 В. Результатом выполнения сравнения станет полученное значение 512.
IOREF - соединён напрямую с выходом напряжения 5 В. Контакт необходим с целью передачи информации об используемом системой напряжении дополнительным модулям или расширениям, имеющих аналогичный ответный вход, для их автоматической подстройки под общее рабочее напряжение.
Вывод "Reset" служит для управляемого аппаратного сброса микроконтроллера. Физическая кнопка "Reset" позволяет выполнить сброс вручную.
Кнопка "Boot" переводит модуль в режим прошивки контроллера TI CC2540.
Разъем ICSP создан для внутрисистемного последовательного программирования и предоставляет непосредственный доступ к программированию центрального микроконтроллера ATmega328 с применением внешних программаторов.
Первое подключение
Ваше устройство уже готово к работе. В большинстве случаев, нужный плате драйвер установиться автоматически, для этого необходимо перед подключением BLUno загрузить и установить средство разработки ARDUINO IDE.
Необходимый драйвер, создающий в операционной системе виртуальный COM-порт, включён в состав программы и ваш модуль должен определиться как Arduino Uno. Если драйвер не установился (не определился как Arduino Uno (COMxx) в диспетчере устройств), установите драйвер вручную. Или установился другой BLE-драйвер (отобразился как Bluetooth, но без порта COMxx в диспетчере устройств), удалите устройство из системы и установите драйвер вручную.
Примечание! Модуль BLUno может быть не совместим с внешним USB-хабом, используйте непосредственно USB-порт вашего компьютера.
Программирование
Традиционным способом считается проводное программирование, когда микроконтроллерная плата подключена к компьютеру с помощью USB-кабеля. В ранее загруженном редакторе ARDUINO IDE осуществляются несложные настройки платы:
Теперь можно создавать свои программы или загружать примеры, имеющиеся для ознакомления в самом редакторе: "Файл -> Примеры". Попробуйте нижеприведённый код и помигайте светодиодом "L" на BLUno:
int ledPin = 13; // Определяем цифровой контакт светодиода
void setup()
{
pinMode(ledPin, OUTPUT); // Устанавливаем для контакта режим вывода информации
}
void loop()
{
digitalWrite(ledPin, HIGH); // Включаем светодиод
delay(1000); // Ждём 1 секунду
digitalWrite(ledPin, LOW); // Выключаем светодиод
delay(1000); // Ждём 1 секунду
}
Допускается программирование центрального контроллера ATmega328P посредством подключения внешних программаторов к специальным ICSP-разъёмам на плате.
Демонстрация основ BLUNO
Раздел посвящен главной функции модуля BLUno. На основе демонстрационного приложения для ОС Android, вы сможете разработать своё собственное.
Необходимые инструменты:
Шаги:
void setup() {
Serial.begin(115200); //Инициализация последовательного порта
}
void loop() {
if (Serial.available()) {
Serial.write(Serial.read());//получает отправленные символы
Serial.println(); //выводит строку переданных символов
}
}
Примечание! Если BLUno соединён по Bluetooth-связи, то на плате горит светодиод LINK и последовательный порт занят BLE. Для загрузки в модуль какой-либо Arduino-программы отключите Bluetooth-соединение.
Для Android
Для iOS
Пример того, как можно сочетать функционалы BLE и HID, можно найти здесь.
Настройка BLE с использованием AT команд
Для версий 1.8 или позднее. Переключатель режима "АТ" бесполезен в прошивке версии 1.8 и новее:
Для версий 1.7 или ранее:
Беспроводное программирование с помощью BLE
В отличии от основного проводного способа программирования, в этом разделе вы научитесь загружать ваши Arduino-программы по воздуху с помощью BLE. Такой способ окажется крайне удобным в тех случаях, когда проект на основе BLUno полностью собран и завершён, и вам не хочется или неудобно разбирать конструкцию и вынимать плату для подключения к компьютеру.
Нам потребуются:
1. Существуют две разные функции устройства BLE: ЦЕНТРАЛЬНЫЙ и ПЕРИФЕРИЙНЫЙ. Чтобы настроить правильную связь между ними, одно должно быть настроено на ЦЕНТРАЛЬНЫЙ, а другое - на ПЕРИФЕРИЙНЫЙ.
2. Соедините их с компьютером.
3. Передвиньте переключатель в "АТ" (все версии до 1.7) / Введите "+++" (версии после 1.8) в диалоговой строке Монитора последовательного порта для перехода в режим АТ-команд.
4. Для ЦЕНТРАЛЬНОГО устройства отправьте следующие АТ-команды:
Ввод: AT+SETTING=DEFCENTRAL, ответ (возвращаемый): ОК
Ввод: AT+BLUNODEBUG=OFF, ответ (возвращаемый): ОК
5. Для ПЕРИФЕРИЙНОГО устройства отправьте следующие АТ-команды:
Ввод: AT+SETTING=DEFPERIPHERAL, ответ (возвращаемый): ОК
Ввод: AT+BLUNODEBUG=OFF, ответ (возвращаемый): ОК
6. Команда AT+BLUNODEBUG=OFF делает беспроводное программирование более стабильным. В этом режиме ва не сможете отслеживать Монитор последовательного порта через USB на персональном компьютере.
7. Переместите рычажок переключателя в "NORM" (все версии до 1.7) / Введите "AT+EXIT" (версии после 1.8) в диалоговой строке Монитора последовательного порта для выхода из режима АТ-команд.
8. Отключите USB-соединение ПЕРИФЕРИЙНОГО устройства и соедините его с внешним источником питания, например батарейки.
9. Буквально через секунду загорится светодиод Link, говорящий о том, что соединение установлено.
10. Нажмите в ARDUINO IDE кнопку "Загрузить", и программа успешно запишется в ПЕРИФЕРИЙНОЕ устройство.
Примечание! В редакторе ARDUINO IDE вы настраиваете тип платы только для ПЕРИФЕРИЙНОГО устройства. Если в качестве передающего вы используете Arduino Bluetooth 4.0 (BLE) модуль, а в качестве принимающего будет, например, BLUNO Mega2560, то вам нужно выбрать Mega2560.
Примечание! Беспроводное программирование возможно в двух направлениях между ЦЕНТРАЛЬНЫМ и ПЕРИФЕРИЙНЫМ устройствами, но скорость немного отличаются:
Обновление прошивки BLE на BLUNO
Примечание! Для проверки версии прошивки воспользуйтесь командой "AT+VERSION=?" в режиме АТ команд.
Для моделей версии 1.7 или ранее, с прошивкой версии не старше 1.6:
Внимание! Метод совместим с Windows XP и Windows 7. Версии Windows 8 и 10 могут не работать с этим методом.
Для моделей версии 1.8 и позднее, с прошивкой версии 1.7 и новее, обновление может быть загружено при помощи следующих служебных программ.
Выберите соответствующую ссылку для операционной системы:
Программа очень проста в использовании.
Примечание! После обновления параметры будут сохранены. Если вы захотите вернуться к заводским настройкам, просто воспользуйтесь АТ-командой "AT+SETTING=DEFAULT".
Обсуждение Bluno
Если у вас остались вопросы, пожалуйста, ознакомьтесь с разделом "Вопросы и ответы".
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru