Table des matières:
- Étape 1: L'expérience
- Étape 2: Matériel
- Étape 3: Google Cloud - Inscription
- Étape 4: Google Cloud – Pub/Sub
- Étape 5: Google Cloud - IOT Core
- Étape 6: Google Cloud – Fonctions cloud
- Étape 7: Google Cloud - Cloud DataStore
- Étape 8: Google Cloud – BigQuery
- Étape 9: Google Cloud - Data Studio
- Étape 10: Phase de prédiction
- Étape 11: Coder
Vidéo: Détecteur de bouchons de vidange : 11 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Ne laissez pas un drain bouché vous ralentir ! En revenant de nos vacances, ma femme et moi avons été surpris par l'eau recouvrant le sol de notre appartement, et nous avons découvert que ce n'était même pas de l'eau propre, c'est drainé partout. Après avoir nettoyé le drain et nettoyé le sol, je me suis posé cette question: pourquoi n'avons-nous pas un système d'alarme pour les éventuels bouchons de drain ? Les drains bouchés peuvent non seulement arrêter votre maison, mais consommeront des coûts supplémentaires de vos poches, 206 $ en moyenne sont le coût de nettoyage d'un drain bouché selon HomeAdvisor, en plus des coûts cachés des tapis endommagés, des meubles en bois, … etc. Notre idée est de permettre aux propriétaires ainsi qu'aux entreprises comme les services d'entretien des villes/complexes et les prestataires de services spécialisés de disposer d'un système efficace et intelligent qui alerte le plus tôt possible le responsable pour agir, ce qui contribue à enrichir les villes intelligentes d'un important caractéristique.
L'idéeBien que la détection des sabots puisse être effectuée grâce à un certain nombre de techniques, comme l'utilisation de capteurs de gaz ou de mécanismes internes, notre équipe s'est concentrée sur l'utilisation du son comme entrée, car nous savons que frapper sur un tube où il est ouvert est un son différent de celui qui s'est produit. lorsqu'il est fermé. Selon ce concept simple, si nous pouvons entraîner un modèle les modèles sonores se produisant sur la surface du tube pendant les sabots ainsi que ces modèles se produisent dans les tuyaux ouverts, nous pouvons alors appliquer le modèle pour détecter de manière proactive quand un sabot commence à composer, et nous sonner des factures.
Crédits pour
- Mohamed Hassan
- Ahmed Emam
Projet en détail3 phases sont mises en œuvre dans ce projet: Collecte de données, Apprentissage & prédiction.
Avant d'appliquer ce système dans la vraie vie, nous devions créer un environnement de simulation forcé, où nous avons le tuyau, l'eau qui coule et, d'une manière ou d'une autre, simuler le bouchon. Donc, nous avons un tube, un tuyau d'arrosage avec une source d'eau faisant cela dans la baignoire, et utilisant la surface de la baignoire pour fermer le tube qui représente le bouchon. Dans cette vidéo, nous expliquons comment nous avons construit l'environnement et comment nous avons collecté des données pour la formation du modèle.
Et dans cette vidéo suivante, montrant comment nous avons fait les tests pour le système et le modèle, en mode ouvert, puis en mode sabot et de retour en mode ouvert, cependant
Alors, explorons notre implémentation étape par étape:
Étape 1: L'expérience
Dans ce scénario, nous utilisons une petite conduite d'eau connectée à notre matériel et à notre capteur sonore. Le matériel lit la valeur du capteur et la renvoie au Cloud. Cela a été fait pendant 10 min pour le tube bouché puis encore 10 min pour le tube qui n'est pas bouché.
Étape 2: Matériel
I-Arduino
Pour détecter le bruit de l'eau à l'intérieur du tuyau, nous avons besoin d'un capteur de son. Cependant, Raspberry Pi 3 n'a pas de GPIO analogique. Pour gérer ce problème, nous utilisons Arduino car Arduino a un GPIO analogique. Nous connectons donc le capteur Grove Sound au blindage Grove Arduino et connectons le blindage à l'Arduino UNO 3. Ensuite, nous connectons Arduino et Raspberry à l'aide d'un câble USB. Pour obtenir plus d'informations sur le capteur Grove Sound, vous pouvez consulter sa fiche technique. Vous pouvez trouver dans la fiche technique un exemple de code pour lire les valeurs des capteurs. L'exemple de code est presque utilisé avec de petits changements. Dans le code ci-dessous, nous connectons le capteur à A0 dans le blindage. Pour écrire en série, nous utilisons la fonction Serial.begin(). Pour communiquer avec Raspberry, le débit en bauds est défini sur 115200. Les données seront envoyées au Raspberry s'il est supérieur à un certain seuil pour réduire le bruit. De nombreux essais ont été effectués pour choisir les valeurs de seuil et de délai souhaitées. Le seuil trouvé est de 400 et la valeur du délai est de 10 millisecondes. Le seuil a été choisi pour filtrer le bruit normal et garantir que seules les données significatives seront envoyées au cloud. Le délai a été choisi pour garantir que le capteur détecte immédiatement tout changement dans le son du débit à l'intérieur du tube.
II- Raspberry Pi 3Pour télécharger des objets Android sur Raspberry, vous pouvez télécharger la dernière version depuis Android Things Console. Dans ce projet nous utilisons la version: OIR1.170720.017. suivez les étapes du site Raspberry pour installer le système d'exploitation sur Raspberry, pour Windows, vous pouvez utiliser ces étapes Après l'installation, vous pouvez connecter le Raspberry à votre ordinateur via USB. Ensuite, dans la console de votre ordinateur, utilisez la commande ci-dessous pour obtenir Raspberry IP
nmap -sn 192.168.1.*
Après avoir obtenu l'IP, connectez-vous à votre Raspberry en utilisant la commande ci-dessous
adb se connecter
Pour connecter votre Raspberry au Wifi (ajoutez votre SSID & mot de passe)
adb am startservice
-n com.google.wifisetup/. WifiSetupService
-a WifiSetupService. Connect
-e ssid *****
-e mot de passe ****
Étape 3: Google Cloud - Inscription
Google offre un niveau gratuit pour tous les utilisateurs pendant un an avec un plafond de 300$, Merci à Google:). Suivez les écrans pour créer un nouveau projet dans Google Cloud
Étape 4: Google Cloud – Pub/Sub
Google Cloud Pub/Sub est un service de messagerie en temps réel entièrement géré qui vous permet d'envoyer et de recevoir des messages entre des applications indépendantes.
Étape 5: Google Cloud - IOT Core
II- Service entièrement géré IOT CoreA pour connecter, gérer et ingérer facilement et en toute sécurité des données à partir d'appareils dispersés dans le monde. IOT Core encore bêta, pour y avoir accès, vous devez faire une demande avec Justification à Google. Nous avons fait la demande, notre justification était ce concours. Approuvé par Google, merci encore à Google:). Raspberry enverra les données du capteur à IOT Core qui transmettra les lectures au sujet PubSub créé à l'étape précédente
Étape 6: Google Cloud – Fonctions cloud
Cloud Functions est un environnement sans serveur pour créer et connecter des services cloud. Le déclencheur de cette fonction est le sujet PubSup créé à l'étape 1.;; Cette fonction sera déclenchée lorsqu'une nouvelle valeur sera écrite dans PubSup et l'écrira dans Cloud DataStore avec Kind "SoundValue"
Étape 7: Google Cloud - Cloud DataStore
Google Cloud Datastore est une base de données de documents NoSQL conçue pour une mise à l'échelle automatique, des performances élevées et une facilité de développement d'applications. Bien que l'interface Cloud Datastore présente bon nombre des mêmes fonctionnalités que les bases de données traditionnelles, en tant que base de données NoSQL, elle en diffère par la manière dont elle décrit les relations entre les objets de données. Aucune configuration nécessaire, car une fois que les fonctions Cloud écrivent les valeurs des capteurs dans DataStore, les données seront ajoutées à DataStore
Étape 8: Google Cloud – BigQuery
Nous recueillons un échantillon à 10 min du tuyau normal et à 10 min du tuyau bloqué avec une différence d'exactement 1 heure entre les 2 itérations. Après avoir téléchargé les données DataStore et faire quelques manipulations pour ajouter une classification pour chaque ligne. Nous avons maintenant 2 fichiers csv, un pour chaque catégorie. Comme bonne pratique, importez d'abord les fichiers CSV de données dans Cloud Storage. Dans l'écran ci-dessous, nous créons un nouveau compartiment et téléchargeons les 2 fichiers CSV Comme ce compartiment ne sera utilisé qu'à des fins d'analyse, il n'est pas nécessaire de choisir un compartiment multirégional. Créez ensuite un nouvel ensemble de données et une nouvelle table dans BigQuery et téléchargez les 2 fichiers CSV du compartiment vers le nouveau tableau
Étape 9: Google Cloud - Data Studio
Ensuite, nous utilisons Data Studio pour obtenir des informations. Data Studio lira les données de la table BigQuery. A partir de graphiques, nous pouvons voir la différence entre 2 catégories en nombre de télémétries et somme de valeurs par minute. Sur la base de ces informations, nous pouvons concevoir un modèle simple, un tuyau est considéré comme bloqué si, dans 3 minutes consécutives, le nombre de valeurs de télémétrie supérieures au seuil de bruit (400) est supérieur à 350 télémétries. et en 3 minutes successives, le nombre de valeurs de télémétries supérieures au seuil d'étincelle (720) est supérieur à 10 télémétries.
Étape 10: Phase de prédiction
Nous nous référons à une lecture, lorsqu'elle dépasse une certaine valeur (THRESHOLD_VALUE) qui a été fixée à 350 qui filtre le bruit et les débits d'eau inférieurs dans le tube, d'être considérée comme une lecture
L'analyse des données a montré qu'en mode ouvert, le nombre de lectures est inférieur à 100, mais en mode obstrué, les valeurs sont bien plus élevées (atteignent 900 par minute), mais dans de rares cas, elles étaient également inférieures à 100. Cependant, ces cas ne se répètent pas en conséquence., et pour trois minutes consécutives, le nombre total de lectures a toujours dépassé 350. Avoir le mode ouvert dans les mêmes trois minutes totalisera moins de 300, nous pourrions mettre en toute confiance cette règle: Règle n ° 1 Pendant trois minutes en bloc, si les lectures totales > 350, alors un colmatage est détecté. Nous avons trouvé que la valeur maximale atteinte en mode ouvert ne dépasse pas une certaine valeur (SPARK_VALUE) qui est de 770, nous avons donc ajouté cette règle: Règle n°2 Si la valeur de lecture > 350, alors un sabot est principalement détecté.
La combinaison des deux règles nous a permis d'implémenter facilement la logique de détection, comme indiqué. Notez que le code ci-dessous a été déployé sur Arduino, qui évalue ensuite les télémétries reçues en fonction de notre modèle et les envoie à framboise si le tuyau est bouché ou ouvert.
Étape 11: Coder
Tout le code pour Arduino, Raspberry & Cloud Function se trouve sur Github.
Pour plus d'informations, vous pouvez consulter ce lien
Conseillé:
Fabriquer des panneaux acoustiques insonorisants avec des bouchons de liège : 4 étapes
Fabriquer des panneaux acoustiques insonorisants avec des bouchons en liège : Après avoir collectionné des bouchons en liège pendant des années, j'ai finalement trouvé une utilité pour eux : fabriquer des panneaux acoustiques insonorisants pour ma cabine de voix off. Depuis que les bouteilles de vin à bouchon à vis sont devenues plus répandues, j'ai conservé des bouchons de liège pour divers professionnels de la maison
Entrée tactile capacitive ESP32 utilisant des "bouchons à trous métalliques" pour les boutons : 5 étapes (avec photos)
Entrée tactile capacitive ESP32 utilisant des "bouchons à trous métalliques" pour les boutons : alors que je finalisais les décisions de conception pour un prochain projet basé sur le kit ESP32 WiFi 32 nécessitant une entrée à trois boutons, un problème notable était que le kit WiFi 32 ne possède pas un seul bouton-poussoir mécanique, pourtant seul trois boutons mécaniques, f
Boîte de bouchons d'oreilles D4E1 (ÉDITION AVANCÉE) : 9 étapes
Boîte à bouchons d'oreilles D4E1 (EDITION AVANCÉE) : En 2016, 3 de nos étudiants à Howest ont développé une boîte de rangement de bouchons d'oreilles qui peut être montée sur une canne. Cette année, nous avons encore optimisé et adapté numériquement la conception pour une utilisation universelle. Les gens peuvent facilement utiliser notre produit en suivant
Lustre de vidange d'évier: 7 étapes
Lustre de vidange d'évier: Pour ce projet de poubelle à trésor, j'ai décidé de fabriquer un lustre transportable alimenté par LED. Composé de plusieurs drains d'évier de rechange, d'un vieux pot de plante suspendu et d'une vieille base de chaise d'ordinateur. Je me vois emporter ce lustre lors de nombreux voyages en camping
Détecteur de fumée IOT : mettre à jour le détecteur de fumée existant avec IOT : 6 étapes (avec photos)
Détecteur de fumée IOT : Mettre à jour le détecteur de fumée existant avec IOT : Liste des contributeurs, Inventeur : Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Superviseur : Dr Chia Kim Seng Département de génie mécatronique et robotique, Faculté de génie électrique et électronique, Universiti Tun Hussein Onn Malaisie.Distribuer