Table des matières:

Bambou Clair (Lampe Connectée) : 3 Étapes
Bambou Clair (Lampe Connectée) : 3 Étapes

Vidéo: Bambou Clair (Lampe Connectée) : 3 Étapes

Vidéo: Bambou Clair (Lampe Connectée) : 3 Étapes
Vidéo: [TUTO] CÂBLAGE SÉRIE avec WAGO 3 pôles 2024, Novembre
Anonim
Bambou Clair (Lampe Connectée)
Bambou Clair (Lampe Connectée)

Bonjour et bienvenue!

Light Bamboo est une lampe connectée qui s'allume lorsqu'une notification est reçue sur le smartphone Android auquel elle est connectée. Le but de cette instructable est de vous montrer l'étape de conception du projet: de l'architecture matérielle à la connexion Bluetooth Low Energy (BLE) et à la création d'applications Android.

Pour notre lampe, nous avons choisi une plante en plastique pour un design de décoration cool. Pour ce projet, les notifications qui s'affichent proviennent des applications suivantes: appels, sms/mms, facebook, messenger, instagram, whatsapp et gmail. Une couleur claire est attribuée pour chaque type de notification.

Pour ce projet, vous aurez besoin de:

  • Un uC avec module BLE intégré: nFR51822 RedBearLab
  • 3 anneaux NeoPixel (12 LED RVB)
  • Un smartphone Android
  • Android Studio

Chaque notification a une priorité spécifique, en fonction de son importance. Par exemple, une notification d'appel entrant est plus importante qu'une notification Facebook. Dans ce cas, la couleur des LED sera associée à la notification d'appel entrant.

Le smartphone sur lequel nous avons développé l'application est un Samsung Galaxy A5.

Étape 1: partie matérielle

Partie matérielle
Partie matérielle

Notre architecture est assez simple.

Connectez les broches NeoPixel Ring à la carte nRF51822 comme suit:

  • Broche de données d'entrée de l'anneau NeoPixel au port 3 de l'uC.
  • Vcc de l'anneau NeoPixel au 3.3V de l'uC.
  • GND de l'anneau NeoPixel au GND de l'uC.

Vous pouvez remarquer que nous n'utilisons pas la broche Output Data de l'anneau NeoPixel. C'est parce que les broches de données d'entrée des trois anneaux NeoPixel que nous utilisons dans ce projet sont toutes connectées au même port de la carte nRF51822 (broche 3).

Étape 2: partie logicielle

Partie logicielle
Partie logicielle
Partie logicielle
Partie logicielle
Partie logicielle
Partie logicielle

1. La communication Bluetooth Low Energy:

Dans une communication BLE, le serveur (qui est dans notre cas l'uC) et le client (le smartphone) échangent des données à l'aide de transactions GATT. Dans ces transactions, les données sont organisées hiérarchiquement en sections appelées services, qui regroupent des éléments de données utilisateur conceptuellement liés appelés caractéristiques. Dans notre cas, l'encapsulation des données est simple puisque nous n'avons qu'une seule information à transmettre du client au serveur (voir l'image ci-dessus).

  • côté serveur: Pour pouvoir utiliser la carte nrf51822 en tant que serveur BLE, installez d'abord la librairie "BLEPeripheral.h" sur l'IDE Arduino. Cette bibliothèque fournit des fonctions prêtes à l'emploi pour créer les services et les caractéristiques et la publicité.
  • côté client: Pour démarrer une communication BLE dans Android Studio, configurez d'abord les autorisations BLE dans le fichier Manifest. Ensuite, dans le fichier activity_main.xml, ajoutez 4 boutons: analyser, arrêter l'analyse, se connecter et se déconnecter qui permettront à l'application de rechercher les appareils BLE à proximité, d'arrêter l'analyse, de se connecter et de se déconnecter à un appareil. Dans le fichier main_activity.java, implémentez les fonctions associées aux boutons précédents: startScanning(), stopscanning(), connectToDeviceSelected(), disconnectDeviceSelected(). Enfin, implémentez les fonctions de rappel qui sont appelées lorsque l'état du client change.

2. Gestion des notifications

  • côté client (sur Android Studio): Pour écouter les notifications provenant du smartphone, implémentez un écouteur de notification qui s'active lorsqu'une notification se produit dans la barre d'état. Cet écouteur de notification enverra un "message", appelé intention, à l'activité principale lorsqu'une notification est publiée ou supprimée. Ce "message" contient un code de notification qui permet d'identifier l'application qui a posté la notification. Pour traiter la notification dans l'activité principale, créez un récepteur de diffusion qui recevra le message de l'écouteur de notification. Ensuite, selon le code de notification, un caractère différent est envoyé au serveur.
  • côté serveur (sur Arduino IDE): la notification qui a la priorité la plus élevée est affichée.

Étape 3: Étape 3: Annexes

Ici, vous trouverez tout le code source.

Conseillé: