Espruino:Примеры/Быстрый старт (Bluetooth LE)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Быстрый старт (Bluetooth LE)[1]

Включение

Puck.js

Puck.js можно питать либо от отдельной батареи, либо от установленной внутрь него батарейки. Однако во втором случае нужно помнить, что между батарейкой и печатной платой находится прозрачная пластиковая вкладка – она нужна, чтобы между ними не было контакта, а Puck.js оставался в выключенном состоянии.

Чтобы включить его, выполните следующее:

  • Снимите с Puck.js верхнюю крышку.
  • Выньте печатную плату.
  • Если батарейка установлена, выньте её с помощью тупого объекта и снимите прозрачную пластиковую вкладку.
  • Вставьте батарейку обратно. Минусовая сторона батарейки должна находиться лицом к печатной плате Puck.js. В результате должен один раз очень быстро мигнуть красный светодиод.
  • Если загорелся зелёный светодиод или не выключился красный светодиод, то это произошло из-за того, что вы случайно нажали на кнопку, пока вставляли батарейку. Выньте батарейку и попробуйте снова, но в этот раз постарайтесь не нажимать на кнопку, находящуюся рядом с батарейкой.
  • Соберите Puck.js. Чтобы кнопка работала правильно, та сторона платы, на которой находится батарейка, должна смотреть на чёрную часть пластикового корпуса, а кнопка, находящаяся рядом с батарейкой, должна находиться как можно дальше от выступа на корпусе.

Изображения с демонстрацией правильной ориентации батарейки и корпуса Puck.js смотрите в этой статье.

Для простых задач прошивка, установленная на Puck.js по умолчанию, подходит нормально, но разработчики постоянно её улучшают и добавляют в неё новые функции. Чтобы выжать из Puck.js максимум, рекомендуем в самом начала работы с ним обновить прошивку до последней версии.

Pixl.js

Запитать Pixl.js можно тремя способами:

  • При помощи кабеля Micro USB (на Pixl.js нет возможности передавать данные по USB).
  • Вставив батарейку CR2032 в соответствующий держатель на плате (минусовая сторона батарейки должна находиться лицом к печатной плате Pixl.js).
  • Подключив источник питания (напряжение должно быть меньше 16 вольт) между контактами Vin и GND на Pixl.js.

Для простых задач прошивка, установленная на Pixl.js по умолчанию, подходит нормально, но разработчики постоянно улучшают её и добавляют в неё новые функции.

Чтобы выжать из Pixl.js максимум, рекомендуем в самом начале работы обновить прошивку до последней версии.

Bangle.js

Чтобы подать питание на Bangle.js, просто нажмите на кнопку BTN1 (верхняя кнопка справа).

Если Bluetooth отключен (по умолчанию он включен на Bangle.js):

  • Нажмите среднюю кнопку (BTN2) на Bangle.js.
  • При помощи нижней кнопки (BTN3) пролистайте до настроек (Settings).
  • Нажмите BTN2, чтобы выбрать пункт «Settings».
  • Далее возможны два варианта:
    • Либо: Убедитесь, что в настройках «BLE» и «Programmable» стоит «On», чтобы включить у Bangle.js режим программирования. Затем выберите «Back», чтобы выйти из меню настроек.
    • Либо: Найдите пункт «Make Connectable», выберите его и пока отложите Bangle.js, оставив на нём меню Connectable.

Более подробно читайте в ознакомительной статье, посвящённой Bangle.js.

MDBT42Q

Более подробно о питании MDBT42Q читайте на соответствующей странице.

Хотя на заранее запрограммированные модули MDBT42Q уже установлена прошивка, которая подходит для выполнения простых задач, разработчики постоянно её улучшают и добавляют в неё новые функции.

Чтобы выжать из модуля MDBT42Q максимум, рекомендуем сначала обновить его прошивку до последней версии.

Ruuvitag

Более подробно о питании Ruuvitag читайте в соответствующей статье.

Nordic Thingy:52

На устройства Thingy прошивка Espruino по умолчанию не установлена. Более подробно о том, как установить её, а также о питании Thingy:52 читайте в этой статье.

Nordic nRF52832DK

Просто подключите свой nRF52832DK к USB-коннектору. На него также нужно будет записать прошивку Espruino.

Итак, теперь, когда к вашему устройству подключено питание, оно начнёт рассылать BLE-объявления с данными о себе.

Кроме того, Puck.js и Pixl.js могут работать как NFC-метки, способные направлять ваш телефон (если он поддерживает NFC) по нужным URL-ссылкам.

Требования

Для того, чтобы пользоваться BLE, в вашем компьютере должен быть установлен адаптер с поддержкой Bluetooth 4.0 (адаптеры, поддерживающие версии до 4.0, работать не будут). Впрочем, Bluetooth 4 поддерживается почти всеми современными компьютерами, но вам, возможно, понадобится внешний Bluetooth-адаптер, если ваш компьютер...

  • ...это Apple Mac, изготовленный до 2012 года.
  • ...это ПК на Windows, чья версия Windows ниже 10.
  • ...это настольный ПК (не ноутбук), т.к. у него вообще может не быть поддержки беспроводной передачи данных.
  • ...работает на Linux. Большая часть встроенного BLE-функционала на ноутбуках по-прежнему имеет много багов. Более надёжно будет воспользоваться внешним USB-адаптером.

Если ваш компьютер не поддерживает BLE, то можно воспользоваться USB-адаптером для BLE – они компактные, недорогие (около 10 долларов), и купить их можно практически везде. В данный момент на рынке преобладают вот эти два типа USB-адаптеров для Bluetooth:

  • Адаптеры на чипсете Broadcom (например, BCM20702) – они хорошо работают на всех платформах.
  • Адаптеры производства фирмы Cambridge Silicon Radio (CSR) – адаптеры этого типа хорошо работают на Linux и Windows. Раньше они хорошо работали на Mac, но их поддержка пропала после ОС-обновления High Sierra, так что рекомендуем остановить выбор на модуле от Broadcom.

Чтобы точно купить подходящий адаптер, рекомендуем покупать ТОЛЬКО те адаптеры, в описании которых явно написано «CSR» или «Broadcom». Модуль BlueGiga BLED112 РАБОТАТЬ НЕ БУДЕТ – это устройство с последовательным портом, а не Bluetooth-адаптер общего пользования.

Вот список рабочих и протестированных USB-адаптеров для Bluetooth:

Работа с Espruino-устройством

По умолчанию ПК видит Espruino как BLE-устройство с последовательным портом. Подключаясь к этому последовательному порту, вы при помощи командной стоки получаете полный доступ к встроенному JavaScript-интерпретатору Espruino.

Примечание: Последовательные BLE-порты (также известные как «Nordic UART») не будут отображаться в списке последовательных устройств вашей ОС.

Далее, чтобы начать работать с Espruino, у вас есть два варианта:

Использование IDE Espruino

Использование IDE Espruino через Web Bluetooth

Примечание: На этом компьютере Web Bluetooth уже включен.

Если ваш компьютер поддерживает Web Bluetooth, то это простейший способ начать работать с Espruino.

Вам понадобится самая новая версия браузера Google Chrome или Opera на одной из следующих платформ:

Mac OS

Нужна версия Yosemite или новее, и также проверьте, поддерживается ли BLE на вашем Mac:

  • Кликните на логотип Apple, а затем на About this Mac слева вверху
  • Кликните на System Report
  • Кликните на Bluetooth под Hardware
  • Посмотрите, написано ли там Bluetooth Low Energy Supported

Если нет:

  • Купите USB-адаптер с поддержкой Bluetooth 4.0 или новее (он стоит примерно 10 долларов) – см. раздел «Требования» выше.
  • Откройте терминал и напишите там «sudo nvram bluetoothHostControllerSwitchBehavior=al­ways» (чтобы вернуться к старым настройкам, напишите «sudo nvram -d bluetoothHostControllerSwitchBehavior»).
  • Перезагрузите Mac.
  • Убедитесь, что отключили (или выключили сопряжение) все Bluetooth-устройства, использующие внутренний Bluetooth – они могут помешать «маку» использовать новый адаптер.

Windows

Windows 10 полностью поддерживает Web Bluetooth – с условием, если вы используете самую новую версию Google Chrome (v70 и выше) и ваш ПК оснащен функционалом для BLE-связи (он есть у всех новых ноутбуков).

Если у вас нет Windows 10, вам нужно будет установить ПК-приложение для IDE Espruino – с его помощью вы получите прямой доступ к Bluetooth-адаптеру.

Linux

В Chrome нет официальной поддержки Linux. Но благодаря наличию поддержки ChromeOS вы можете включить и поддержку Linux: Вам понадобится BlueZ 5.41+ (5.43 – более стабильная версия) – узнать версию можно с помощью bluetoothd --version. Если он не установлен, установите его (инструкции тут).

  • Впишите в адресной строке chrome://flags.
  • Выберите Enabled рядом с пунктом Experimental Web Platform Features (chrome://flags/#enable-experimental-web-platform-features).
  • Перезапустите браузер.

Chromebook

Все хромбуки с Bluetooth должны поддерживать Web Bluetooth.

Android

На устройствах с Android 6 (Marshmallow) Web Bluetooth поддерживается по умолчанию.

На устройствах с Android 5 (Lollipop) поверх ADB можно воспользоваться Chromium.

iOS (iPhone, iPad)

Встроенный веб-браузер Apple не поддерживает Web Bluetooth. Вам нужно будет установить приложение WebBLE.

После этого вы сможете получить доступ к Web Bluetooth через любую веб-страницу, просматриваемую с помощью WebBLE.

Когда Web Bluetooth будет настроен:

  • Перейдите на сайт Puck.js. Там вам должны сообщить, что у вас включен Web Bluetooth.
  • Кликните на гиперссылку Espruino Web IDE.
  • Кликните на жёлтую кнопку Connect/Disconnect слева вверху.

[Картинка]

  • Появится список доступных вариантов для подключения – выберите Web Bluetooth.

[Картинка]

  • Должен появиться список устройств. Кликните на своё устройство (в конце названия вашего устройства должны быть 4 символа – это последние 4 символа MAC-адреса вашего устройства).

[Картинка]

Использование ПК-приложения

На некоторых платформах (Windows или Linux со старыми версиями Bluez) Web Bluetooth пока не поддерживается.

Если это ваш случай, то вам нужно будет установить ПК-приложение для Windows. Устанавливается оно при помощи вот этого установщика – не используйте версию из Chrome Web Store, о которой рассказывалось в начале статьи, так как с её помощью доступ к Bluetooth-устройствам получить будет нельзя.

Установив, запустите IDE Espruino – не удивляйтесь, но она будет сильно похожа на онлайн-IDE Espruino, которую вы тоже, возможно, установили, если раньше уже использовали обычные USB-устройства Espruino.

[Картинка]

Примечания:

  • На Windows последовательные BLE-устройства (Nordic UART Service) вроде Espruino не воспринимаются как устройства с последовательным портом. Если меню подключения в IDE показывает устройства, начинающиеся со слова «COM» (например, «COM5») – это не ваши устройства и подключиться к ним не получится.
  • При использовании Windows 8.1/10 или новее вам нужно будет выполнить сопряжение вашего Espruino-устройства при помощи Bluetooth-меню Windows – лишь после этого оно появится в онлайн-IDE. Для устройств с поддержкой Web Bluetooth это не нужно.
  • Если вы используете Bluetooth-адаптер и Windows 10, вам необходимо использовать встроенное Bluetooth-ПО Windows, а не устанавливать то, что было в комплекте с Bluetooth-адаптером. Зачастую ПО адаптера не даёт выполнить сопряжение с BLE-устройством и увидеть его при помощи API Windows 10.
  • Если вы используете Windows 7, вам нужно будет сначала настроить Bluetooth-адаптер при помощи Zadig.

На Linux, Mac OS и других платформах вам нужно будет установить NPM (инструкции можно найти на GitHub-странице онлайн-IDE).

Когда всё будет настроено, можно попробовать написать какой-нибудь код.

Через Raspberry Pi

Есть два способа использования Raspberry Pi для управления Espruino-устройствами.

Когда всё будет настроено, можно попробовать написать какой-нибудь код.

См.также

Внешние ссылки