Innehållsförteckning:
Video: Lätt bambu (ansluten lampa): 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
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
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
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:
Smart B.A.L (ansluten brevlåda): 4 steg
Smart B.A.L (ansluten brevlåda): Du är trött på att kolla varje gång din brevlåda medan det inte finns något inuti. Du vill veta om du får din post eller ett paket under en resa. Så den anslutna brevlådan är för dig. Det meddelar dig om brevbäraren har deponerat ett e -postmeddelande eller
Kontrollera en TV och ansluten Raspberry Pi med samma fjärrkontroll: 4 steg
Kontrollera en TV och ansluten Raspberry Pi med samma fjärrkontroll: För att styra en Raspberry Pi med infraröd fjärrkontroll brukade vi kunna använda LIRC. Det brukade fungera fram till Kernel 4.19.X när det blev mycket mer utmanande att få LIRC att fungera. I det här projektet har vi en Raspberry Pi 3 B+ ansluten till en TV och vi
Hitta WLAN -lösenord (behöver bara vara ansluten): 4 steg
Hitta WLAN -lösenord (behöver bara vara ansluten): Det jag vill visa dig idag är faktiskt bara ett kommando. Men du kan också busa dina vänner med det! Observera: Det här är inte ett hack för att hacka ett wlan -lösenord. Det är bara ett sätt att ta reda på wlan -lösenordet för den anslutna wlan
Ambilight -system för varje ingång som är ansluten till din TV. WS2812B Arduino UNO Raspberry Pi HDMI (uppdaterad 12.2019): 12 steg (med bilder)
Ambilight -system för varje ingång som är ansluten till din TV. WS2812B Arduino UNO Raspberry Pi HDMI (Uppdaterad 12.2019): Jag har alltid velat lägga till ambilight till min TV. Det ser så coolt ut! Jag gjorde äntligen det och jag blev inte besviken! Jag har sett många videor och många självstudier om hur man skapar ett Ambilight -system för din TV men jag har aldrig hittat en fullständig handledning för mitt exakta
DIY MusiLED, musiksynkroniserade lysdioder med ett klick Windows och Linux-applikation (32-bitars och 64-bitars). Lätt att återskapa, lätt att använda, lätt att porta .: 3 steg
DIY MusiLED, musiksynkroniserade lysdioder med ett klick Windows och Linux-applikation (32-bitars och 64-bitars). Lätt att återskapa, lätt att använda, lätt att porta .: Detta projekt hjälper dig att ansluta 18 lysdioder (6 röda + 6 blå + 6 gula) till ditt Arduino-kort och analysera datorns ljudkortets realtidsignaler och vidarebefordra dem till lysdioderna för att tända dem enligt slageffekterna (Snare, High Hat, Kick)