Obsah:

Odpadkový systém: 7 kroků
Odpadkový systém: 7 kroků

Video: Odpadkový systém: 7 kroků

Video: Odpadkový systém: 7 kroků
Video: Annie camel tiktok tanec 🥰💞 2024, Listopad
Anonim
Odpadkový systém
Odpadkový systém

Rozhodli jsme se zkusit najít způsob, jak sledovat buď komunální popelnici v sousedství, nebo senzor v každém odpadu v sousedství, abychom se pokusili zefektivnit likvidaci odpadků. Mysleli jsme si, že když kamion přijede každé dva týdny na sběr, co když já nebo můj soused skončíme jen trochu vyhazováním. Nebylo by neefektivní poslat kamion, kam polovina sousedství neposlala plné koše? Bylo by skvělé, kdyby bylo možné vidět, jak se popelnice našeho souseda plní, a pak použít jejich odpadky, pokud byl můj plný a ten jejich byl prázdný a naopak. Rozhodli jsme se použít ultrazvukový senzor HC-SR04 spolu s malinovým pi, abychom se pokusili tento projekt vyřešit.

Zásoby

Ultrazvukový senzor (HC-SR04)

Raspberry Pi (použili jsme Pi 4 Model B)

Prkénko

Propojovací kabely

Pár rezistorů (3 x 1 k ohm)

Krok 1: Připojení HC-SR04

Připojení HC-SR04
Připojení HC-SR04

Protože používáme Raspberry Pi, musíme použít dělič napětí k regulaci napětí vstupujícího do pinů GPIO Pi, protože umožňují pouze 3,3 V. HC-SR04 používá 5V, ale při připojení k Pi musí být snížen na 3,3V. Připojte 5V a zemnící piny a podle vašeho programu připojte echo a spouštěcí piny k respektujícím pinům. V našem programu jsme použili pin 23 a 24 pro ozvěnu a spoušť.

Krok 2: Mosquitto a Paho MQTT

Než začneme programovat na Pythonu, aby ultrazvukový senzor fungoval s Pi, měli bychom nainstalovat tyto aplikace, aby ultrazvukový senzor komunikoval s naším programovacím softwarem Node-RED. Mosquitto je broker MQTT, který můžete použít na Pi, zatímco Paho MQTT je knihovna, která vám umožňuje kódovat v Pythonu, aby senzor komunikoval s brokerem MQTT. Chcete -li nainstalovat oba, zadejte tyto příkazy na terminál Pi

sudo apt aktualizace

sudo apt install -y mosquitto mosquitto -clients

sudo apt-get install python3-pip

sudo pip3 nainstalujte paho-mqtt

Krok 3: Program Python pro ultrazvukový senzor

Toto je program, který jsem použil ke čtení příchozích dat ze senzoru a také publikování u makléře MQTT.

Krok 4: Node-RED

Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ

Některé uzly nejsou v programu předinstalovány, takže je možná budete muset nainstalovat z palet. Ty, které musíte nainstalovat, jsou node-red-dashboard a node-red-node-sqlite.

Zde začínáme používat náš programovací software a senzor. První uzel, který byste potřebovali, je uzel MQTT-in a který nám umožňuje použít náš senzor, který spouští program shora, k odesílání dat do tohoto softwaru. Použitý uzel rozsahu převrátí hodnoty, které máme (tj. 5 cm je z programu plné, takže ho otočíme na 100%). Po uzlu rozsahu máme 2 funkční uzly, jeden pro zobrazení zprávy na našem řídicím panelu a jeden pro zobrazení vizuálu, že odpadky jsou plné. Je připojen program pro funkční uzly.

Pokud by to bylo možné, tento tok by bylo možné použít pro více ultrazvukových senzorů. Pro náš projekt jsme však museli provést simulační data, protože jsme nebyli schopni dostat do rukou více senzorů. Způsob, jakým jsme to udělali, je velmi podobný, ale máme tlačítka, na která může uživatel kliknout a náhodně přidat 1-10 procent odpadků do každého z garbages. Použili jsme 2 tlačítka, jedno pro přidání odpadků a jedno pro vymazání. Ukazatel, zprávy a indikátor jsou stále úplně stejné, kód pro počítání a udržování počtu odpadků je trochu odlišný.

Krok 5: Protokolování dat

Protokolování dat
Protokolování dat
Protokolování dat
Protokolování dat
Protokolování dat
Protokolování dat

Rozhodli jsme se, že by bylo dobré zaznamenat, jak jsou plné garáže, když kamion přijede vyprázdnit garáže. Pomocí uzlu sqlite jsme schopni číst a zapisovat data, která je také ukládají na Pi. Tento uzel byste museli nainstalovat, jak jsem již řekl.

Kroky k vytváření a protokolování dat probíhají následovně:

1. Vytvořte databázi

2. Zaznamenejte data

3. Vytáhněte data, která se mají zobrazit na našem řídicím panelu

4. Vymažte a odstraňte data

SQL funguje tak, že musíte vytvořit spustit téma, které jsou CREATE TABLE, INSERT INTO, SELECT FROM a DELETE FROM. Pomocí uzlů časových razítek můžeme spouštět témata do uzlu sqlite, který provádí každou z těchto funkcí (vytváření, vkládání, výběr a mazání). Databázi musíme vytvořit pouze jednou a jakmile je hotová, můžeme do ní protokolovat data. Jakmile je databáze vytvořena, můžeme protokolovat data a při přihlášení kamionu jsme znovu použili záznamy uživatelů. Dokázali jsme to, takže nebudete moci zaznamenávat data, dokud nebude povoleno přijet kamionu, což je 5 garáží na 80% kapacity (považováno za plné). Také jsme znovu použili uzel rozsahu pro škálování 500 zpět na 0-100%. Pak máme možnost odstranit všechna data z databáze, pokud bychom chtěli. Uzel tabulky uživatelského rozhraní je uzel, který nám umožňuje vidět tabulku pěkně formátovaným způsobem na našem řídicím panelu.

Krok 6: Rozložení

Až to všechno skončí, budete moci pomocí Node-RED vytvořit rozvržení, které byste chtěli. Na boční kartě je budete moci umístit, jak chcete, a máte spoustu dalších možností přizpůsobení. Také je připojen můj tok pro celý můj program.

Krok 7: Závěr

Po dokončení tohoto projektu existují oblasti, kde můžeme vidět, jak se program dále rozšiřuje. Nikdy jsem nenašel způsob, jak automaticky provádět protokolování, protože jediný způsob, jakým jsme to mohli udělat, bylo, aby se protokoloval v intervalu a nepotřebovali bychom žádná opakovaná čísla, kdyby popelářský vůz přijel jednou. Myslím, že je to částečně způsobeno tím, jak jsme se rozhodli, že bude silně záviset na funkčních uzlech a programování, protože jsme s tímto programováním spokojenější. Po prozkoumání poté, co jsme skončili, bylo jasné, že existují uzly vytvořené pro všechno a že by to mohlo hodně usnadnit život, kdybychom dříve našli funkci přepínačů a uzlů rbe. Byl také vytvořen uzel pro ultrazvukové senzory, který jsme nedostali do práce. Věci by to usnadnilo, protože by nebyla potřeba MQTT ani program Python, protože je to jen uzel se spouštěcími a ozvěnovými piny. Rozhodli jsme se to obejít vytvořením programu Python, jak jste viděli výše. Obrovský tip pro každého, kdo se chce ponořit do Node-RED, je, že byste měli použít spoustu ladicích uzlů, abyste zjistili, zda každý tok funguje a vydává to, co chcete/potřebujete.

Doporučuje: