Innehållsförteckning:

Lätt bambu (ansluten lampa): 3 steg
Lätt bambu (ansluten lampa): 3 steg

Video: Lätt bambu (ansluten lampa): 3 steg

Video: Lätt bambu (ansluten lampa): 3 steg
Video: 3 мегапикселя камера видеонаблюдения. Стоит ли покупать? На что влияет разрешение? 2024, November
Anonim
Light Bamboo (ansluten lampa)
Light Bamboo (ansluten lampa)

Hej och välkommen!

Light bamboo är en ansluten lampa som tänds när ett meddelande tas emot på Android -smarttelefonen som den är ansluten till. Målet med denna instruerbara är att visa projektets designstadium: från hårdvaruarkitekturen till Bluetooth Low Energy (BLE) -anslutningen och Android -applikationsbyggnaden.

Till vår lampa valde vi en plastväxt för en cool dekorationsdesign. För detta projekt är meddelandena som visas från följande applikationer: samtal, sms/mms, facebook, messenger, instagram, whatsapp ang gmail. En ljus färg tillskrivs för varje typ av meddelande.

För detta projekt behöver du:

  • En UC med en integrerad BLE -modul: nFR51822 RedBearLab
  • 3 NeoPixel -ring (12 RGB -lysdioder)
  • En Android -smartphone
  • Android Studio

Varje anmälan har en specifik prioritet, beroende på dess betydelse. Ett meddelande om inkommande samtal är till exempel viktigare än ett Facebook -meddelande. I så fall kopplas lysdiodernas färg till meddelandet om inkommande samtal.

Smarttelefonen som vi utvecklade applikationen på är en Samsung Galaxy A5.

Steg 1: Hårdvarudel

Hårdvara del
Hårdvara del

Vår arkitektur är ganska enkel.

Anslut NeoPixel Ring -stiften till nRF51822 -kortet enligt följande:

  • Inout Datastift för NeoPixel -ringen till port 3 på uC.
  • Vcc för NeoPixel -ringen till 3.3V för uC.
  • GND för NeoPixel Ring till GND för uC.

Du kan märka att vi inte använder Output Data -pin på NeoPixel Ring. Det beror på att inmatningsdatastiften för de tre NeoPixel -ringarna som vi använder i detta projekt är alla anslutna till samma port på nRF51822 -kortet (stift 3).

Steg 2: Programvarudel

Programvara Del
Programvara Del
Programvara Del
Programvara Del
Programvara Del
Programvara Del

1. Bluetooth Low Energy -kommunikation:

I en BLE -kommunikation utbyter servern (som i vårt fall är uC) och klienten (smarttelefonen) data med hjälp av GATT -transaktioner. I dessa transaktioner organiseras data hierarkiskt i sektioner som kallas tjänster, som grupperar konceptuellt relaterade delar av användardata som kallas egenskaper. I vårt fall är datakapslingen enkel eftersom vi bara har en information att överföra från klienten till servern (se bilden ovan).

  • på serversidan: För att kunna använda kortet nrf51822 som en BLE -server installerar du först "BLEPeripheral.h" -biblioteket på Arduino IDE. Detta bibliotek har färdiga funktioner för att skapa tjänster och egenskaper och reklam.
  • på klientsidan: För att starta en BLE -kommunikation i Android Studio, konfigurera först BLE -behörigheterna i Manifest -filen. Lägg sedan till 4 knappar i filen activity_main.xml: skanna, stoppa skanning, anslut och koppla från vilket gör att programmet kan söka efter närliggande BLE -enheter, stoppa skanningen, anslut och koppla från en enhet. I filen main_activity.java implementerar du funktionerna som är associerade med de föregående knapparna: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Slutligen implementerar du återuppringningsfunktionerna som blir uppringda när klientens tillstånd ändras.

2. Meddelandehantering

  • på klientsidan (på Android Studio): För att lyssna på aviseringarna som kommer från smarttelefonen, implementera en aviseringslyssnare som aktiveras när en avisering uppstår i statusfältet. Denna avisering lyssnare kommer att skicka ett "meddelande", kallat en avsikt, till huvudaktiviteten när ett meddelande läggs ut eller tas bort. Detta "meddelande" innehåller en aviseringskod som hjälper till att identifiera appen som skickade meddelandet. För att bearbeta aviseringen i huvudaktiviteten, skapa en sändningsmottagare som tar emot meddelandet från aviseringens lyssnare. Beroende på meddelandekoden skickas ett annat tecken till servern.
  • på serversidan (på Arduino IDE): meddelandet som har högst prioritet visas.

Steg 3: Steg 3: Bilagor

Här hittar du all kodkälla.

Rekommenderad: