Indholdsfortegnelse:

Lys bambus (tilsluttet lampe): 3 trin
Lys bambus (tilsluttet lampe): 3 trin

Video: Lys bambus (tilsluttet lampe): 3 trin

Video: Lys bambus (tilsluttet lampe): 3 trin
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, November
Anonim
Lys bambus (tilsluttet lampe)
Lys bambus (tilsluttet lampe)

Hej og velkommen!

Lys bambus er en tilsluttet lampe, der lyser, når der modtages en meddelelse på den Android -smartphone, som den er tilsluttet. Målet med denne instruktive er at vise dig projektets designfase: fra hardware -arkitekturen til Bluetooth Low Energy (BLE) -forbindelsen og Android -applikationsbygningen.

Til vores lampe valgte vi en plastikplante til et køligt dekorationsdesign. For dette projekt er de meddelelser, der vises, fra følgende applikationer: opkald, sms/mms, facebook, messenger, instagram, whatsapp ang gmail. En lys farve tilskrives hver type meddelelse.

Til dette projekt skal du bruge:

  • En uC med et integreret BLE -modul: nFR51822 RedBearLab
  • 3 NeoPixel -ring (12 RGB -lysdioder)
  • En Android -smartphone
  • Android Studio

Hver meddelelse har en særlig prioritet, afhængigt af dens betydning. For eksempel er en meddelelse om indgående opkald vigtigere end en Facebook -meddelelse. I så fald vil lysdiodernes farve blive knyttet til meddelelsen om indgående opkald.

Den smartphone, som vi udviklede applikationen på, er en Samsung Galaxy A5.

Trin 1: Hardware -del

Hardware del
Hardware del

Vores arkitektur er ganske enkel.

Tilslut NeoPixel -ringstifterne til nRF51822 -kortet som følger:

  • Inout Datastift på NeoPixel -ringen til port 3 på uC.
  • Vcc af NeoPixel Ring til 3.3V af uC.
  • GND for NeoPixel Ring til GND for uC.

Du kan bemærke, at vi ikke bruger Output Data pin på NeoPixel Ring. Det er fordi Input Data -benene på de tre NeoPixel -ringe, vi bruger i dette projekt, alle er forbundet til den samme port på nRF51822 -kortet (pin 3).

Trin 2: Softwaredel

Software del
Software del
Software del
Software del
Software del
Software del

1. Bluetooth lavenergikommunikation:

I en BLE -kommunikation udveksler serveren (som i vores tilfælde er uC) og klienten (smartphonen) data ved hjælp af GATT -transaktioner. I disse transaktioner er dataene hierarkisk organiseret i sektioner kaldet tjenester, som grupperer konceptuelt relaterede stykker brugerdata kaldet egenskaber. I vores tilfælde er datakapslingen enkel, da vi kun har én information, der skal overføres fra klienten til serveren (se billedet ovenfor).

  • på serversiden: For at kunne bruge nrf51822 -kortet som en BLE -server skal du først installere "BLEPeripheral.h" -biblioteket på Arduino IDE. Dette bibliotek indeholder funktioner, der er klar til brug, til oprettelse af tjenester og egenskaber og reklame.
  • på klientsiden: For at starte en BLE -kommunikation i Android Studio skal du først konfigurere BLE -tilladelserne i Manifest -filen. Tilføj derefter 4 knapper i filen activity_main.xml: scan, stop scanning, tilslut og afbryd, der gør det muligt for applikationen at scanne efter nærliggende BLE -enheder, stoppe scanningen, tilslutte og afbryde forbindelsen til en enhed. I main_activity.java -filen skal du implementere de funktioner, der er knyttet til de tidligere knapper: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Endelig implementer de tilbagekaldsfunktioner, der bliver kaldt, når klientens tilstand ændres.

2. Meddelelseshåndtering

  • på klientsiden (på Android Studio): For at lytte efter de meddelelser, der kommer fra smartphonen, skal du implementere en meddelelseslytter, der aktiveres, når der opstår en meddelelse i statuslinjen. Denne meddelelseslytter sender en "besked", kaldet en hensigt, til hovedaktiviteten, når en meddelelse er lagt ud eller fjernet. Denne "besked" indeholder en meddelelseskode, der hjælper med at identificere den applikation, der har sendt meddelelsen. For at behandle meddelelsen i hovedaktiviteten skal du oprette en udsendelsesmodtager, der modtager meddelelsen fra meddelelseslytteren. Afhængigt af meddelelseskoden sendes derefter et andet tegn til serveren.
  • på serversiden (på Arduino IDE): meddelelsen, der har den højeste prioritet, vises.

Trin 3: Trin 3: Bilag

Her finder du al kodekilden.

Anbefalede: