Innholdsfortegnelse:

Lys bambus (tilkoblet lampe): 3 trinn
Lys bambus (tilkoblet lampe): 3 trinn

Video: Lys bambus (tilkoblet lampe): 3 trinn

Video: Lys bambus (tilkoblet lampe): 3 trinn
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Lys bambus (tilkoblet lampe)
Lys bambus (tilkoblet lampe)

Hei og velkommen!

Light bamboo er en tilkoblet lampe som lyser når en melding mottas på Android -smarttelefonen som den er koblet til. Målet med denne instruksen er å vise deg designfasen av prosjektet: fra maskinvarearkitekturen til Bluetooth Low Energy (BLE) -forbindelsen og Android -applikasjonsbygningen.

Til lampen vår valgte vi et plastanlegg for et kult dekorasjonsdesign. For dette prosjektet er varslene som vises fra følgende applikasjoner: samtaler, sms/mms, facebook, messenger, instagram, whatsapp ang gmail. En lys farge tilskrives hver type melding.

For dette prosjektet trenger du:

  • En uC med en integrert BLE -modul: nFR51822 RedBearLab
  • 3 NeoPixel -ring (12 RGB -lysdioder)
  • En Android -smarttelefon
  • Android Studio

Hver melding har en bestemt prioritet, avhengig av viktigheten. For eksempel er et varsel om innkommende anrop viktigere enn et Facebook -varsel. I så fall vil fargene på lysdiodene knyttes til varslingen om innkommende anrop.

Smarttelefonen som vi utviklet applikasjonen på er en Samsung Galaxy A5.

Trinn 1: Maskinvaredel

Maskinvare del
Maskinvare del

Arkitekturen vår er ganske enkel.

Koble NeoPixel -ringpinnene til nRF51822 -kortet som følger:

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

Du kan legge merke til at vi ikke bruker Output Data -pinnen til NeoPixel Ring. Det er fordi Input Data -pinnene til de tre NeoPixel -ringene vi bruker i dette prosjektet alle er koblet til den samme porten på nRF51822 -kortet (pin 3).

Trinn 2: Programvaredel

Programvare del
Programvare del
Programvare del
Programvare del
Programvare del
Programvare del

1. Bluetooth lavenergikommunikasjon:

I en BLE -kommunikasjon utveksler serveren (som i vårt tilfelle uC) og klienten (smarttelefonen) data ved hjelp av GATT -transaksjoner. I disse transaksjonene er dataene organisert hierarkisk i seksjoner kalt tjenester, som grupperer konseptuelt relaterte deler av brukerdata kalt egenskaper. I vårt tilfelle er datakapslingen enkel siden vi bare har én informasjon som skal overføres fra klienten til serveren (se bildet ovenfor).

  • på serversiden: For å kunne bruke nrf51822 -kortet som en BLE -server, må du først installere "BLEPeripheral.h" -biblioteket på Arduino IDE. Dette biblioteket inneholder funksjoner som er klare til bruk for å lage tjenester og egenskaper og reklame.
  • på klientsiden: For å starte en BLE -kommunikasjon i Android Studio må du først konfigurere BLE -tillatelsene i Manifest -filen. Deretter, i filen activity_main.xml, legger du til 4 knapper: skann, stopp skanning, koble til og fra, slik at programmet kan søke etter BLE -enheter i nærheten, stoppe skanningen, koble til og koble fra en enhet. I filen main_activity.java implementerer du funksjonene som er knyttet til de forrige knappene: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Til slutt implementerer du tilbakeringingsfunksjonene som blir ringt opp når klientens tilstand endres.

2. Varslingshåndtering

  • på klientsiden (på Android Studio): For å lytte etter varslene som kommer fra smarttelefonen, implementer du en varsellytter som aktiveres når et varsel skjer i statuslinjen. Denne varsellytteren sender en "melding", kalt en hensikt, til hovedaktiviteten når et varsel legges ut eller fjernes. Denne "meldingen" inneholder en varslingskode som hjelper deg med å identifisere applikasjonen som postet varselet. For å behandle varselet i hovedaktiviteten, opprett en kringkastingsmottaker som vil motta meldingen fra varsellytteren. Avhengig av varslingskoden sendes et annet tegn til serveren.
  • på serversiden (på Arduino IDE): varselet som har høyest prioritet vises.

Trinn 3: Trinn 3: Vedlegg

Her finner du all kodekilde.

Anbefalt: