Nrf connect инструкция на русском языке

  • Каталог
  • Полезные инструменты
  • Рейтинг: 0,0 (Нет оценок)
  • Скачиванийдо 1 тыс
  • Размер8.6 MB
  • Возраст0+

Описание приложения

nRF Connect for Mobile — это мощный универсальный инструмент, который позволяет сканировать, рекламировать и исследовать ваши устройства Bluetooth с низким энергопотреблением (BLE) и взаимодействовать с ними. nRF Connect поддерживает несколько профилей Bluetooth SIG, а также профиль обновления прошивки устройства (DFU) от Nordic Semiconductors и Mcu Manager на Zephyr и Mynewt.

Функции:

— Сканирует устройства Bluetooth с низким энергопотреблением (BLE)

— Парсит рекламные данные

— Показывает график RSSI, позволяет экспортировать в форматы CSV и Excel

— Подключается к подключаемому устройству Bluetooth LE

— Обнаружения и разборы сервисов и характеристик

— Позволяет читать и записывать характеристики

— Позволяет включать и отключать уведомления и индикации

— Поддерживает надежную запись

— Анализирует количество характеристик, принятых Bluetooth SIG

— Реклама Bluetooth LE (требуется Android 5+)

— Чтение и обновление PHY (требуется Android 8+)

— Конфигурация сервера ГАТТ

— Поддерживает профиль обновления прошивки устройства (DFU), который позволяет пользователю загружать новое приложение, программное обеспечение или загрузчик по беспроводной сети (OTA).

— Поддерживает McuMgr, профиль, который позволяет пользователю контролировать и обновлять устройства на базе Zephyr.

— Поддерживает скандинавский сервис UART

— Разрешить записывать и воспроизводить общие операции с помощью макросов

Оценки и отзывы

Имба блютуз перехватчик

Нравится: 1

Не нравится: 0

Все отзывы

Разработчик

Nordic Semiconductor ASA

Возможно, вам понравится

Robot36 — SSTV Image Decoder

Декодирует телевизионные изображения с медленным сканированием из аудио.

Яндекс Браузер — с нейросетями

Быстрый браузер с нейросетями и Алисой. Режим инкогнито. Погода прямо в браузере

4,3

MIFARE Classic Tool

Чтение, запись, анализ и т.д. MIFARE® Классические RFID-теги!

Mail: Почта, Облако, Календарь

Почтовый клиент для любых ящиков

4,8

WiFi/WLAN Plugin for Totalcmd

Перевод WiFi модуль и автономное приложение (не требует Total Commander)

4,3

Яндекс — с Алисой

Поиск с Алисой, умная камера, бесплатный определитель номера

4,4

Ещё приложения

Подключение NRF Connect – это необходимый шаг для работы с различными устройствами, использующими технологию беспроводной связи. С помощью данного приложения вы сможете осуществлять контроль и управление подключенными устройствами с легкостью.

В данной статье мы предоставим вам пошаговую инструкцию по подключению NRF Connect, чтобы вы смогли начать использовать его в своих проектах без лишних сложностей.

Шаг 1: Загрузка приложения

Первым шагом является загрузка приложения NRF Connect на ваше устройство. Вы можете найти его в официальных магазинах приложений для операционных систем Android и iOS. Просто найдите приложение и установите его на свое устройство.

Шаг 2: Запуск приложения

После установки приложения откройте его на своем устройстве. Вы увидите стартовый экран с основными функциями и настройками. Для включения подключения NRF Connect вам понадобится выполнить несколько следующих шагов.

Шаг 3: Установка устройств

Далее нужно установить устройства с помощью приложения NRF Connect. Это можно сделать, выбрав пункт «Сканировать» в главном меню приложения. После этого начнется поиск доступных устройств, и вы сможете выбрать те, которые вы хотите подключить к приложению.

Шаг 4: Управление устройствами

Как только устройства успешно подключены, вы сможете управлять ими через приложение NRF Connect. Вы сможете отображать информацию о каждом подключенном устройстве, а также отправлять команды и получать данные.

Теперь вы знакомы с пошаговой инструкцией по подключению NRF Connect. Вы можете приступить к использованию этого приложения в своих проектах и наслаждаться его преимуществами!

Содержание

  1. Подключение NRF Connect: необходимые материалы и устройства
  2. Подготовка к подключению NRF Connect
  3. Как скачать и установить NRF Connect
  4. Подключение NRF Connect к устройству
  5. Настройка NRF Connect для работы с устройством

Подключение NRF Connect: необходимые материалы и устройства

Для успешного подключения к NRF Connect вам понадобятся следующие материалы и устройства:

— Устройство, поддерживающее Bluetooth Low Energy (BLE).

— Персональный компьютер (ПК) или ноутбук с операционной системой Windows, macOS или Linux.

— USB-кабель для подключения устройства к ПК.

— NRF Connect приложение, доступное для скачивания на App Store или Google Play.

— Документация, предоставляемая производителем устройства BLE, с информацией о необходимых параметрах подключения и его функциональности.

Убедитесь, что у вас есть все необходимые материалы и устройства, прежде чем начинать процесс подключения к NRF Connect.

Подготовка к подключению NRF Connect

Перед началом работы с NRF Connect необходимо выполнить несколько подготовительных шагов, чтобы гарантировать успешное подключение.

1. Убедитесь, что ваше устройство соответствует системным требованиям NRF Connect. Проверьте список поддерживаемых операционных систем и версий устройств, чтобы исключить возможные конфликты.

2. Установите последнюю версию NRF Connect на ваше устройство. Обновления могут содержать исправления ошибок и новые функциональные возможности, поэтому всегда рекомендуется использовать последнюю доступную версию.

3. Убедитесь, что ваше устройство подключено к интернету. NRF Connect требует доступа к сети для установки соединения и обмена данными с поддерживаемыми устройствами.

4. Проверьте, что ваше устройство поддерживает Bluetooth Low Energy (BLE). NRF Connect использует эту технологию для подключения к устройствам и обмена данными. Если ваше устройство не поддерживает BLE, NRF Connect не будет работать.

5. Перезагрузите ваше устройство. Иногда устранение проблемы может помочь простое перезапуск устройства.

После выполнения всех этих шагов ваше устройство будет готово к подключению к NRF Connect и использованию его функционала.

Как скачать и установить NRF Connect

Для того чтобы начать использовать NRF Connect на вашем устройстве, вам нужно выполнить следующие шаги:

  1. Откройте App Store или Google Play на вашем мобильном устройстве.
  2. В поисковой строке введите «NRF Connect».
  3. Найдите приложение NRF Connect в списке результатов и нажмите на него.
  4. Нажмите кнопку «Установить» или «Скачать» и дождитесь завершения установки приложения.
  5. После установки приложения откройте его на вашем устройстве.

Теперь у вас установлен NRF Connect, и вы готовы начать использовать его для подключения к устройствам Bluetooth Low Energy и выполнения различных действий, таких как сканирование, чтение характеристик, запись значений и тестирование.

Подключение NRF Connect к устройству

  1. Установите приложение NRF Connect на ваше мобильное устройство из App Store или Google Play.
  2. Запустите приложение NRF Connect на вашем мобильном устройстве.
  3. В приложении NRF Connect выберите опцию «Сканировать» или «Поиск устройств», чтобы найти доступные в окружающей области устройства.
  4. Выберите ваше устройство из списка найденных устройств. Обычно они отображаются с именем или MAC-адресом.
  5. После выбора устройства, NRF Connect будет пытаться установить соединение с устройством.
  6. Если соединение успешно установлено, вы сможете видеть доступные сервисы и характеристики, которые поддерживает ваше устройство.

Вот и все! Теперь вы можете использовать NRF Connect для отладки, тестирования и работы с вашим устройством.

Настройка NRF Connect для работы с устройством

  1. Установите приложение NRF Connect на свое мобильное устройство. Приложение доступно для скачивания в Google Play или App Store.
  2. После установки приложения запустите его и разрешите доступ к Bluetooth на своем устройстве.
  3. На главной странице NRF Connect вы увидите список доступных устройств BLE в вашей области. Найдите и выберите устройство, с которым вы хотите работать.
  4. После выбора устройства NRF Connect установит соединение с ним. В этот момент может потребоваться ввод пароля или кода доступа, если требуется аутентификация.
  5. После успешного подключения, вы сможете увидеть информацию о подключенном устройстве, такую как его имя, уникальный идентификатор и т. д.
  6. Теперь вы готовы начать работу с устройством через NRF Connect. В зависимости от функционала устройства, вы можете выполнить различные операции, такие как чтение и запись характеристик, отправка команд и т. д.
  7. После завершения работы с устройством, рекомендуется отключиться от него в приложении NRF Connect.

Поздравляю! Теперь вы можете легко настроить и использовать NRF Connect для работы с вашим устройством на базе BLE. Удачной разработки!

nRF Connect – это удобное и мощное приложение, которое позволяет использовать ваш смартфон в качестве мобильного инструмента разработки и отладки для устройств на базе технологии беспроводной связи Bluetooth Low Energy (BLE). С его помощью вы можете проверить работоспособность и взаимодействие различных устройств, а также выполнить диагностику и проанализировать перехваченные пакеты данных.

В данном руководстве мы расскажем вам, как использовать все возможности nRF Connect на вашем телефоне. Вы узнаете, как установить приложение, подключиться к устройствам и освоить основные функции разработки и отладки. От простого сканирования BLE устройств до загрузки собственных прошивок – мы рассмотрим каждый шаг подробно и покажем вам самые полезные инструменты, которые помогут вам упростить и ускорить разработку вашего проекта.

Также, несмотря на то, что данное руководство ориентировано на использование nRF Connect на телефоне, многие из описанных приемов и функций также применимы и в версии приложения для настольных компьютеров.

Содержание

  1. Что такое nRF Connect
  2. Зачем использовать nRF Connect на телефоне
  3. Установка и настройка
  4. Как устанавливать nRF Connect
  5. Конфигурация nRF Connect на телефоне
  6. Основные функции
  7. Сканирование устройств с помощью nRF Connect
  8. Подключение к устройству через nRF Connect
  9. Расширенные функции
  10. Отправка и прием данных через nRF Connect
  11. Настройка BLE-устройств с помощью nRF Connect
  12. Шаг 1: Загрузка и установка nRF Connect
  13. Шаг 2: Запуск приложения и разрешение доступа
  14. Шаг 3: Поиск и подключение устройства
  15. Шаг 4: Работа с устройством
  16. Шаг 5: Редактирование устройства
  17. Отладка и тестирование

Приложение nRF Connect позволяет проводить различные операции с беспроводными устройствами, такие как поиск, подключение, определение и настройка их параметров. Оно поддерживает протоколы Bluetooth Low Energy (BLE), Bluetooth Mesh, ANT и другие, и обеспечивает разработчикам и пользователям удобный и интуитивно понятный интерфейс для работы с устройствами на основе чипов Nordic Semiconductor.

Приложение nRF Connect доступно для установки на мобильные устройства на базе операционных систем iOS и Android. Оно позволяет проводить сканирование устройств, подключаться к ним, отправлять и получать данные, контролировать и настраивать их параметры. Кроме того, приложение также предоставляет доступ к тестовым наборам и демонстрационным проектам, которые позволяют разработчикам оценить и проверить функциональность своих устройств.

Основные функции nRF Connect:
Поиск и сканирование беспроводных устройств
Подключение и управление устройствами
Отправка и получение данных
Контроль и настройка параметров устройств
Доступ к тестовым наборам и демонстрационным проектам

Общий интерфейс приложения удобен и интуитивно понятен, что позволяет как начинающим, так и опытным разработчикам без особых усилий работать с устройствами на базе чипов Nordic Semiconductor. Приложение nRF Connect является незаменимым инструментом для разработки и тестирования беспроводных устройств на базе чипов Nordic Semiconductor.

Зачем использовать nRF Connect на телефоне

Использование приложения nRF Connect на телефоне предлагает ряд преимуществ для разработчиков и энтузиастов, занимающихся разработкой и тестированием устройств на базе чипов nRF. Вот несколько причин, почему использование nRF Connect на телефоне может быть полезным:

  1. Простота и удобство: nRF Connect предоставляет простой и интуитивно понятный интерфейс для работы с устройствами на базе чипов nRF. Он позволяет быстро установить соединение, отправлять и принимать данные, а также отладочные команды.
  2. Мобильность: Приложение работает на мобильных устройствах, что позволяет использовать его в любом месте и в любое время. Это особенно удобно для работы в полевых условиях или при тестировании устройств на больших расстояниях от компьютера.
  3. Гибкость: nRF Connect поддерживает различные протоколы, такие как Bluetooth Low Energy (BLE), NFC и ANT, что позволяет взаимодействовать с разными типами устройств. Также приложение поддерживает разные режимы работы, такие как сканирование, подключение и тестирование устройств.
  4. Отладка и тестирование: nRF Connect предоставляет инструменты для отладки и тестирования устройств на базе чипов nRF. Это позволяет мониторить и анализировать данные, отправляемые и принимаемые устройствами, а также использовать функции, такие как запись и воспроизведение пакетов данных.
  5. Возможности разработки: nRF Connect предоставляет API для разработки собственных приложений, основанных на его функциях. Это позволяет создавать пользовательские интерфейсы, добавлять новые функции и интегрировать приложение с другими программами и сервисами.

В целом, использование nRF Connect на телефоне является удобным и эффективным способом для работы с устройствами на базе чипов nRF, предоставляющим мобильные возможности и гибкость в разработке и отладке.

Установка и настройка

Для использования приложения nRF Connect на телефоне, вам потребуется выполнить несколько простых шагов:

  1. Перейдите в магазин приложений вашего мобильного устройства и найдите приложение nRF Connect.
  2. Скачайте и установите приложение на свой телефон.
  3. Запустите приложение и пройдите процесс инициализации.
  4. После инициализации вы увидите главный экран приложения с доступными функциями.
  5. Перед началом работы с приложением, убедитесь, что включен Bluetooth на вашем телефоне.
  6. Теперь вы можете приступить к использованию nRF Connect для выполнения различных действий с устройствами, поддерживающими Bluetooth Low Energy (BLE).

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

Как устанавливать nRF Connect

Установка приложения nRF Connect на вашем смартфоне очень проста. Чтобы начать использование nRF Connect, выполните следующие шаги:

  1. Откройте «App Store» или «Google Play» на своем телефоне.
  2. Введите «nRF Connect» в поисковой строке и найдите приложение в результатах поиска.
  3. Нажмите на кнопку «Установить» или «Загрузить», чтобы начать скачивание и установку.
  4. После завершения установки, найдите значок nRF Connect на главном экране вашего телефона и нажмите на него для запуска приложения.

Теперь вы готовы использовать nRF Connect для подключения и взаимодействия с устройствами, поддерживающими технологию Bluetooth Low Energy (BLE).

Конфигурация nRF Connect на телефоне

Для использования полного потенциала nRF Connect на вашем телефоне, необходимо правильно сконфигурировать приложение. В этом разделе будет рассмотрено, как выполнить эту конфигурацию.

1. Запустите приложение nRF Connect на вашем телефоне.

2. При первом запуске приложение может запросить разрешение на доступ к различным функциям вашего телефона, таким как Bluetooth и местоположение. Убедитесь, что вы даете приложению все необходимые разрешения.

3. После успешного запуска приложения откройте меню, нажав на иконку в верхнем левом углу экрана.

4. В меню выберите «Настройки».

5. В разделе «Общие настройки» вы можете настроить язык приложения, тему оформления и множество других параметров по вашему усмотрению.

6. В разделе «Связь» вы можете настроить различные параметры связи, такие как Bluetooth, NFC и ANT+. Здесь вы можете включить или выключить каждую опцию в соответствии с вашими потребностями.

7. В разделе «Уведомления» вы можете настроить уведомления от приложения, такие как звуки и вибрация. Вы также можете установить различные типы уведомлений для различных событий.

8. После того как вы настроили все нужные параметры, нажмите кнопку «Назад» в верхнем левом углу экрана, чтобы вернуться к основному экрану приложения.

Теперь ваше приложение nRF Connect полностью сконфигурировано на вашем телефоне, и вы можете начать использовать все его функции и возможности в полной мере.

Основные функции

Программа nRF Connect обладает несколькими основными функциями, которые позволяют пользователю осуществлять работу с устройствами Bluetooth Low Energy (BLE) на телефоне:

  • Сканирование устройств BLE: nRF Connect позволяет сканировать и отображать доступные устройства BLE в окружающей среде. Пользователь может просматривать информацию о каждом устройстве, такую как имя и уровень сигнала.
  • Подключение к устройствам BLE: после сканирования и выбора устройства, пользователь может подключиться к нему, чтобы взаимодействовать с его функциями и службами.
  • Просмотр услуг и характеристик: пользователь может просматривать список доступных услуг и характеристик на подключенном устройстве BLE. Это позволяет взаимодействовать с устройством и получать информацию о его состоянии.
  • Чтение и запись значений характеристик: nRF Connect позволяет читать значения характеристик с подключенного устройства BLE и записывать новые значения. Это полезно, например, для настройки параметров устройства или выполнения определенных действий.
  • Отображение данных в реальном времени: в приложении есть возможность отображать данные от подключенного устройства BLE в реальном времени. Пользователь может выбрать интересующую характеристику и наблюдать за изменениями ее значения в реальном времени.
  • Отправка команд и управление устройством: nRF Connect позволяет отправлять команды и управлять устройством через характеристики, поддерживающие запись. Это позволяет пользователю выполнить определенные действия на подключенном устройстве BLE.

Все эти функции делают приложение nRF Connect мощным инструментом для работы с устройствами BLE на телефоне. Оно обладает простым и интуитивно понятным интерфейсом, что делает его доступным даже для новичков в области Bluetooth Low Energy.

Сканирование устройств с помощью nRF Connect

nRF Connect предоставляет возможность сканирования и обнаружения ближайших устройств Bluetooth на вашем телефоне. Следуя простым инструкциям, вы сможете найти и подключиться к устройствам, отправлять и получать данные, а также проверять их характеристики.

Для начала сканирования откройте приложение nRF Connect на своем телефоне. После запуска вы увидите экран со списком доступных устройств. Приложение будет автоматически сканировать все Bluetooth-устройства в вашем окружении.

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

Каждое устройство в списке будет представлено своим именем и MAC-адресом. На экране также отображается информация о силе сигнала, уровне батареи и других характеристиках устройства.

Чтобы установить соединение с выбранным устройством, просто нажмите на него в списке. Откроется окно с подробной информацией об устройстве и его сервисах. Вы можете отправлять и получать данные, а также настраивать параметры соединения.

В приложении nRF Connect также есть функция фильтрации устройств. Вы можете настроить фильтры по имени устройства, MAC-адресу или другим параметрам, чтобы ограничить список отображаемых устройств.

Благодаря своей простоте и удобству использования, nRF Connect является отличным инструментом для работы с Bluetooth-устройствами на вашем телефоне. Он предоставляет широкие возможности для сканирования, подключения и управления устройствами, что делает его незаменимым помощником для разработчиков и технических специалистов.

Подключение к устройству через nRF Connect

Для подключения к устройству через приложение nRF Connect на телефоне необходимо выполнить следующие шаги:

1. Запустите приложение nRF Connect на своем телефоне.

2. Перейдите в раздел «Сканирование» в главном меню приложения.

3. Нажмите кнопку «Сканировать» для обнаружения доступных устройств в вашей близости. Приложение будет автоматически сканировать и отображать список устройств.

4. Выберите устройство, к которому вы хотите подключиться, из списка отображаемого в разделе «Доступные устройства». Название устройства будет отображаться рядом с его MAC-адресом.

5. Нажмите на выбранное устройство, чтобы установить с ним подключение.

После успешного подключения к устройству, вы сможете взаимодействовать с ним через приложение nRF Connect. В разделе «Сервисы» вы сможете видеть доступные сервисы и характеристики, которые предлагает подключенное устройство.

Расширенные функции

Приложение nRF Connect предлагает ряд расширенных функций для более удобного использования.

1. Возможность сохранения истории: Данная функция позволяет сохранять историю связи с устройством, что упрощает отладку и анализ данных.

2. Автоматическое получение уведомлений: Приложение может настроиться на автоматическое получение уведомлений от устройства о событиях и состоянии, что помогает отслеживать и реагировать на изменения.

3. Анализ и обработка данных: С помощью nRF Connect вы можете просматривать и анализировать данные, получаемые от устройства, в удобной форме. Приложение также предлагает возможность применять различные фильтры и обрабатывать данные.

4. Управление устройством: nRF Connect позволяет отправлять команды и настраивать параметры устройства непосредственно через интерфейс приложения. Это упрощает настройку и взаимодействие с устройством.

5. Настройка и сохранение профилей: Приложение позволяет создавать и сохранять профили устройств, включая настроенные параметры и настройки связи. Это позволяет быстро восстанавливать работу с устройством в случае смены телефона или переустановки приложения.

6. Поддержка различных протоколов: nRF Connect поддерживает несколько различных протоколов связи, включая Bluetooth Low Energy, ANT, Thread, Zigbee и универсальный серийный интерфейс (UART). Это позволяет работать с разными типами устройств и протоколами связи.

Использование данных функций и возможностей поможет сделать работу с устройствами еще более удобной и эффективной.

Отправка и прием данных через nRF Connect

С помощью приложения nRF Connect на телефоне, вы можете не только подключаться к Bluetooth устройствам, но и отправлять и принимать данные.

Для отправки данных сначала выберите устройство, к которому вы хотите подключиться, из списка доступных устройств в приложении. Затем откройте вкладку «Characteristic» и найдите характеристику, через которую вы хотите отправить данные.

Чтобы отправить данные, нажмите кнопку «Write» или «Send» (в зависимости от версии приложения). Затем введите данные, которые вы хотите отправить, и нажмите «Send». Отправленные данные будут отображаться в окне «Received data» под полями для ввода.

Чтобы принимать данные от устройства, вы можете использовать функцию подписки на оповещения (Notifications). Чтобы включить оповещения, найдите характеристику, через которую вы хотите принимать данные, и активируйте переключатель «Notifications». Когда устройство начнет отправлять данные, они будут отображаться в окне «Received data».

Важно отметить, что возможности отправки и приема данных могут различаться в зависимости от Bluetooth устройства и его конфигурации. Если у вас возникнут проблемы с отправкой или приемом данных, рекомендуется обратиться к руководству пользователя для вашего конкретного устройства.

Настройка BLE-устройств с помощью nRF Connect

В данной статье мы рассмотрим, как использовать nRF Connect для настройки BLE-устройств. Важно отметить, что для работы с приложением вам понадобится совместимое устройство, поддерживающее BLE.

Шаг 1: Загрузка и установка nRF Connect

Первым шагом является загрузка и установка приложения nRF Connect на ваш телефон. Оно доступно в Google Play Store (для Android) и App Store (для iOS). Найдите приложение в магазине и нажмите «Установить», чтобы начать загрузку.

Шаг 2: Запуск приложения и разрешение доступа

После успешной установки приложения на ваш телефон, найдите его на главном экране и нажмите на иконку, чтобы запустить. При первом запуске приложение может запросить разрешение на доступ к различным функциям вашего телефона, таким как Bluetooth и GPS. Разрешите доступ для продолжения.

Шаг 3: Поиск и подключение устройства

Теперь вы готовы к настройке вашего BLE-устройства с помощью nRF Connect. На главном экране приложения нажмите на кнопку «Поиск» или символ с лупой, чтобы начать поиск доступных устройств в вашей области. Подождите, пока приложение найдет устройства, и выберите нужное из списка результатов.

Шаг 4: Работа с устройством

После подключения к устройству, вы сможете видеть информацию о нем, такую как его название, MAC-адрес, сигнал и т. д. Многие BLE-устройства также предоставляют списки сервисов и характеристик, которые можно изучить и взаимодействовать с ними.

Используя nRF Connect, вы можете считывать, записывать и обновлять значения характеристик устройства. Для этого просто выберите нужную характеристику и выполните соответствующие операции.

Шаг 5: Редактирование устройства

В некоторых случаях, вы можете захотеть изменить настройки устройства. nRF Connect позволяет выполнять операции, такие как смена имени устройства, обновление прошивки и т. д. Для этого пройдите в настройки устройства и выполните желаемые действия.

Вот и все! Вы только что узнали, как настроить BLE-устройство с помощью nRF Connect. Надеюсь, эта статья окажется полезной и поможет вам освоиться с использованием данного инструмента.

Отладка и тестирование

При использовании nRF Connect на телефоне у вас есть возможность отлаживать и тестировать свои Bluetooth устройства и приложения. Вот несколько функций, которые помогут вам в этом:

  • Обнаружение устройств: nRF Connect может сканировать и обнаруживать Bluetooth устройства в вашей близости. Это позволяет вам проверить, правильно ли настроено ваше устройство и работает ли оно правильно.
  • Подключение к устройству: Вы можете подключаться к Bluetooth устройству через nRF Connect. Это позволяет вам проверить связь между вашим телефоном и устройством, а также выполнить тесты и отладку функциональности.
  • Отправка и прием данных: Вы можете использовать nRF Connect для отправки и приема данных через Bluetooth устройство. Это позволяет вам проверить, работает ли передача данных корректно и мониторить передаваемые и принимаемые данные.
  • Анализ GATT профилей: nRF Connect отображает и анализирует GATT профили, которые используются Bluetooth устройствами для определения и организации данных. Это позволяет вам проверить, правильно ли настроен GATT профиль вашего устройства и обеспечить совместимость с другими устройствами.
  • Мониторинг Bluetooth трафика: nRF Connect позволяет вам мониторить Bluetooth трафик для отладки и разработки приложений. Вы можете просматривать и анализировать пакеты данных, отправляемые и принимаемые вашим устройством. Это помогает выявить проблемы и улучшить производительность вашего приложения или устройства.

Используя функции отладки и тестирования nRF Connect на телефоне, вы можете убедиться, что ваше Bluetooth устройство и приложение работают правильно и эффективно.

Время на прочтение10 мин

Количество просмотров62K

1. Вступление

Добрый день.

В сети гуляет огромное количество уроков программирования под разные простенькие (и не очень) платформы. С каждым годом однотипные туториалы разной степени углубленности по одному и тому же микроконтроллеру штампуются десятками. И это прекрасно, так как обилие статей ведет к снижению порога вхождения в тематику и позволяет уже созревшим программистам не тратить время на поиск прочитанного вдоль и поперек даташита, а просто воспользоваться уже рабочим куском кода инициализации периферии и перейти к проблемам посерьезнее.

Однако есть нюанс — шаг вправо, шаг влево от стандартной подборки STM32/8, AVR и иже с ними или углубление в более сложные интерфейсы тех же самых STM32/8, и тишина. Лишь изредка на далеком-далеком форуме кто-то задает вопрос, который в итоге остается без ответа…

К чему я, собственно, веду. Не так давно возникла необходимость использования в проекте чипа nRF51822 компании Nordic Semiconductor с популярной ныне тематикой Bluetooth low energy (далее — BLE) на борту.

image

Чип оказался настолько популярным на информационную составляющую, что Google с горем пополам выдал 2-3 ссылки с описанием самого BLE стека и пару абстрактных статей касательно реализации стека у чипов Nordic и Texas instruments (CC2640). Матерые программисты скажут: «Берите примеры от компании Nordic (а их там к слову с избытком) и разбирайтесь». И это верный подход, если бы не одно но, касающееся, по большей части, начинающих программистов и желающих получить быстрый результат: обилие структур, многоуровневые библиотеки — все это прекрасно и логично, но избыточно для быстрого старта или маленького проекта. Все это увеличивает порог вхождения до неоправданных высот.

С учетом всего вышесказанного предлагаю рассмотреть простенький вариант реализации приложения обмена с использованием чипа NRF51822, позволяющего в общих чертах разобраться в основных аспектах разработки подобных систем. И это будет… Естественно, светодиод. Под управлением удаленного смартфона.

2. Необходимые программные и аппаратные средства

  • отладочная плата NRF51 (я использую NRF51 DK);
  • смартфон под управлением операционной системы Android;
  • среда программирования Keil uVision;
  • 15 минут свободного времени.

Вместо смартфона можно использовать USB Dongle, но его цена (77 $), по сравнению с ценой отладочной платы NRF51 DK (49 $), немного отталкивает. В данном примере его наличие необязательно, но всё же не стоит недооценивать его важность.

3. Создание шаблона

Первоочередной задачей является создание в Keil шаблона и подключение всех необходимых библиотечных файлов для использования BLE стека. Сам по себе процесс с нуля достаточно затратный по времени, поэтому мы воспользуемся стандартным шаблоном, который можно найти среди многочисленных примеров, которые Keil любезно прячет в Pack Installer.

Функции, реализованные в примере, по большей части необходимы для создания подключения и организации реакции BLE стека на возникающие события (подключение, отключение и т.д.). На данный момент не вижу смысла на них останавливаться, чтобы не перегружать информацией, да и трогать их пока не стоит, пока нет общего понимания о процессе использования стека (В приложенном к статье проекте все функции раскомментированы на русском языке). Подробнее с самим стеком можно познакомиться по ссылке. С параметрами подключения в дальнейшем можно поэкспериментировать также, как и с событиями стека, но это тема не для этой статьи.

4. Прошивка стека и приложения

Как уже не единожды упоминалось в прочих статьях, посвященных реализации BLE стека на различных устройствах, — BLE стек шьется в нижнюю часть флеш-памяти, после чего загружается пользовательское приложение. К счастью для непосвященных в данный аспект, в используемом шаблоне адресация уже задана, и все что нам необходимо сделать — в разделе Select Target выбрать SoftDevice S130 и нажать загрузить.

Теперь таким же образом загрузим скомпилированное пользовательское приложение.

5. Предварительное тестирование

На данный момент загруженное приложение не выполняет никаких полезных для нас функций, но оно умеет рассылать рекламные (advertising) пакеты с возможностью подключения к устройству. Подробную информацию в полной мере можно получить в статье, которую я уже упоминал ранее.
Для того, чтобы подключиться к полученному устройству нам необходимо скачать на смартфон под управлением Android программу nRF Connect for Mobile. Запускаем, сканируем эфир и находим наше устройство — Nordic_Template. Можем подключиться, проверить все ли верно. В дальнейшим с помощью данной программы мы сможем читать и писать характеристики устройства, тем самым взаимодействуя с ним.

Как уже говорилось ранее, на данный момент устройство никаких полезных данных в себе не несет, за исключением служебных параметров. Взаимодействие с устройством в BLE обеспечивается через чтение/запись характеристик. Характеристики объединяются в сервисы, они затем объединяются в профили, а вообще это достаточно серьезная тема, для отдельной статьи. Однако стоит все-таки простыми словами разъяснить, какую же функцию в первом приближении несет в себе характеристика. Формально, это переменная стека, имеющая определенные параметры (размер, тип, тип доступа), определяющие взаимодействие с ней. Для всех характеристик можно разрешить чтение, запись, уведомление и т.д. Через характеристику, имеющую разрешение на запись, можно передать любые данные на устройство, а через характеристику с разрешением чтения — получить данные.

Так, к примеру, можно реализовать систему «запрос-ответ». Представим себе устройство, имеющее раз параметров (температура, влажность, ускорение). Можем создать 3 различные характеристики и читать их значения. А теперь представим, что данные нам необходимо получать за определенный период (за прошлый месяц, к примеру). В таком случае, мы создадим характеристику с разрешением записи и будем писать в нее номер месяца, а устройство, в свою очередь, выставлять в характеристики запрошенные данные.

image

Но вернемся к нашей задаче. Для того, чтобы управлять светодиодом, необходимо создать соответствующий сервис. Сервис будет содержать 2 характеристики:

  • характеристика для управления состоянием светодиода (Write only);
  • характеристика для определения текущего состоя светодиода (Read only).

Прежде чем начать писать свой первый сервис, необходимо понимать, что у каждого сервиса и каждой характеристики в нем содержащейся, должен быть свой уникальный адрес (UUID). Благодаря этому адресу, устройства (например, смартфон) могут определить, что нужно сделать с конкретными данными. Стоит заметить, что ряд профилей, сервисов и характеристик являются для BLE стандартными, имеют свои зарегистрированные в Bluetooth SIG 16-битные адреса и заранее определенный набор выполняемых функций. Смартфон, получая данные от устройства, на котором реализован один из таких профилей, точно знает состав посылки и имеет все необходимые функции для дальнейшей реализации полученной информации.

Нам же доступны только 128-битные адреса. Зададим 3 UUID адреса, один для сервиса и два для характеристик. Для этого используем специальный генератор, предназначенные для формирования случайных UUID. Советую при генерации выбрать Time-based, тогда UUID сгенерируются последовательно с одинаковой основной частью для всех трех адресов.

/* Основной UUID (одинаковая часть UUID для сервиса и характеристик) */
#define LED_BASE_UUID        			{0x66, 0x9A, 0x0C, 0x20, 0x00, 0x08, 0x1A, 0x8F, 0xE7, 0x11, 0x61, 0xBE, 0x00, 0x00, 0x00, 0x00}

/* Частный UUID (различная часть UUID для сервиса и характеристик) */
#define LED_SERVICE_UUID 		  		0x1523
#define CONTROL_CHAR_UUID 				0x1524
#define READ_CHAR_UUID 					0x1525 

/* Необходимо переопределить UUID в переменной стандартного примера */
static ble_uuid_t m_adv_uuids[] = {{LED_SERVICE_UUID, BLE_UUID_TYPE_BLE}}; 

Теперь перейдем непсоредственно к созданию сервиса. В нашем шаблоне заполним функцию services_init:

services_init

uint16_t led_handles; // указатель на обработчик (необходим для стека)
void services_init(void){
	
	ble_uuid_t			 ble_uuid;
        /* Основной 128 - битный UUID */
	ble_uuid128_t 	     base_uuid = LED_BASE_UUID; 
	uint8_t 			 uuid_type;

	ble_uuid.type = BLE_UUID_TYPE_VENDOR_BEGIN;
	ble_uuid.uuid = LED_SERVICE_UUID;
	
	sd_ble_uuid_vs_add(&base_uuid, &ble_uuid.type);
	sd_ble_gatts_service_add(BLE_GATTS_SRVC_TYPE_PRIMARY, &ble_uuid, &led_handles);	
}

Следующим шагом реализуем универсальную функцию для создания характеристик:

char_add

/* Универсальная функция создания характеристики
* UUID - Идентификатор характеристики
* handles - указатель на обработчик (необходим для стека)
* n_bytes - размер атрибута характеристики
* iswrite, isnotf, isread - разрешения на запись, нотификацию, чтение */

uint32_t char_add(uint16_t UUID, ble_gatts_char_handles_t	* handles, uint8_t n_bytes, bool iswrite, bool isnotf, bool isread){
	 
	ble_gatts_char_md_t char_md;
	ble_gatts_attr_md_t cccd_md;
	ble_gatts_attr_t    attr_char_value;
	ble_uuid_t          char_uuid;
	ble_gatts_attr_md_t attr_md;
    
	memset(&cccd_md, 0, sizeof(cccd_md));

	BLE_GAP_CONN_SEC_MODE_SET_OPEN(&cccd_md.read_perm);
	BLE_GAP_CONN_SEC_MODE_SET_OPEN(&cccd_md.write_perm);
	cccd_md.vloc = BLE_GATTS_VLOC_STACK;
	
	memset(&char_md, 0, sizeof(char_md));
    
	char_md.char_props.notify = isnotf;     // Разрешение на уведомление;
	char_md.char_props.write = iswrite;     // Разрешение на запись;
	char_md.char_props.read   = isread;     // Разрешение на чтение;
	char_md.p_char_user_desc  = NULL;
	char_md.p_char_pf         = NULL;
	char_md.p_user_desc_md    = NULL;
	char_md.p_cccd_md         = &cccd_md;
	char_md.p_sccd_md         = NULL;

        /* тип UUID - 128 - битный */
	char_uuid.type = BLE_UUID_TYPE_VENDOR_BEGIN;  
	char_uuid.uuid = UUID;

	memset(&attr_md, 0, sizeof(attr_md));

	BLE_GAP_CONN_SEC_MODE_SET_OPEN(&attr_md.read_perm);
	BLE_GAP_CONN_SEC_MODE_SET_OPEN(&attr_md.write_perm);
	attr_md.vloc       = BLE_GATTS_VLOC_STACK;
	attr_md.rd_auth    = 0;
	attr_md.wr_auth    = 0;
	attr_md.vlen       = 0;
	
	attr_char_value.p_uuid    = &char_uuid;
	attr_char_value.p_attr_md = &attr_md;
	attr_char_value.init_len  = n_bytes;           
	attr_char_value.init_offs = 0;
	attr_char_value.max_len = n_bytes;      // Размер атрибута;
	attr_char_value.p_value   = NULL;       // Начальное значение атрибута;
    
        /* Зарегистрировать характеристику в стеке */
	sd_ble_gatts_characteristic_add(led_handles, &char_md, &attr_char_value, handles);														 
	return 0;
}

Функции создания сервиса и характеристик готовы. Теперь прикинем, что нам еще необходимо. А необходимы нам две вещи:

  • функция обработки записи в характеристику (Write Only);
  • функция обновления данных в характеристике (Read Only).

Начнем с функции обработки записи. У стека есть один обработчик прерываний ble_evt_dispatch, который вызывается в случае возникновения каких-либо событий стека. Из данного обработчика вызываются все прочие, пользовательские, обработчики прерывания, которые реагируют на событие, если в них определена реакция. В данном случае писать отдельный обработчик мы не будем, напишем лишь функцию, выполняющую действия в соответствии с полученными данными, а интересующее нас событие будем проверять в одном из стандартных обработчиков.

on_ble_evt

static void on_ble_evt(ble_evt_t * p_ble_evt)
{
    uint32_t err_code;
    /* Переменная содержащая в себе полученную со смартфона информацию */
    ble_gatts_evt_write_t * p_evt_write = &p_ble_evt->evt.gatts_evt.params.write;
    switch (p_ble_evt->header.evt_id)
    {
        case BLE_GAP_EVT_CONNECTED:
            err_code = bsp_indication_set(BSP_INDICATE_CONNECTED);
            APP_ERROR_CHECK(err_code);
            m_conn_handle = p_ble_evt->evt.gap_evt.conn_handle;
        break;

        case BLE_GAP_EVT_DISCONNECTED:
            m_conn_handle = BLE_CONN_HANDLE_INVALID;
            break;

        /* Событие получения новых данных в характеристику */
        case BLE_GATTS_EVT_WRITE:

        /* Функция установки состояния светодиода (от входных данных) */
             write_handler(p_evt_write->data); 
        break;

        default:
        break;
    }
}

Саму функцию установки состояния светодиода приводить не буду, это достаточно просто, тем более в прикрепленном проекте это все будет реализовано.

Теперь перейдем к функции обновления данных в характеристике. Наш смартфон сам по себе не узнает, что состояние светодиода изменилось. И даже в случае изменения переменной, отвечающей за состояние светодиода на устройстве, чтение характеристики все равно покажет неизмененное значение. Для его изменения необходимо зарегистрировать в BLE стеке данное изменение. Добавим еще одну функцию (она не универсальна, написана под конкретную характеристику, но интуитивно понятна и легко переписывается под любые нужды):

data_update

uint32_t data_update(uint8_t *data, uint16_t value_handle)
{
	uint32_t 			err_code;
	ble_gatts_value_t		gatts_value;
	uint8_t				update_buffer[1];

        /* копируем данные (если размер более одного байта) */
	memcpy(update_buffer,data,(sizeof(update_buffer)/sizeof(uint8_t)));
	memset(&gatts_value, 0, sizeof(gatts_value));

        /* сообщаем размер аттрибута */
	gatts_value.len     = sizeof(update_buffer)/sizeof(uint8_t); 
	gatts_value.offset  = 0;

        /* записываем новое значение характеристики */
	gatts_value.p_value = update_buffer; 

        /* регистрируем изменения в стеке */
	err_code = sd_ble_gatts_value_set(m_conn_handle, read_handles.value_handle, &gatts_value);
	return err_code;
}

Осталось дело за малым: проинициализировать сервис и создать характеристики в основной функции:

main

/* обработчики для характеристик (нужны для стека) */
ble_gatts_char_handles_t     control_handles,read_handles;

int main(void)
{
    uint32_t err_code;
    bool erase_bonds;

    timers_init();
    buttons_leds_init(&erase_bonds);
    ble_stack_init();
    device_manager_init(erase_bonds);
    gap_params_init();
    advertising_init();

    /* Инициализация сервиса */
    services_init();   
                                             
    /* Создание характеристики для чтения данных с устройства */
    char_add(READ_CHAR_UUID,&read_handles,1,0,0,1);
					
    /* Создание характеристики для записи данных в устройство */
    char_add(CONTROL_CHAR_UUID,&control_handles,1,1,0,0);			
    conn_params_init();

    /* Переход в режим рассылки рекламных пакетов */
    err_code = ble_advertising_start(BLE_ADV_MODE_FAST);        	
    APP_ERROR_CHECK(err_code);

    for (;;)
    {
        power_manage();
    }
}

7. Заключительное тестирование

Компилируем, заливаем и снова запускаем nRF Connect for Mobile. Видим, что у нас есть сервис и две характеристики. Они являются неизвестными для смартфона, так как в его базах таких UUID не числится, и что делать с этим он не понимает. Однако теперь мы можем спокойно управлять светодиодом путем записи в характеристику «1» или «0», а также читать текущее его значение. Данный пример можно применить практически к любой задаче, например, снятие параметров с датчиков. В дальнейшем можно написать приложение под Android, которое будет с легкостью использовать ваши сервисы в ваших целях.

8. Заключение

Данная статья призвана упростить понимание процесса обмена данными и позволить новичкам воспользоваться готовым разобранным примером, чтобы в дальнейшем на практике постигать все особенности BLE стека от Nordic Semiconductor. Ради простоты были опущены некоторые особенности и нюансы реализации, а их у подобных устройств немало. Однако ни одна статья не поможет разобраться без методичного вхождения в тему посредством проб и ошибок. Все вышеизложенное лишь позволит вам как можно быстрее начать ошибаться. Удачи)

P.S. Если тематика и манера изложения будут тепло встречены, то существует вероятность в угоду современным трендам расширить подборку статей, и в ближайшее время рассмотреть некоторые нюансы BLE стека, реализацию популярной периферии (ADC, SPI, UART, I2C) как с использованием библиотек, так и в регистрах, а также BLE приложение под android для завершения цикла.

X. Полезные материалы

  • Начало работы со стеком с применением чипа nRF51822
  • BLE под микроскопом
  • nRF51 SDK — S130 SoftDevice
  • Коротко о nRF51822: Энергосбережение и немного периферии

nRF Connect — управление чужими Bluetooth устройствами.

В данной статье, мы расскажем о мощном и универсальном инструменте сканирования и исследования Bluetooth сигналов. А именно, о приложении, которое называется «nRF Connect for Mobile».

Утилита позволяет устанавливать соединения с труднодоступными Bluetooth устройствами и работать с ними. Например, с помощью nRF Connect вы сможете подключиться к уже соединенной с другим устройством Bluetooth колонке и без проблем управлять ею. А так же, приложение поможет найти Bluetooth сигнал, который не могут обнаружить системные настройки.

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

nRF Connect for Mobile требуется разрешение на доступ к Bluetooth и GPS сигналу.

Полный список возможностей

Перехват сигнала

Для того чтобы подключиться и управлять уже работающим Bluetooth устройством, нужно:

Так же возможно придётся зайти в настройки смартфона, и найти там редко используемые устройства и оттуда произвести подключение. В таком случае, инструкция может отличаться.

Установка

nRF Connect for Mobile распространяется бесплатно, по этому его можно без проблем скачать с магазина приложений Google Play.

Так же, можете заглянуть на официальный сайт производителя, в котором сможете найти ссылку на скачивание приложения для iOS устройств и дополнительную документацию на GitHub.

Тред приложения на 4PDA, в котором вы сможете найти дополнительную информацию, старые и модифицированные версии.

Источник

Как взломать чужую Bluetooth-колонку

Для начала необходимо скачать из Google Play приложение nRF Connect.

После установки открываем приложение и заходим во вкладку «Scanner»:

Не забудьте включить Bluetooth и определение локации. Также пока что, как видите, приложение не нашло ни одного устройства. Начинаем сканирование, нажав «Scan» в правом верхнем углу экрана. Перед нами появляется список устройств поблизости.

В случае успеха устройство появится во вкладке «Bonded».

Пробуем нажать «Connect»

И у нас все получилось, взлом прошел и телефон предложил подключиться.

Можно включать свою музыку. Также возможно придётся зайти в настройки блютуза телефона, если у вас старая версия Андроида или плохая прошивка, и найти там Previously connected devices (Ранее подключенные устройства или что-то подобное, может отличаться на телефонах) и оттуда произвести подключение к колонке.

Источник

Краткое описание:
Сканирование и обнаружение ваших Bluetooth Low Energy (BLE) устройств

Описание:
nRF Connect for Mobile is a powerful generic tool that allows you to scan, advertise and explore your Bluetooth low energy (BLE) devices and communicate with them. nRF Connect supports number of Bluetooth SIG adopted profiles together with Device Firmware Update profile (DFU) from Nordic Semiconductors and Mcu Manager on Zephyr and Mynewt.

Features:
— Scans for Bluetooth low energy (BLE) devices
— Parses advertisement data
— Shows RSSI graph, allows export to CSV and Excel formats
— Connects to a connectible the Bluetooth LE device
— Discoveries and parses services and characteristics
— Allows to read and write characteristics
— Allows to enable and disable notifications and indications
— Supports Reliable Write
— Parses number of characteristics adopted by Bluetooth SIG
— BTLE advertising (Android 5+ required)
— Read and update PHY (Android 8+ required)
— GATT Server configuration
— Supports Device Firmware Update profile which let the user to upload a new application, SoftDevice or a bootloader over-the-air (OTA) from a HEX file
— Supports the Nordic UART Service
— Allow to record and replay common operations using Macros
— Allows to perform automated tests defined in XML file on Bluetooth Smart devices.
Visit the GitHub page: https://github.com/Nor…or/Android-nRF-Connect for more information about automated tests and creating init packets for the DFU.

Works well with nRF Logger application, that will store your logs in case something bad happens with nRF Connect.
Download nRF Logger from: https://play.google.co…nordicsemi.android.log

Требуется Android: 4.3+
Русский интерфейс: Нет

Скачать:
Версия: 4.24.3 Обновление GP (Владимир Евсеенко)
Версия: 4.22.3 nRF Connect (volkodav1975)
версия: 4.22.0 nRF Connect_v4.22.0(105).apk ( 9.23 МБ )

Источник

Nrf connect как пользоваться приложением

Краткое описание:
Сканирование и обнаружение ваших Bluetooth Low Energy (BLE) устройств

Описание:
nRF Connect for Mobile is a powerful generic tool that allows you to scan, advertise and explore your Bluetooth low energy (BLE) devices and communicate with them. nRF Connect supports number of Bluetooth SIG adopted profiles together with Device Firmware Update profile (DFU) from Nordic Semiconductors and Mcu Manager on Zephyr and Mynewt.

Features:
— Scans for Bluetooth low energy (BLE) devices
— Parses advertisement data
— Shows RSSI graph, allows export to CSV and Excel formats
— Connects to a connectible the Bluetooth LE device
— Discoveries and parses services and characteristics
— Allows to read and write characteristics
— Allows to enable and disable notifications and indications
— Supports Reliable Write
— Parses number of characteristics adopted by Bluetooth SIG
— BTLE advertising (Android 5+ required)
— Read and update PHY (Android 8+ required)
— GATT Server configuration
— Supports Device Firmware Update profile which let the user to upload a new application, SoftDevice or a bootloader over-the-air (OTA) from a HEX file
— Supports the Nordic UART Service
— Allow to record and replay common operations using Macros
— Allows to perform automated tests defined in XML file on Bluetooth Smart devices.
Visit the GitHub page: https://github.com/Nor…or/Android-nRF-Connect for more information about automated tests and creating init packets for the DFU.

Works well with nRF Logger application, that will store your logs in case something bad happens with nRF Connect.
Download nRF Logger from: https://play.google.co…nordicsemi.android.log

Требуется Android: 4.3+
Русский интерфейс: Нет

Скачать:
Версия: 4.24.3 Обновление GP (Владимир Евсеенко)
Версия: 4.22.3 nRF Connect (volkodav1975)
версия: 4.22.0 nRF Connect_v4.22.0(105).apk ( 9.23 МБ )

Источник

Что несёт новый nRF Connect SDK для Nordic? Эволюция, революция или альтернатива?

На прошедшей неделе Nordic Semiconductor добавил поддержку серии nRF52 в nRF Connect SDK.

Основной вопрос, который возникает у большинства — что это такое и главное зачем? Особенно актуален этот вопрос для тех, кто имеет опыт работы с nRF5 SDK, а их не мало.

Сразу отмечу, что статья в первую очередь написана для тех, кто использует традиционные подходы в разработке встраиваемых (embedded) устройств уровня Cortex-M или близких. Поэтому некоторые определения и аналогии могут показаться не полностью корректными с точки зрения тех, кто работает на высоком уровне (смотрит на происходящее со стороны Linux), но так будет проще понять тем, кто только начинает этот путь.

Комментарии и уточнения всегда приветствуются.

Системы на кристалле от Nordic пользуются заслуженным авторитетом у многих. Например, среди отечественных компаний, выпускающих устройства с Bluetooth Low Energy, порядка 90% используют их в своих устройствах. В качестве примеров успеха можно привести производителей автомобильных сигнализаций: Starline, Pandora, Scher-Khan в последних поколениях используют именно их. Ещё одним крупным примером успешного применения является компания Redmond, они же Ready4Sky. Свои умные мультиварки и прочую бытовую технику они делают также на этих чипах. За прошедший год количество выпущенных устройств приближается к 2 миллионам только на отечественный рынок.

Да и по миру Nordic Semiconductor имеет долю 40%, в 2.5 раза больше, чем у ближайшего конкурента (TI). См, квартальные отчёты. Даже такие гиганты, как Samsung и Xiaomi используют чипы Nordic в своих продуктах, несмотря на то, что имеют аналогичных решения на базе собственных чипов.

Тут же можно отметить, что не только гиганты используют Nordic, но компании поменьше, а также любители часто используют их в своих устройствах. С этой точки зрения серию nRF5x можно назвать STM для беспроводки (ожидаю обсуждения в комментариях).

Основными причинами успеха являются:

Здесь же встаёт главный вопрос, зачем был выпущен новый SDK и чем он отличается от текущего? Если так всё хорошо у текущего решения.

Текущий nRF5 SDK работает на базе простой очереди, и в большинстве случаев этого оказывается достаточно для реализации почти любой задачи (хотя, некоторые компании используют всё же свои SDK, но это исключения из правил). В новой nRF Connect SDK используется кардинально иной подходит на базе RTOS Zephyr. Рассмотрим отличия подробнее.
RTOS (ОСРВ) несут в себе, как определённые плюсы, так и известные недостатки. К последним можно отнести:

С этой точки зрения можно сравнить переход на Zephyr с появлением первых массовых ARM Cortex-M и переходом на 32 бита. Сейчас же большинство используют 32-битные МК в качестве основных, о чём есть статья на Хабре. В ней же рассказывается про переход, который первоначально казался излишне сложным. Но, со временем практически все пришли к тому, что это стало стандартом.

Стоит отметить, что Zephyr OS не является единственной RTOS работающей на чипах Nordic. Примеры проектов с FreeRTOS доступны в с SDK v.11 начиная с 2016 года, а ещё раньше в SDK v.9 была поддержка Keil RTX для семейства nRF51 (2015 год). Однако, ранее это были скорее экспериментальные функции и поддержка предоставлялась в большей степени со стороны производителей RTOS. Что в принципе верно и сейчас.

Неофициальная поддержка Zephyr для семейств nRF5x появилась ещё в 2016 году.

Полностью же сделать новый SDK на ОСРВ Zephyr Nordic решил только сейчас.

Для этого есть ряд предпосылок:

36273689c10a66b97f33142745dc7f22

На практике при реализации данного подхода возникает ряд проблем когнитивного свойства. Разработчики, привыкшие к продукту и решениям испытывают диссонанс при большом количестве изменений.

Рассмотрим версию разработки на Windows, так как именно она вызовет больше вопросов, относительно тех, кто привык к разработке на Linux.

Необходимы следующие пакеты:

Например, Chocolatey и pip позволяют установить все необходимые пакеты через консоль для ОС и Python соответственно. Причём сам Python, как и большинство рассматриваемого ПО ставится одной командой:

Обновляется также одной командой:

Подход немного не привычен для пользователей Windows, для тех же, кто знаком с консольными менеджерами пакетов в Linux (apt, zypper и т.п.) ничего нового. Не раз замечал ситуацию, что разработчики ПО для МК обновляют софт, лишь при переустановке ОС на ПК. Про то, почему это плохо мы говорить не будем, отмечу лишь, что здесь это задача решается автоматически.

Гораздо более интересны нововведения в области конфигурации и сборки проектов.

Ninja разрабатывался и позиционируется, как замена make и ориентирован на скорость сборки. Особо хорошо себя показывает в применениях, когда необходимо пересобирать проекты с кучей мелких файлов, где не было изменений. Эффект может быть на порядок, а то и два, см. тесты.

Cmake в свою очередь позволяет генерировать конфигурационные файлы для Ninja на высокоуровневом (скриптовом) языке под платформу на которой будет происходить сборка. Про Cmake можно почитать на Хабре, например, тут, тут и тут,
GPerf генерирует таблицу указателей, что позволяет сэкономить память, см. 3 стадию сборки ниже.

Отдельно стоит обратить внимание на новый подход к описанию железа. Появились Devicetree, описывающие аппаратную структуру устройства. Это является прямым следствием поддержки Zephyr силами Linux Foundation.

Как было сказано ранее, Nordic впервые выпустил Zephyr на nRF91 серии, потом на nRF53, и сейчас он наконец добрался до наиболее массовой nRF52.

Переход на RTOS позволяет в свою очередь решить проблему адаптации кода под новое железо. Даже среди чипов одного семейства переход требовал определённых ресурсов со стороны разработки, если сопровождался переходом на другой softdevice (предкомпилированную библиотеку BLE). Не говоря уже про переход, например с 51 или 91 серии на 52, когда значительно меняется сама аппаратная платформа. Сейчас же эта задача будет решаться гораздо проще и быстрее.

Железо у Nordic постоянно совершенствуется, но об этом необходимо писать отдельно. В рамках этой статьи можно лишь отметить, что ставка делается на интеграцию с RTOS, безопасность, энергоэффективность и улучшение радиоканала (BLE 5.2). Спасибо можно сказать двухядерным Cortex-M33, ARM Cryptocell и ARM TrustZone

Для сборки devicetree используется Device Tree Compiler, входящий в состав MSYS2 (улучшенная система сборки на базе Cygwin и MinGW-64).

Вторая часть конфигурации проекта находится в KConfig (Kernel config), который также был наследован из Linux. Он позволяет через графический интерфейс выбрать необходимые блоки и задать параметры для сборки под конкретную задачу, что особо актуально в условиях ограниченных ресурсов систем на кристалле.

Можно использовать традиционные утилиты типа menuconfig или же в рамках Segger Embedded Studio (официальной рекомендованной IDE) есть встроенный интерфейс, который запускается через соответствующий пункт в меню: Project > Configure nRF Connect SDK Project

cvszbqtv9frwur8ss1hncds b2k

Пример конфигурации проекта с SSL/TLS на базе nRF9160 представлен ниже. Как видно в нём можно настроить как аппаратные особенности проекта (платформу, количество потоков, подключаемые модули ядра), так и программные (ключи, адреса и т.п.).

b

Рассмотрим стадии сборки проекта: Всего их пять:

Напрямую сравнивать результаты работы программ, созданных на двух SDK нельзя. Так как библиотеки и подходы очень сильно отличаются и пока нет подобных тестов. Определённо можно сказать, что решение хорошо себя ощущает на средних и топовых чипах в линейке (nRF52832 и выше), остаётся большой запас по ресурсам. При этом нельзя сказать, что новый SDK не применим на младших чипах типа nRF52810. Необходимо рассматривать задачу более детально.

Возвращаясь к вопросу выведенному в название статьи, можно сказать, что эта парадигма — определённо новая реальность. Которая на первый взгляд несёт значительные улучшения. Как минимум 2 новых семейства чипов у крупнейшего производителя BLE в мире работают именно и только на этой технологии и возврата назад не предвидится. На мой взгляд это — революция, которую готовили заранее.

Update: 14 Мая Nordic провёл вебинар про новый SDK в котором озвучил, что все версии BLE старше 5.0 будут доступны только в nRF Connect SDK. Соответственно Directino Finding aka AoA/AoD (BLE 5.1) и LE Audio (BLE 5.2), которые многие ждут, принесут с собой новый инструментарий уже в этом году и изменения в разработке наступят раньше, чем предполагалось.

Источник

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Гейзер нанотек инструкция по установке
  • Эзамол с египет инструкция по применению
  • Часы talking clock инструкция на русском говорящие
  • Liqui moly kuhler reiniger инструкция
  • Альфа нормикс официальная инструкция по применению