Table des matières:
- Fournitures
- Étape 1: L'unité matérielle
- Étape 2: Circuit
- Étape 3: À propos de Firebase
- Étape 4: Base de données en temps réel
- Étape 5: Configuration des fonctions Firebase
- Étape 6: Coder
- Étape 7: Étape facultative (construire un boîtier)
- Étape 8: En action…
- Étape 9: Aller plus loin…
Vidéo: Le Mappifier - Cartographie + Système de Notification : 9 Étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
La conduite de nuit est très amusante. Mais souvent, cela s'avère être un cauchemar, sous la forme d'animaux traversant la route (surtout ces chats et chiens errants, qui attendent que vous conduisiez près d'eux pour qu'ils puissent traverser !!). J'ai donc pensé à faire quelque chose qui vous avertisse lorsque vous vous approchez de ces endroits vulnérables, afin que vous puissiez conduire plus prudemment.
Le système comporte deux parties: Collecte de données et récupération de données. La première partie prend les données de localisation, c'est-à-dire les endroits où il y a plus de probabilité de croisement d'animaux. Ces données doivent être ajoutées manuellement et sont mises à jour sur une carte. Cette dernière partie prend notre position actuelle, puis la compare avec les données collectées et des notifications ou des avertissements appropriés sont fournis.
Fournitures
Matériel utilisé
Carte de développement WiFi ESP8266
Module GPS Ublox NEO-6M
LED
Bouton-poussoir momentané
Logiciel utilisé
IDE Arduino
Tout éditeur JavaScript
Firebase (pour le stockage et la récupération de données)
Étape 1: L'unité matérielle
Le matériel doit fonctionner de deux manières (modes): 1) Stocker l'emplacement dans la base de données: il s'agit d'une partie importante du processus de collecte de données; l'emplacement récupéré par le module GPS est envoyé à la base de données Firebase via une carte de développement WiFi ESP8266.
2) Fournir des notifications pendant la navigation: Pendant la navigation, l'emplacement actuel est récupéré et envoyé à la base de données. À chaque mise à jour de l'emplacement, la distance entre l'emplacement actuel et ces emplacements (qui ont été stockés pendant le processus de collecte de données) est calculée et récupérée par le module ESP8266 qui avertit ensuite l'utilisateur en fonction de la proximité de l'utilisateur par rapport à ces emplacements stockés.
J'ai ajouté trois LED pour notifier le changement de mode, ainsi qu'une mise à jour réussie de la base de données et un voyant d'avertissement pour notifier la proximité de l'utilisateur à l'emplacement stocké.
Le bouton poussoir permet de mémoriser la localisation en un seul clic (en mode mémorisation/collecte de données) et aussi de basculer entre ces modes.
Alimentation
Initialement, une batterie Lipo de 3,7V 300mAh a été utilisée, mais elle a posé quelques problèmes. Le problème majeur était la réinitialisation de l'ESP8266 (peut-être en raison des pics de courant). De plus, la batterie n'a pas duré beaucoup. Enfin, un powerbank est venu à mon secours.
Étape 2: Circuit
Étape 3: À propos de Firebase
Firebase est une plate-forme de développement d'applications mobiles et Web appartenant à Google. Il a de nombreuses fonctionnalités, mais ici je n'en utilise que deux, Realtime Database et Cloud Functions.
Pour commencer sur Firebase, 1. Allez d'abord sur la page Web de Firebase.
2. Naviguez maintenant vers la console et cliquez sur créer un nouveau projet.
3. Vous devez fournir un nom de projet ainsi que d'autres détails pour créer un projet.
4. Une fois le projet créé, cliquez sur l'option de base de données dans le volet latéral pour créer une nouvelle base de données.
5. Faites de même pour les fonctions.
Ce sont des étapes générales pour créer un projet, firebase est bien documenté et il existe de nombreuses séries de vidéos youtube pour les débutants, veuillez les parcourir pour en savoir plus.
Étape 4: Base de données en temps réel
Après avoir créé la base de données, l'étape suivante consiste à voir comment les données de la base de données sont stockées et accessibles. Pour écrire ou lire vers/depuis la base de données, vous devez configurer les règles de la base de données. À des fins de développement, nous pouvons utiliser une règle ouverte afin que toute personne disposant de la référence de la base de données puisse lire/écrire, mais soyez prudent lors de la configuration des règles. La base de données stocke les données au format JSON et est synchronisée avec tous les appareils connectés au base de données. Vous pouvez ajouter des nœuds enfants à l'aide du signe « + », mais les nœuds peuvent également être générés par programme. Toutes les données que nous téléchargeons dans la base de données en mode « magasin » (emplacement de stockage collecté) sont stockées ici en tant que nœuds séparés tandis que les données en mode « notification » (récupération des données lors de la navigation) sont mises à jour à chaque fois (vérifiez l'image).
Étape 5: Configuration des fonctions Firebase
Nous avons besoin de quelque chose pour calculer la proximité de l'emplacement actuel avec les emplacements stockés, et les fonctions déclenchées par la base de données en arrière-plan feraient notre travail. Les fonctions sont écrites en javascript et doivent être déployées sur la firebase.
Vous devez avoir installé node.js sur votre ordinateur.
1) Téléchargez maintenant l'interface de ligne de commande de firebase en utilisant la commande "npm install -g firebase-tools" sur votre invite de commande
2) Maintenant, vous devez vous connecter à firebase en utilisant la commande "firebase login" (vous devez donner votre mot de passe de connexion gmail si vous n'êtes pas déjà connecté)
3)Après cela, accédez à votre répertoire de projet et lancez la fonction avec la commande "firebase init". Vous devrez sélectionner l'option « Fonctions » pour lancer les fonctions Firebase pour votre projet.
4) Maintenant, vous devez aller dans le dossier 'functions' de votre répertoire de projet et trouver le fichier 'index.js'.
5) Éditez le fichier avec un éditeur de texte et éditez le fichier/remplacez le fichier par mappifier_function.txt. (Ce serait effectivement notre fonction)
6) Enfin, déployez votre fonction en utilisant "firebase deploy" sur l'invite de commande.
Vous pouvez vérifier si la fonction est déployée dans le menu des fonctions de votre console firebase
Étape 6: Coder
Pour ESP8266:
La carte se connecte au WiFi et à Firebase à l'aide d'informations d'identification et attend que vous appuyiez sur un bouton-poussoir. Selon la durée d'appui sur le bouton, différents modes sont initiés. En mode de collecte de données (appelons ce mode "magasin"), chaque pression sur un bouton entraînera l'envoi de la position actuelle à la base de données tandis qu'en mode de récupération de données ("mode de notification"), l'emplacement actuel est envoyé à la base de données et la distance est extraite automatiquement de la base de données. J'ai ajouté des LED pour les avertissements (proximité de l'emplacement marqué) et les notifications (comme la localisation GPS, la connexion WiFi, l'écriture réussie de la base de données, le changement de mode, etc.).
Pour la fonction Firebase:
Cette fonction vérifie une écriture sur le nœud « emplacement actuel » de la base de données et calcule la distance entre les emplacements sur la base de données et l'emplacement actuel, puis trouve la plus petite distance qui est ensuite écrite sur le nœud « distance » sur la base de données.
N'oubliez pas d'ajouter vos informations d'identification Wi-Fi et vos informations d'authentification Firebase avant de télécharger votre programme. (Veuillez voir les images). De plus, si vous êtes nouveau sur ESP8266 et pour les coder sur Arduino IDE, reportez-vous à ces derniers.
Étape 7: Étape facultative (construire un boîtier)
Afin de rendre la partie matérielle compacte afin qu'elle puisse être montée, j'ai fait un petit boîtier pour les insérer à l'intérieur. Quelques trous ont été faits pour monter les LED et pour connecter le câble USB. Mais l'enceinte finale était au-delà de mes attentes !! Il s'insère parfaitement dans ma paume et se monte très facilement sur la poignée du cycle et sur le volant.
Étape 8: En action…
Voici une petite vidéo démontrant les deux modes (store et notification) avec des LED d'avertissement et de notification.
Étape 9: Aller plus loin…
Ce système peut être utilisé à diverses fins, par exemple, compte tenu du scénario actuel, si vous pouvez obtenir les emplacements de propagation de la maladie et les stocker dans une base de données, des avertissements seront fournis par ce système lorsque vous vous rapprocherez de ces emplacements. Mais je pense sérieusement à obtenir des données sur les croisements d'animaux du monde entier pour rendre les conducteurs prudents et sauver de nombreux animaux des accidents. J'ai créé une page Web simple (mais pas encore hébergée) qui contient toutes les données que j'ai collectées. Ce sont les données que j'ai collectées lors de la marche ou du vélo (chaque fois que je trouve un chat ou un chien sur le bord de la route car ils sont plus enclins à traverser) mais nous avons besoin de beaucoup plus de données pour mettre en œuvre cela.
Je suis assez nouveau dans la création de pages Web (principalement javascript) et d'autres choses et j'aimerais avoir vos suggestions et votre expertise:)
Conseillé:
Système de tri des couleurs : système basé sur Arduino avec deux courroies : 8 étapes
Système de tri par couleur : Système basé sur Arduino avec deux courroies : Le transport et/ou l'emballage des produits et articles dans le domaine industriel se fait à l'aide de lignes réalisées à l'aide de courroies transporteuses. Ces courroies aident à déplacer l'article d'un point à un autre avec une vitesse spécifique. Certaines tâches de traitement ou d'identification peuvent être
Créer le système d'avertissement de notification vocale / vocale : 4 étapes
Créer le système d'avertissement de notification vocale / vocale : Ce projet, nous avons créé un système de notification et d'avertissement vocal / vocale. Au moins deux capteurs peuvent être utilisés dans ce projet
Système de notification de blanchisserie basé sur l'IoT : 18 étapes
Système de notification de blanchisserie basé sur l'IoT : HiThis instructable donne une introduction étape par étape sur la façon de créer un système de notification de blanchisserie basé sur l'IoT. L'appareil est attaché dans vos tiroirs et votre sac à linge. Par souci de démonstration ici, nous avons pris deux tiroirs et un sac à linge. Il sent
Système de notification automatique de café : 7 étapes (avec photos)
Système de notification automatique de café : dans ce projet, je rends une cafetière de bureau intelligente en créant un système d'alerte de café qui envoie des notifications Slack lorsque quelqu'un prépare un nouveau pot de café. Le code peut être modifié pour envoyer un e-mail ou un SMS. Ce projet est construit sur un R
Système de notification ISS simple : 6 étapes (avec photos)
Système de notification simple de l'ISS : qu'est-ce que la Station spatiale internationale et pourquoi voulez-vous prédire où elle se trouve ? Pour répondre à la première question, nous pouvons consulter le site Web de la NASA pour obtenir une réponse. En bref, la Station spatiale internationale est un gros vaisseau spatial. Il orbite autour