Skip to content

Stormotion-Mobile/ble-workshop

Repository files navigation

Як працювати з Bluetooth Low Energy (BLE) в React Native

Мета цього воркшопу розбіратися з базовими функціями BLE в React Native, включаючи сканування пристроїв, підключення до них, читання та запис характеристик.

Вимоги

Перед початком воркшоу дуже бажано зробити наступне:

  1. Клонувати репозиторій та перемкнутися на гілку workshop, не підглядуючи код з main
  2. Зробити Expo prebuild для Android чи iOS

Android: yarn expo prebuild --platform android

iOS: yarn expo prebuild --platform ios

Далі відкрийте проект у Android Studio або Xcode та запустіть додаток на реальному пристрої, емулятори не підтримують BLE.

Для iOS треба змінити Bundle Identifier у Xcode на унікальний, та обрати персональний Development Team.

Якщо Anroid Studio відмовляється збирати проект, скоріше за все вона собі виставила JDK 21. Необхідно виставити JDK 17 у налаштуваннях: Settings -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JDK

  1. Не погано було б також мати Nrf Connect на вашому телефоні для тестування. Це додаток, який дозволяє шукати та взаємодіяти з BLE пристроями.

Android

iOS

За допомогою цього додатку можна буде підключитися до тестового девайсу та подивитися на сервіси та характеристики.

Тестовий пристрій

Як піддослідний пристрій ми будемо використовувати термометр Xiaomi (LYWSD03MMC).

Цей пристрій підтримує більшість основних функцій BLE, таких як сканування, підключення, читання характеристик та отримання сповіщень. Пейрінгу немає, але це уже більш складна функція, яку ми не будемо розглядати на цьому воркшопі.

Чеклист функціоналу

  • Сканування BLE пристроїв
  • Визначення MAC-адреси пристрою
  • Підключення до пристрою
  • Читання характеристик (температура, вологість, батарея, одиниці виміру)
  • Отримання сповіщень про зміну характеристик
  • Запис характеристик (одиниці виміру)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors