Table des matières:

Système d'ordures : 7 étapes
Système d'ordures : 7 étapes

Vidéo: Système d'ordures : 7 étapes

Vidéo: Système d'ordures : 7 étapes
Vidéo: 15 minutes pour comprendre facilement la gestion des déchets 2024, Novembre
Anonim
Système d'ordures
Système d'ordures

Nous avons décidé d'essayer de trouver un moyen de suivre soit le remplissage des ordures communautaires d'un quartier, soit un capteur dans chaque ordure du quartier pour essayer de rendre l'élimination des ordures plus efficace. Nous pensions que si un camion venait toutes les deux semaines pour une collecte, et si moi ou mon voisin finissions par en jeter un peu. Ne serait-il pas inefficace d'envoyer un camion là où la moitié du quartier n'a pas envoyé de poubelles pleines ? Ce serait bien s'il était possible de voir les poubelles de nos voisins se remplir et ensuite utiliser leurs poubelles si les miennes étaient pleines et les leurs étaient vides et vice versa. Nous avons décidé d'utiliser le capteur à ultrasons HC-SR04 avec un Raspberry Pi pour tenter de mener à bien ce projet.

Fournitures

Capteur à ultrasons (HC-SR04)

Raspberry Pi (nous avons utilisé le Pi 4 modèle B)

Planche à pain

Câbles de démarrage

Couple de résistances (3 x 1k ohm)

Étape 1: connexion du HC-SR04

Connexion du HC-SR04
Connexion du HC-SR04

Puisque nous utilisons le Raspberry Pi, nous devons utiliser un diviseur de tension pour réguler la tension entrant dans les broches GPIO du Pi car elles n'autorisent que 3,3 V. Le HC-SR04 utilise 5V mais doit être ramené à 3,3V lors de sa connexion au Pi. Connectez respectivement les broches 5V et de masse et selon votre programme, attachez les broches d'écho et de déclenchement aux broches respectueuses. Dans notre programme, nous avons utilisé respectivement les broches 23 et 24 pour l'écho et le déclenchement.

Étape 2: Mosquitto et Paho MQTT

Avant de commencer à programmer sur Python pour que le capteur à ultrasons fonctionne avec le Pi, nous devons installer ces applications pour que le capteur à ultrasons communique avec notre logiciel de programmation Node-RED. Mosquitto est un courtier MQTT que vous pouvez utiliser sur le Pi tandis que Paho MQTT est la bibliothèque qui vous permet de coder en Python pour que le capteur communique avec le courtier MQTT. Pour installer les deux, vous devez taper ces commandes sur votre terminal Pi

mise à jour sudo apt

sudo apt install -y mosquitto mosquitto-clients

sudo apt-get installer python3-pip

sudo pip3 installer paho-mqtt

Étape 3: programme Python pour capteur à ultrasons

C'est le programme que j'ai utilisé pour lire les données entrantes du capteur et également les publier sur le courtier MQTT.

Étape 4: Node-RED

Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE
Noeud-ROUGE

Certains nœuds ne sont pas préinstallés dans le programme, vous devrez donc peut-être l'installer à partir des palettes. Ceux que vous devez installer sont node-red-dashboard et node-red-node-sqlite.

C'est là que nous commençons à utiliser notre logiciel de programmation et le capteur. Le premier nœud dont vous auriez besoin est le nœud MQTT-in et qui nous permet d'utiliser notre capteur exécutant le programme d'en haut pour envoyer des données à ce logiciel. Le nœud de plage que nous avons utilisé retourne les valeurs que nous avons (c'est-à-dire que 5 cm est plein du programme, nous le retournons donc à 100%). Après le nœud de plage, nous avons 2 nœuds de fonction, un pour afficher le message sur notre tableau de bord et un pour montrer un visuel que la poubelle est pleine. Le programme des nœuds de fonction est joint.

Si possible, ce flux pourrait être utilisé pour plusieurs capteurs à ultrasons. Pour notre projet cependant, nous avons dû faire des données de simulation car nous n'étions pas en mesure de mettre la main sur plus de capteurs. La façon dont nous avons procédé est très similaire, mais nous avons des boutons sur lesquels l'utilisateur peut cliquer pour ajouter au hasard 1 à 10 pour cent des déchets dans chacun des déchets. Nous avons utilisé 2 boutons, un pour ajouter des déchets et un pour effacer. La jauge, les messages et l'indicateur sont toujours exactement les mêmes, le code pour compter et garder le décompte des ordures est cependant un peu différent.

Étape 5: Enregistrement des données

Données de journalisation
Données de journalisation
Données de journalisation
Données de journalisation
Données de journalisation
Données de journalisation

Nous avons décidé que ce serait une bonne idée de noter le niveau de remplissage des poubelles lorsque le camion vient vider les poubelles. Avec l'aide du nœud sqlite, nous sommes en mesure de lire et d'écrire des données qui les enregistrent également sur le Pi. Vous auriez besoin d'installer ce nœud comme je l'ai déjà dit.

Les étapes de création et d'enregistrement des données sont les suivantes:

1. Créez la base de données

2. Enregistrez les données

3. Tirez les données à afficher sur notre tableau de bord

4. Effacer et supprimer les données

La façon dont SQL fonctionne est que vous devez créer, exécuter le sujet qui sont CREATE TABLE, INSERT INTO, SELECT FROM et DELETE FROM. En utilisant des nœuds d'horodatage, nous pouvons exécuter des sujets sur le nœud sqlite qui effectue chacune de ces fonctions (créer, insérer, sélectionner et supprimer). Nous n'avons besoin de créer la base de données qu'une seule fois et une fois cela fait, nous pouvons y enregistrer des données. Une fois la base de données créée, nous pouvons enregistrer les données et nous avons à nouveau utilisé les entrées de l'utilisateur pour enregistrer l'arrivée du camion. Nous avons fait en sorte que vous ne puissiez pas enregistrer de données tant que le camion n'est pas autorisé à venir, ce qui représente 5 poubelles à 80% de sa capacité (considéré comme plein). Nous avons également utilisé à nouveau le nœud de plage pour redimensionner le 500 à 0-100 %. Nous avons ensuite la possibilité de supprimer toutes les données de la base de données si nous le souhaitons. Le nœud de la table UI est un nœud qui nous permet de voir la table d'une manière bien formatée sur notre tableau de bord.

Étape 6: Mise en page

Une fois tout cela terminé, vous pouvez créer une mise en page que vous souhaitez avec l'aide de Node-RED. Sur l'onglet latéral, vous pourrez les espacer comme vous le souhaitez et vous disposez de nombreuses autres options de personnalisation. Vous trouverez également ci-joint mon flux pour l'ensemble de mon programme.

Étape 7: Conclusion

À la fin de ce projet, il y a des domaines où nous pouvons voir le programme se développer davantage. Je n'ai jamais trouvé un moyen de faire la journalisation automatiquement car la seule façon de le faire était de la journaliser à un intervalle et nous n'aurions pas besoin de numéros répétés si le camion à ordures arrivait une fois. Je pense que cela est en partie dû à la façon dont nous avons décidé de le rendre fortement dépendant des nœuds de fonction et de la programmation, car nous sommes plus à l'aise avec cette programmation. Après avoir exploré après avoir terminé, il était clair qu'il y avait des nœuds faits pour tout et cela aurait pu rendre la vie beaucoup plus facile si nous avions trouvé la fonction des nœuds switch et rbe plus tôt. Il y avait aussi un nœud conçu pour les capteurs à ultrasons que nous n'avons pas pu travailler. Cela aurait facilité les choses car il n'y aurait pas eu besoin de MQTT ou du programme Python car il s'agit simplement d'un nœud avec les broches de déclenchement et d'écho. Nous avons décidé de contourner ce problème en créant le programme Python comme vous l'avez vu ci-dessus. Un énorme conseil pour tous ceux qui souhaitent se plonger dans Node-RED est que vous devez utiliser beaucoup de nœuds de débogage pour déterminer si chaque flux fonctionne et génère ce que vous voulez / avez besoin.

Conseillé: