Inhoudsopgave:
Video: Licht bamboe (verbonden lamp): 3 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Hallo en welkom!
Light Bamboo is een connected lamp die oplicht wanneer er een melding binnenkomt op de Android-smartphone waarmee hij is verbonden. Het doel van deze instructable is om u de ontwerpfase van het project te laten zien: van de hardware-architectuur tot de Bluetooth Low Energy (BLE)-verbinding en het bouwen van de Android-applicatie.
Voor onze lamp hebben we gekozen voor een plastic plant voor een cool decorerend ontwerp. Voor dit project zijn de meldingen die worden weergegeven afkomstig van de volgende applicaties: oproepen, sms/mms, facebook, messenger, instagram, whatsapp ang gmail. Voor elk type melding wordt één lichte kleur toegekend.
Voor dit project heb je nodig:
- Een uC met een geïntegreerde BLE-module: nFR51822 RedBearLab
- 3 NeoPixel Ring (12 RGB-LED's)
- Een Android-smartphone
- Android Studio
Elke melding heeft een specifieke prioriteit, afhankelijk van het belang ervan. Zo is een inkomende oproep notificatie belangrijker dan een Facebook notificatie. In dat geval wordt de kleur van de LED's gekoppeld aan de melding van een inkomende oproep.
De smartphone waarop we de applicatie hebben ontwikkeld is een Samsung Galaxy A5.
Stap 1: Hardware-onderdeel
Onze architectuur is vrij eenvoudig.
Sluit de NeoPixel Ring-pinnen als volgt aan op de nRF51822-kaart:
- Inout Data pin van de NeoPixel Ring naar poort 3 van de uC.
- Vcc van de NeoPixel Ring naar de 3.3V van de uC.
- GND van de NeoPixel Ring naar de GND van de uC.
Je merkt dat we de Output Data pin van de NeoPixel Ring niet gebruiken. Dat komt omdat de Input Data-pinnen van de drie NeoPixel Rings die we in dit project gebruiken allemaal zijn verbonden met dezelfde poort van het nRF51822-bord (pin 3).
Stap 2: Softwareonderdeel
1. De Bluetooth Low Energy-communicatie:
Bij een BLE-communicatie wisselen de server (in ons geval de uC) en de client (de smartphone) gegevens uit via GATT-transacties. Bij die transacties zijn de gegevens hiërarchisch georganiseerd in secties die services worden genoemd en die conceptueel gerelateerde stukjes gebruikersgegevens groeperen die kenmerken worden genoemd. In ons geval is het inkapselen van gegevens eenvoudig, omdat we maar één informatie van de client naar de server hoeven door te geven (zie de afbeelding hierboven).
- aan de serverkant: Om het nrf51822-bord als een BLE-server te kunnen gebruiken, installeert u eerst de "BLEPeripheral.h" -bibliotheek op de Arduino IDE. Deze bibliotheek biedt kant-en-klare functies voor het maken van de services en kenmerken en advertenties.
- aan de clientzijde: om een BLE-communicatie in Android Studio te starten, configureert u eerst de BLE-machtigingen in het manifestbestand. Voeg vervolgens in het activity_main.xml-bestand 4 knoppen toe: scannen, scannen stoppen, verbinden en loskoppelen waarmee de toepassing kan scannen naar BLE-apparaten in de buurt, de scan kan stoppen, verbinding kan maken en de verbinding met een apparaat kan verbreken. Implementeer in het bestand main_activity.java de functies die zijn gekoppeld aan de vorige knoppen: startScanning(), stopscanning(), connectToDeviceSelected(), disconnectDeviceSelected(). Implementeer ten slotte de callback-functies die worden aangeroepen wanneer de status van de client verandert.
2. Beheer van meldingen
- aan de clientzijde (op Android Studio): Om te luisteren naar de meldingen die van de smartphone komen, implementeert u een meldingslistener die wordt geactiveerd wanneer een melding in de statusbalk voorkomt. Deze notificatielistener stuurt een "bericht", een intentie genaamd, naar de hoofdactiviteit wanneer een notificatie wordt gepost of verwijderd. Dit "bericht" bevat een meldingscode die helpt bij het identificeren van de toepassing die de melding heeft geplaatst. Als u de melding in de hoofdactiviteit wilt verwerken, maakt u een uitzendontvanger die het bericht van de meldingsluisteraar ontvangt. Vervolgens wordt, afhankelijk van de meldingscode, een ander teken naar de server gestuurd.
- aan de serverzijde (op Arduino IDE): de melding met de hoogste prioriteit wordt weergegeven.
Stap 3: Stap 3: Bijlagen
Hier vindt u alle codebronnen.
Aanbevolen:
Smart B.A.L (verbonden mailbox): 4 stappen
Smart B.A.L (connected Mailbox): Je bent het zat om elke keer je mailbox te controleren terwijl er niets in zit. Je wilt weten of je tijdens een reis je post of pakket ontvangt. Dan is de connected mailbox iets voor jou. Het zal u op de hoogte brengen als de postbode een post of een par
Verbind en pas uw verbonden oplossingen aan met Hologram Nova en Ubidots: 9 stappen
Verbind en pas uw verbonden oplossingen aan met Hologram Nova en Ubidots: gebruik uw Hologram Nova om uw infrastructuur achteraf aan te passen. Stel de Hologram Nova in met een Raspberry Pi om (temperatuur)gegevens naar Ubidots te sturen. In de volgende gids zal Ubidots demonstreren hoe je een Hologram Nova instelt met behulp van een Raspberry Pi en een te
MOS - IoT: uw verbonden Fogponic-systeem: 4 stappen
MOS - IoT: uw verbonden Fogponic-systeem: schokdemping door Superflux: onze websiteThis Instructables is de continuïteit van het Fogponic-systeem. Hier heeft u meer mogelijkheden om de gegevens van uw kassencomputer te meten en meerdere bewerkingen te regelen, zoals het water
Muziek reactief licht--Hoe maak je super eenvoudig muziek reactief licht voor het maken van Desktop Awsome.: 5 stappen (met afbeeldingen)
Muziek reactief licht||Hoe maak je super eenvoudig muziek reactief licht voor het maken van een desktop geweldig .: Hey whats up jongens, vandaag zullen we een zeer interessant project bouwen. Vandaag gaan we muziek reactief licht bouwen. De led zal de helderheid veranderen volgens de bas die eigenlijk een laagfrequent audiosignaal is. Het is heel eenvoudig te bouwen. We zullen
Kweek je eigen opvouwbare bamboe monopod - Ajarnpa
Kweek je eigen opvouwbare bamboe-monopod: dit is een inklapbare, 3-segmenten bamboe-monopod voor gebruik met lichtgewicht camera's, kleine telescopen en alles wat je maar vast wilt houden zonder een statief te hoeven dragen. Het is een eenvoudig product, een holle stok samengehouden met een fiets