Съдържание:

Светъл бамбук (свързана лампа): 3 стъпки
Светъл бамбук (свързана лампа): 3 стъпки

Видео: Светъл бамбук (свързана лампа): 3 стъпки

Видео: Светъл бамбук (свързана лампа): 3 стъпки
Видео: Камера-ЛАМПА со слежением и определением человека. 2024, Ноември
Anonim
Светъл бамбук (свързана лампа)
Светъл бамбук (свързана лампа)

Здравей и добре дошъл!

Светлият бамбук е свързана лампа, която светва, когато се получи известие на смартфона с Android, към който е свързан. Целта на тази инструкция е да ви покаже етапа на проектиране на проекта: от хардуерната архитектура, до Bluetooth Low Energy (BLE) връзката и изграждането на приложения за Android.

За нашата лампа избрахме пластмасова инсталация за готин декоративен дизайн. За този проект известията, които се показват, са от следните приложения: обаждания, sms/mms, facebook, messenger, instagram, whatsapp gmail. За всеки тип известие се приписва един светъл цвят.

За този проект ще ви трябва:

  • UC с вграден BLE модул: nFR51822 RedBearLab
  • 3 пръстена NeoPixel (12 RGB светодиода)
  • Смартфон с Android
  • Android Studio

Всяко уведомление има определен приоритет, в зависимост от важността му. Например, известие за входящо повикване е по -важно от известие от Facebook. В този случай цветът на светодиодите ще бъде свързан с известието за входящо повикване.

Смартфонът, на който разработихме приложението, е Samsung Galaxy A5.

Стъпка 1: Хардуерна част

Хардуерна част
Хардуерна част

Нашата архитектура е доста проста.

Свържете щифтовете NeoPixel Ring към платката nRF51822, както следва:

  • Inout Data pin на NeoPixel Ring към порта 3 на uC.
  • Vcc на пръстена NeoPixel до 3.3V на uC.
  • GND на пръстена NeoPixel към GND на uC.

Можете да забележите, че не използваме извода за изходни данни на пръстена NeoPixel. Това е така, защото щифтовете за входни данни на трите пръстена NeoPixel, които използваме в този проект, са свързани към един и същ порт на платката nRF51822 (щифт 3).

Стъпка 2: Софтуерна част

Софтуерна част
Софтуерна част
Софтуерна част
Софтуерна част
Софтуерна част
Софтуерна част

1. Bluetooth ниско енергийната комуникация:

В BLE комуникация сървърът (който в нашия случай е uC) и клиентът (смартфонът) обменят данни, използвайки GATT транзакции. При тези транзакции данните са организирани йерархично в секции, наречени услуги, които групират концептуално свързани части от потребителски данни, наречени характеристики. В нашия случай капсулирането на данни е просто, тъй като имаме само една информация за предаване от клиента на сървъра (вижте изображението по -горе).

  • от страна на сървъра: За да можете да използвате платката nrf51822 като BLE сървър, първо инсталирайте библиотеката "BLEPeripheral.h" на Arduino IDE. Тази библиотека предоставя готови за използване функции за създаване на услуги и характеристики и реклама.
  • от страна на клиента: За да започнете BLE комуникация в Android Studio, първо конфигурирайте разрешенията за BLE във файла Manifest. След това във файла activity_main.xml добавете 4 бутона: сканиране, спиране на сканирането, свързване и прекъсване, което ще позволи на приложението да сканира за близки BLE устройства, да спре сканирането, да се свърже и да прекъсне връзката с устройство. Във файла main_activity.java внедрете функциите, свързани с предишните бутони: startScanning (), stopcanning (), connectToDeviceSelected (), disconnectDeviceSelected (). И накрая, внедрете функциите за обратно извикване, които се извикват при промяна на състоянието на клиента.

2. Управление на известията

  • от страна на клиента (в Android Studio): За да слушате известията, идващи от смартфона, внедрете слушател за известия, който се активира, когато се появи известие в лентата на състоянието. Този слушател на известия ще изпрати „съобщение“, наречено намерение, към основната дейност, когато е публикувано или премахнато известие. Това „съобщение“съдържа код за известие, който помага да се идентифицира приложението, което е публикувало известието. За да обработите известието в основната дейност, създайте излъчващ приемник, който ще получи съобщението от слушателя на известията. След това, в зависимост от кода за известие, към сървъра се изпраща различен знак.
  • от страна на сървъра (на Arduino IDE): извежда се известието с най -висок приоритет.

Стъпка 3: Стъпка 3: Приложения

Тук ще намерите целия източник на код.

Препоръчано: