Sommario:

Sistema di spazzatura: 7 passaggi
Sistema di spazzatura: 7 passaggi

Video: Sistema di spazzatura: 7 passaggi

Video: Sistema di spazzatura: 7 passaggi
Video: 7 Metodi per una PULIZIA COMPLETA di Windows 2024, Dicembre
Anonim
Sistema di immondizia
Sistema di immondizia

Abbiamo deciso di provare a tracciare un modo per tracciare il riempimento dei rifiuti della comunità di un quartiere o un sensore in ogni immondizia nel quartiere per cercare di rendere più efficiente lo smaltimento dei rifiuti. Abbiamo pensato che se un camion arriva ogni due settimane per una raccolta, e se io o il mio vicino finissimo per buttare via solo un po'. Non sarebbe inefficiente inviare un camion dove metà del vicinato non ha inviato bidoni della spazzatura pieni? Sarebbe fantastico se fosse possibile vedere il bidone della spazzatura dei nostri vicini riempirsi e poi usare la loro spazzatura se la mia era piena e la loro era vuota e viceversa. Abbiamo deciso di utilizzare il sensore a ultrasuoni, HC-SR04 insieme a un Raspberry Pi per provare ad affrontare questo progetto.

Forniture

Sensore a ultrasuoni (HC-SR04)

Raspberry Pi (abbiamo usato Pi 4 Modello B)

tagliere

Cavi jumper

Coppia di resistori (3 x 1k ohm)

Passaggio 1: collegamento di HC-SR04

Collegamento di HC-SR04
Collegamento di HC-SR04

Poiché stiamo utilizzando il Raspberry Pi, dobbiamo utilizzare un partitore di tensione per regolare la tensione che entra nei pin GPIO del Pi poiché consentono solo 3,3 V. L'HC-SR04 utilizza 5 V ma deve essere ridotto a 3,3 V quando lo si collega al Pi. Collegare rispettivamente i pin 5V e di massa e, in base al programma, collegare i pin di eco e trigger ai rispettivi pin. Nel nostro programma abbiamo usato i pin 23 e 24 rispettivamente per l'eco e il trigger.

Passaggio 2: Mosquitto e Paho MQTT

Prima di iniziare a programmare su Python per far funzionare il sensore a ultrasuoni con il Pi, dovremmo installare queste applicazioni per far comunicare il sensore a ultrasuoni con il nostro software di programmazione Node-RED. Mosquitto è un broker MQTT che puoi usare sul Pi mentre Paho MQTT è la libreria che ti permette di codificare in Python per far comunicare il sensore con il broker MQTT. Per installarli entrambi dovresti digitare questi comandi sul tuo terminale Pi

sudo apt update

sudo apt install -y mosquitto mosquitto-clients

sudo apt-get install python3-pip

sudo pip3 install paho-mqtt

Passaggio 3: programma Python per sensore a ultrasuoni

Questo è il programma che ho usato per leggere i dati in arrivo dal sensore e anche per pubblicarli sul broker MQTT.

Passaggio 4: Nodo-RED

Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED

Alcuni nodi non sono preinstallati nel programma, quindi potrebbe essere necessario installarlo dalle tavolozze. Quelli che devi installare sono node-red-dashboard e node-red-node-sqlite.

È qui che iniziamo a utilizzare il nostro software di programmazione e il sensore. Il primo nodo di cui avresti bisogno è il nodo MQTT-in e questo ci consente di utilizzare il nostro sensore che esegue il programma dall'alto per inviare dati a questo software. Il nodo dell'intervallo che abbiamo usato capovolge i valori che abbiamo (cioè 5 cm è pieno dal programma, quindi lo capovolgiamo al 100%). Seguendo il nodo dell'intervallo abbiamo 2 nodi funzione, uno per visualizzare il messaggio sul nostro dashboard e uno per mostrare visivamente che la spazzatura è piena. Il programma per i nodi funzione è allegato.

Se possibile, questo flusso potrebbe essere utilizzato per più sensori a ultrasuoni. Per il nostro progetto, tuttavia, abbiamo dovuto eseguire dati di simulazione poiché non siamo stati in grado di mettere le mani su più sensori. Il modo in cui lo abbiamo fatto è molto simile, ma abbiamo pulsanti su cui l'utente può fare clic per aggiungere casualmente l'1-10 percento della spazzatura in ciascuna delle immondizie. Abbiamo usato 2 pulsanti, uno per aggiungere spazzatura e uno per cancellare. L'indicatore, i messaggi e l'indicatore sono ancora esattamente gli stessi, ma il codice per contare e tenere il conto della spazzatura è leggermente diverso.

Passaggio 5: registrazione dei dati

Registrazione dei dati
Registrazione dei dati
Registrazione dei dati
Registrazione dei dati
Registrazione dei dati
Registrazione dei dati

Abbiamo deciso che sarebbe stata una buona idea registrare quanto sono pieni i rifiuti quando il camion arriva a svuotare i rifiuti. Con l'aiuto del nodo sqlite siamo in grado di leggere e scrivere dati che li salvano anche sul Pi. Avresti bisogno di installare questo nodo come ho detto prima.

I passaggi per la creazione e la registrazione dei dati sono i seguenti:

1. Crea il database

2. Registra i dati

3. Estrai i dati da mostrare sulla nostra dashboard

4. Cancella ed elimina i dati

Il modo in cui funziona SQL è che è necessario creare eseguire l'argomento che sono CREATE TABLE, INSERT INTO, SELECT FROM e DELETE FROM. Utilizzando i nodi timestamp possiamo eseguire argomenti sul nodo sqlite che svolge ciascuna di queste funzioni (creazione, inserimento, selezione ed eliminazione). Abbiamo solo bisogno di creare il database una volta e una volta terminato possiamo registrarvi i dati. Una volta creato il database, possiamo registrare i dati e abbiamo utilizzato nuovamente l'input dell'utente per registrare l'arrivo del camion. Abbiamo fatto in modo che tu non sia in grado di registrare i dati fino a quando il camion non è autorizzato a venire, ovvero 5 rifiuti all'80% della capacità (considerato pieno). Abbiamo anche usato di nuovo il nodo dell'intervallo per riportare il 500 a 0-100%. Abbiamo quindi la possibilità di eliminare tutti i dati dal database, se lo desideriamo. Il nodo della tabella dell'interfaccia utente è un nodo che ci consente di vedere la tabella in un modo ben formattato sulla nostra dashboard.

Passaggio 6: layout

Dopo che tutto questo è finito, puoi creare un layout che desideri con l'aiuto di Node-RED. Nella scheda laterale sarai in grado di distanziarli come preferisci e ci sono molte più opzioni di personalizzazione che hai. Inoltre è allegato il mio flusso per l'intero programma.

Passaggio 7: conclusione

Dopo aver completato questo progetto, ci sono aree in cui possiamo vedere il programma crescere ulteriormente. Non ho mai trovato un modo per effettuare la registrazione automaticamente poiché l'unico modo in cui potevamo farlo era registrarlo a intervalli e non avremmo avuto bisogno di numeri ripetuti se il camion della spazzatura fosse arrivato una volta. Penso che ciò sia in parte dovuto al modo in cui abbiamo deciso di renderlo fortemente dipendente dai nodi funzione e dalla programmazione poiché siamo più a nostro agio con tale programmazione. Dopo aver esplorato dopo aver finito, era chiaro che ci sono nodi fatti per tutto e avrebbe potuto rendere la vita molto più semplice se avessimo trovato prima la funzione dei nodi switch e rbe. C'era anche un nodo realizzato per i sensori a ultrasuoni che non siamo riusciti a far funzionare. Avrebbe reso le cose più semplici in quanto non ci sarebbe stato bisogno di MQTT o del programma Python in quanto è solo un nodo con i pin trigger ed echo. Abbiamo deciso di aggirare il problema realizzando il programma Python come hai visto sopra. Un grande consiglio per chiunque voglia immergersi in Node-RED è che dovresti usare molti nodi di debug per capire se ogni flusso funziona e produce ciò che vuoi / hai bisogno.

Consigliato: