Table des matières:
- Étape 1: Matériel nécessaire
- Étape 2: Programmation de la partie
- Étape 3: Assemblage électronique
- Étape 4: Acquisition de données
- Étape 5: Base de données
- Étape 6: Démonstration
Vidéo: Bracelet d'orientation connecté : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Ce projet académique, le bracelet d'orientation connecté, a été réalisé par quatre étudiants de l'école d'ingénieur Polytech Paris-UPMC: Sébastien Potet, Pauline Pham, Kevin Antunes et Boris Bras.
Quel est notre projet ?
Pendant un semestre, nous avons dû créer un bracelet connecté qui sera utilisé par un coureur. Son parcours sera orienté par plusieurs points où il balisera, et cela permettra d'enregistrer son parcours. Ces données seront stockées sur un cloud en temps réel.
Ce produit peut donner la température, l'humidité et l'orientation. De plus, nous avons trois boutons dont un qui envoie une position GPS en cas de problème du coureur (bouton SOS), c'est pourquoi nous en avons besoin en temps réel. La seconde permet de taguer et la dernière d'éteindre le bracelet car on veut un produit de faible puissance.
Nous avions un budget de 120€. Pour réaliser un bracelet d'orientation connecté, suivez notre tuto !
Étape 1: Matériel nécessaire
Liste des composants:
- STM32L432KC-Nucleo Ultra Low Power
-Module SigFox TD1208
- Lecteur RFID 125 kHz
- Capteur de température/humidité HTU21D
- Module accéléromètre 3 axes ADXL345
- Module boussole 3 axes HMC5883L
- Ecran OLED ADA938
- Module GPS Grove 31275
- Pile 1.5V LR6
- Régulateur de tension Pololu 3.3V U1V11F3
- Quelques boutons de contrôle
Étape 2: Programmation de la partie
Tout d'abord, nous avons programmé chaque composant avec le site développeur mbed. Pour cela, nous avons utilisé un microcontrôleur STM32L476RG-Nucleo qui est une faible consommation.
L'écran, le capteur de température/humidité et la boussole fonctionnent en communication I²C. Le lecteur RFID et l'accéléromètre fonctionnent en communication série. Pour chaque composant, vous deviez ajouter sa propre bibliothèque.
Pour le capteur de température/humidité, la boussole et l'accéléromètre, vous devez appeler une fonction définie sur leur bibliothèque pour obtenir les données.
Le lecteur RFID fonctionne sur communication série, il faut utiliser la fonction "getc()" car le tag renvoie les données en char.
Tous les codes sont disponibles sous forme de fichier, à l'exception du code de l'écran OLED.
Étape 3: Assemblage électronique
Après avoir programmé chacun des composants, nous avons pris une plaque labdec et nous les avons câblés sur le STM32L432KC-Nucleo. Suivez le schéma de câblage en pièce jointe pour assembler tous les composants, ou chaque PIN est détaillé sur l'assemblage du code.
Nous avons ajouté trois boutons avec trois résistances de 10 Kilo ohms: un envoie la position GPS en cas de danger, un pour allumer/éteindre, et le dernier pour permettre au coureur de marquer le point. Nous avons ajouté un buzzer lorsque vous appuyez sur le bouton SOS.
Le fichier "braceletOrientation" en pièce jointe est notre projet sur Fritzing. Il s'agit d'un dossier récapitulatif de nos composants et de notre câblage sur labdec ainsi que sur PCB. De plus, nous avons ajouté le code d'assemblage de tous les composants.
Étape 4: Acquisition de données
Actoboard
Actoboard est un outil basé sur un tableau de bord. Il affiche toutes les données envoyées par le module Sigfox. Il enverra ensuite via URL ces données à nodered afin d'être insérées dans la base de données.
Envoyez les données:
Pour envoyer les données via votre code, vous devez d'abord déclarer le PIN (Tx, Rx) du module Sigfox (vous pouvez le voir dans notre code). Après cela, grâce à cette commande: "sigfox.printf("AT$SF=%02X%02X%02X%02X%02X%02X \r\n", lat_deg, long_deg, lat_10s, long_10s, lat_100s, long_100s);", cet exemple envoie les données du GPS à Actoboard.
Recevez les données:
Après avoir configuré vos sources de données en relation avec votre module Sigfox, vous devez définir votre format de données pour recevoir les données de votre code. Pour le même exemple qu'avant (GPS), vous devez définir le format de données comme ceci: "lat_deg::uint:8 long_deg::uint:8 lat_10s::uint:8 long_10s::uint:8 lat_100s::uint:8 long_100s::uint:8".
Attention au type et au nombre de bits, vous devez avoir exactement la même longueur. Je vous recommande donc de caster vos données dans votre code comme ça: "lat_deg = (int8_t)lat_deg;".
Attention également au nombre de chiffre, dans cet exemple nous ne transmettons que des données à 2 chiffres max. Mais si vous souhaitez transférer des données plus volumineuses comme "%04X", vous savez peut-être qu'Actoboard va inverser le chiffre. Par exemple si vous transmettez 0x3040, Actoboard va comprendre 0x4030. Vous devez donc inverser le chiffre avant d'envoyer un format de données supérieur à 2 chiffres.
Modifier le tableau de bord:
Pour éditer vos données dans un Dashboard sur Actoboard, il vous suffit d'ajouter un widget. Il existe une liste de widget, vous devez choisir celui qui correspond le mieux à votre système. Et après il ne vous reste plus qu'à choisir quelles données vont remplir quel widget.
Transmettre à nodered:
Pour transférer toutes les données que vous recevez sur Actoboard vers nodered via URL, il vous suffit de remplir la case "URL de transfert" dans vos paramètres avec l'URL de votre projet nored. Par exemple, nous avons rempli la case avec "https://noderedprojet.mybluemix.net/projet".
Étape 5: Base de données
Bluemix
- Nodéré:
- Recevoir le formulaire de données Actoboard
Pour obtenir le formulaire de données Actoboard, vous devez ajouter une entrée "websocket" que vous devez configurer la méthode par "POST" et spécifier votre URL (exemple en photo).
Le formatage des données
Vous devez extraire les données que vous souhaitez ajouter dans votre base de données (cloudant) et les formater. pour cela, vous devez ajouter un bloc "fonction". Voir la photo en pièce jointe pour comprendre comment faire cela.
Vous pouvez ajouter des éléments géométriques sur une carte, par exemple, nous avons une fonction qui ajoute un point avec les coordonnées GPS sur une carte et les relie. Nous utilisons cette fonction pour créer la course et après, nous passons à une autre fonction qui va créer un polygone autour du point si vous cochez un TAG RFID.
Envoyer à cloudant
Après le formatage de vos données, vous devez les envoyer à votre Cloudant DataBase. Pour cela, vous devez ajouter un bloc de stockage « cloudant » et préciser les paramètres comme le nom de votre DataBase, l'opération « insérer » voir notre exemple en pièce jointe.
N'oubliez pas de "déployer" votre nodered pour que votre système fonctionne.
Cloudant:
Dans votre base de données cloudant, vous pouvez maintenant voir toutes les données que vous avez envoyées avec le sigfox et le formatage en nœud rouge. Vous pouvez choisir les informations que vous souhaitez voir comme "date, appareil, TAG RFID, GPS".
Et vous pouvez visualiser les choses géométriques que vous avez créées dans la fonction nodée dans le menu "Gps Geospatial Indexes"
Étape 6: Démonstration
En résumé, nous avions quatre Interfaces Homme-Machine pilotées par quatre boutons poussoirs.
L'interface de base indique la température, l'humidité, le numéro du tag, un chronomètre et la direction magnétique.
Sur l'un des boutons poussoirs d'action, vous trouverez une véritable interface boussole. Un cercle sera dessiné sur l'écran avec la direction bien positionnée.
Sur une autre action de bouton poussoir, vous enverrez un message SOS qui enverra votre position à la base de données. De plus, vous entendrez un message SOS en code morse.
De plus, lors de la dernière action sur le bouton poussoir, vous réveillerez le tag RFID. Après cela, vous avez cinq secondes pour marquer votre point de passage. Ensuite, vous entendrez un bip. Cette action augmente un compteur à l'écran et envoie le tag avec l'heure sur notre base de données. Enfin, toutes les balises dessineront le trajet sur une carte.
L'autonomie de notre montre est d'environ 4h30 (environ 660mA/h). Cela dépend du numéro d'étiquette vérifié.
Pour conclure après la course, vous trouverez toutes les actions des coureurs sur notre base de données bluemix.
Conseillé:
Étudier l'orientation avec Raspberry Pi et MXC6226XU à l'aide de Python : 6 étapes
Étudier l'orientation avec Raspberry Pi et MXC6226XU à l'aide de Python : Les bruits ne sont qu'une partie du fonctionnement d'un véhicule. Le bourdonnement d'un moteur de véhicule très bien réglé est un son magnifique. Les bandes de roulement des pneus murmurent contre la route, le vent hurle en contournant les rétroviseurs, les morceaux de plastique et les morceaux du tableau de bord produisent du l
Orientation de la carte via le serveur Web : 6 étapes
Orientation de la carte via le serveur Web : l'Internet des objets (IoT) est l'un des sujets les plus populaires sur la planète en ce moment. Et, il se développe rapidement de jour en jour avec Internet. L'Internet des objets transforme les maisons simples en maisons intelligentes, où tout, de vos lumières à vos serrures, peut
Mise à niveau I2C du capteur d'orientation Thrustmaster Warthog : 5 étapes
Mise à niveau I2C du capteur d'orientation Thrustmaster Warthog : il s'agit d'un guide approximatif sur la façon de s'interfacer avec le protocole I2C utilisé sur le capteur d'orientation d'accélérateur Thrustmaster Warthog. Cela peut être utilisé pour passer de la ministick standard assez inutile à quelque chose de mieux, mais toujours en utilisant le contro USB standard
Bracelet course d'orientation : 11 marches
Bracelet course d'orientation : Avez-vous déjà essayé de passer au niveau supérieur de la course d'orientation ? Avoir toutes les informations nécessaires en main ? Ici, vous verrez comment nous avons amélioré une grande activité avec la technologie. Nous allons créer un bracelet d'orientation qui vous donnera beaucoup d'infor
Conception et réalisation d'un système d'orientation de panneaux photovoltaïques : 5 étapes
Conception et réalisation d'un système d'orientation de panneaux photovoltaïques : Conception et réalisation d'un système d'orientation de panneaux photovoltaïques