Spisu treści:
Wideo: Jasny bambus (podłączona lampa): 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Cześć i witaj!
Light bamboo to podłączona lampa, która zapala się po otrzymaniu powiadomienia na smartfonie z systemem Android, do którego jest podłączona. Celem tej instrukcji jest pokazanie etapu projektowania projektu: od architektury sprzętowej, przez połączenie Bluetooth Low Energy (BLE) i budowę aplikacji na Androida.
Do naszej lampy wybraliśmy plastikową roślinę, aby uzyskać fajny projekt dekoracyjny. W przypadku tego projektu wyświetlane powiadomienia pochodzą z następujących aplikacji: połączenia, sms/mms, facebook, messenger, instagram, WhatsApp ang gmail. Do każdego rodzaju powiadomienia przypisany jest jeden jasny kolor.
Do tego projektu będziesz potrzebować:
- A uC ze zintegrowanym modułem BLE: nFR51822 RedBearLab
- 3 pierścienie NeoPixel (12 diod LED RGB)
- Smartfon z Androidem
- Studio Android
Każde powiadomienie ma określony priorytet, w zależności od jego ważności. Na przykład powiadomienie o połączeniu przychodzącym jest ważniejsze niż powiadomienie na Facebooku. W takim przypadku kolor diod LED zostanie powiązany z powiadomieniem o połączeniu przychodzącym.
Smartfon, na którym stworzyliśmy aplikację, to Samsung Galaxy A5.
Krok 1: Część sprzętowa
Nasza architektura jest dość prosta.
Podłącz piny NeoPixel Ring do płyty nRF51822 w następujący sposób:
- Inout Data pin pierścienia NeoPixel Ring do portu 3 uC.
- Vcc pierścienia NeoPixel do 3,3 V uC.
- GND pierścienia NeoPixel do GND uC.
Możesz zauważyć, że nie używamy pinu Output Data pierścienia NeoPixel. Dzieje się tak, ponieważ piny danych wejściowych trzech pierścieni NeoPixel, których używamy w tym projekcie, są wszystkie podłączone do tego samego portu płyty nRF51822 (pin 3).
Krok 2: Część oprogramowania
1. Komunikacja Bluetooth Low Energy:
W komunikacji BLE serwer (w naszym przypadku jest to uC) i klient (smartfon) wymieniają dane za pomocą transakcji GATT. W tych transakcjach dane są zorganizowane hierarchicznie w sekcje zwane usługami, które grupują powiązane pojęciowo fragmenty danych użytkownika zwane cechami. W naszym przypadku enkapsulacja danych jest prosta, ponieważ mamy tylko jedną informację do przekazania od klienta do serwera (patrz obrazek powyżej).
- po stronie serwera: Aby móc używać płyty nrf51822 jako serwera BLE, najpierw zainstaluj bibliotekę "BLEPeripheral.h" na Arduino IDE. Ta biblioteka zawiera gotowe do użycia funkcje do tworzenia usług i charakterystyk oraz reklamy.
- po stronie klienta: Aby rozpocząć komunikację BLE w Android Studio, najpierw skonfiguruj uprawnienia BLE w pliku Manifest. Następnie w pliku activity_main.xml dodaj 4 przyciski: skanuj, zatrzymaj skanowanie, połącz i rozłącz, które pozwolą aplikacji na skanowanie w poszukiwaniu pobliskich urządzeń BLE, zatrzymanie skanowania, połączenie i rozłączenie z urządzeniem. W pliku main_activity.java zaimplementuj funkcje, które są powiązane z poprzednimi przyciskami: startScanning(), stopscanning(), connectToDeviceSelected(), DisconnectDeviceSelected(). Na koniec zaimplementuj funkcje zwrotne, które są wywoływane, gdy stan klienta się zmieni.
2. Zarządzanie powiadomieniami
- po stronie klienta (w Android Studio): Aby nasłuchiwać powiadomień przychodzących ze smartfona, zaimplementuj nasłuchiwanie powiadomień, które jest aktywowane, gdy powiadomienie pojawi się na pasku stanu. Ten detektor powiadomień wyśle „wiadomość”, zwaną intencją, do głównej aktywności, gdy powiadomienie zostanie opublikowane lub usunięte. Ta „wiadomość” zawiera kod powiadomienia, który pomaga zidentyfikować aplikację, która wysłała powiadomienie. Aby przetworzyć powiadomienie w działaniu głównym, utwórz odbiornik emisji, który odbierze wiadomość od odbiornika powiadomień. Następnie, w zależności od kodu powiadomienia, na serwer wysyłany jest inny znak.
- po stronie serwera (na Arduino IDE): wyświetlane jest powiadomienie o najwyższym priorytecie.
Krok 3: Krok 3: Aneksy
Tutaj znajdziesz całe źródło kodu.
Zalecana:
Smart B.A.L (podłączona skrzynka pocztowa): 4 kroki
Smart B.A.L (podłączona skrzynka pocztowa): Masz dość sprawdzania za każdym razem, gdy twoja skrzynka pocztowa nie ma nic w środku. Chcesz wiedzieć, czy podczas podróży otrzymasz pocztę lub paczkę. Połączona skrzynka pocztowa jest dla Ciebie. Poinformuje Cię, jeśli listonosz zdeponował pocztę lub para
Jasny świat (kula LED): 4 kroki
Bright World (LED Globe): Taka była początkowa koncepcja. Kubełkowa kula z oprawą LED. Jest to czysta dekoracja lub element centralny stolika kawowego (jeśli go masz, ja nie). Lista materiałów: -Gorący klej -Rezystory akrylowe-LED 10k -Bateria 9 V -Cięcie laserowe
Jasny sejf: 6 kroków
Jasny sejf: Ten projekt proponuje sposób na zabezpieczenie Twojej rzeczy. Efektem końcowym projektu jest przełącznik sterowany przez arduino po dwóch etapach bezpieczeństwa. Przełącznik może otworzyć portal, zastąpić pilota lub po prostu sterować silnikiem. Mój projekt pre
Jak zrobić realistyczny sztuczny neon - super jasny !: 8 kroków (ze zdjęciami)
Jak zrobić realistyczny sztuczny neon - super jasny !: Cześć chłopaki, to moja zupełnie nowa, oryginalna metoda tworzenia symulowanego neonu z diod LED, który wygląda super realistycznie. Naprawdę wygląda jak dmuchana szklana rura, z całym zróżnicowanym światłem, które pochodzi z załamania szkła w różnych
Podłączona ładowarka: 5 kroków (ze zdjęciami)
Podłączona ładowarka: Jakiś miesiąc temu kupiłem skuter elektryczny do codziennej jazdy do pracy. Nazywa się HP_BEXXTER (wyszukaj go w Google, aby uzyskać więcej informacji:-)) Teraz chciałem wiedzieć, ile energii potrzebuję do tych dysków. Chcę również zebrać więcej informacji o