Obsah:
- Krok 1: Průvodce instalací
- Krok 2: Přehlídka ovládání
- Krok 3: Seznam součástí/softwaru použitých v projektu
- Krok 4: Seznam I/0
- Krok 5: Schéma zapojení
- Krok 6: Kód Arduino
- Krok 7: Raspberry Pi 3 B+
- Krok 8: Python
- Krok 9: MySQL
- Krok 10: Node-Red
Video: Skleník UCL - IIOT: 11 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Tento projekt je rozšířením našeho dřívějšího projektu se skleníkem (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
V tomto projektu jsme přidali databázi, kde zaznamenáváme všechna naše data a poté je vizualizujeme pomocí uzlu-červené pro větší přehled.
Obsah, který do naší databáze zaznamenáváme, je Vlhkost, Teplota a vlhkost půdy, která je znázorněna v různých diagramech.
Kromě datalogginu můžeme také ovládat, který profil je ve skleníku aktivní, a dálkově jej ovládat.
Pak jsme také schopni ovládat čerpadlo a ventilátor ručně.
Krok 1: Průvodce instalací
Prvním krokem je instalace všech různých komponent.
Uvnitř závorek () jsme uvedli, kde je komponenta připojena. Například například Arduino je připojeno k Raspberry Pi pomocí kabelu USB.
Použitý hardware:
- Arduino (Raspberry Pi)
- Raspberry Pi 3 B+
- Půdní vlhkoměr (Arduino)
- Čidlo DHT11 (Arduino)
- HG-320 Ponorné vodní čerpadlo (relé)
- 5V relé (Arduino)
- Počítačový ventilátor (relé)
- Napájení 230 V (čerpadlo)
Použitý software:
- Raspbian (OS pro Raspberry Pi)
- Arduino IDE
- Python (Raspberry Pi)- PySerial- MySQLclient
- Node-Red (Raspberry Pi)- Pythonshell- Summariser- MySQL- Dashboard
- Server MySQL (freemysqlhosting.net)
Nejprve budete muset připojit hardwarové komponenty, takže při stavbě skleníku postupujte podle této příručky: Instalační příručka.
Poté budete muset na svůj Raspberry Pi nainstalovat Raspbian OS. Poté budete muset nainstalovat Python a poté nainstalovat knihovny pythonu.
Dalším krokem je instalace Node-Red na Raspberry Pi a poté přejděte do správce palet a nainstalujte moduly uvedené výše.
Poté přejděte na tento server Free MySQL Server a vytvořte si bezplatný server MySQL.
Když je toto vše hotovo, jste připraveni přenést skript pythonu na váš Raspberry Pi, importovat skript Node-Red a nahrát kód pro Arduino.
Krok 2: Přehlídka ovládání
Krok 3: Seznam součástí/softwaru použitých v projektu
K výrobě skleníku jsme použili následující technologii
- Arduino
- Raspberry Pi
- Node-Red
- Krajta
- PHPMyAdmin
Krok 4: Seznam I/0
Krok 5: Schéma zapojení
Krok 6: Kód Arduino
Kód Arduino funguje tak, že data naměřená senzory vytiskne na sériové připojení, kde je načte Raspberry Pi a přenese do databáze.
Arduino má také několik digitálních vstupních pinů připojených k Raspberry Pi, které Arduino čte, a pokud se jeden ze tří stane VYSOKÝ, profil se změní kvůli příkazu IF.
Také jsme upgradovali kód tak, aby používal Millis místo zpoždění, které umožňuje, aby byly buttomy a zbytek kódu neustále čteny místo intervalu podle starého zpoždění.
Krok 7: Raspberry Pi 3 B+
Pro připojení našeho Arduina k internetu a databázi MySQL jsme použili Raspberry Pi 3 B+. To nám umožnilo ukládat data z našich senzorů a vytvořit vizuální rozhraní pro koncového uživatele. Pro uživatelské rozhraní jsme použili Node-Red s paletou Dashboard.
Než jsme ale mohli ukázat naše data ze senzorů na Node-Red, potřebovali jsme způsob, jak data nahrát do databáze MySQL, a za tím účelem jsme vytvořili skript Pythonu, který poběží na našem Raspberry Pi.
Krok 8: Python
Skript Python se používá pro příjem dat ze sériové komunikace pocházející z Arduina. Skript poté odešle data do databáze MySQL.
Použili jsme dvě knihovny, pyserial a mysqlclient.
Prvním krokem by tedy bylo stažení těchto dvou knihoven:
- PySerial
- MySQLclient
PySerial se používá pro sběr dat z Arduina prostřednictvím sériové komunikace.
zařízení = '/dev/ttyUSB0'
arduino = serial. Serial (zařízení, 9600)
První řádek se používá k definování našeho COM portu. Na Raspberry Pi je to /dev /ttyUSB0, který používáme pro Arduino. Druhý řádek je pro otevření sériového portu pro Arduino. Jen definujeme, který COM port a jakou rychlostí připojení běží.
Zbytek kódu běží ve smyčce while.
Dále používáme několik bloků Try and Except. Nejprve se kód pokouší spustit uvnitř bloku Try, pokud selže, pak spustí blok Except. Pokud ale blok Try běží dobře, nespustí blok Except, ale spustí pouze zbytek kódu.
Takže uvnitř bloků Try máme kód, který přečte sériovou komunikaci a poté ji odešle do naší databáze MySQL.
hygrolist = arduino.readlines (1)
templist = arduino.readlines (2) humidlist = arduino.readlines (3)
Výše uvedený kód je tedy pro čtení řádků v sériové komunikaci. Číslo na konci kódu definuje řádek, který byl načten v seriálu. Tyto řádky jsou tedy kategorizovány do různých proměnných.
Když jsou přijata data z Arduina, použili jsme modul mysqlclient pro odeslání dat na náš server MySQL.
db = _mysql.connect (host = "sql7.freemysqlhosting.net", uživatel = "sql7256552", passwd = "3ebtbP8FQ2", db = "sql7256552")
Tento řádek je pro připojení k naší databázi MySQL. Uvádí server, uživatelské jméno, heslo a databázi, ke které se má na serveru připojit. Zde byste měli určit připojení k MySQL DB.
db.query ("INSERTINTO` TempHumid` (`temp`,` humid`, `hygro`) VALUES (%s, %s, %s)" %(temp, humid, hygro))
Zde tedy vezmeme naše připojení DB a vytvoříme dotaz SQL. Dotaz říká, že hodnoty musí být vloženy do tabulky „TempHumid“a poté do sloupců „temp“, „humid“a „hygro“. Poslední část „(%s, %s, %s)“je formátování řetězců a slouží k tomu, aby databáze získala formát, který dokáže číst.
A všechny tyto akce jsou vloženy do cyklu while, abychom stále odesílali data na server MySQL.
Pokud chcete vidět celý kód, stáhněte si skript python (TempHumid.py).
Krok 9: MySQL
Pro server MySQL jsme použili bezplatnou službu na www.freemysqlhosting.net. Mohli jsme vytvořit server lokálně na Raspberry Pi, ale šli jsme s bezplatnou službou, aby byl plně připojen ke cloudu/internetu.
Chcete -li získat přístup k MySQL, musíte jít na phpmyadmin.co a přihlásit se pomocí přihlašovacích údajů ze svého účtu freemysqlhosting.
Když jste uvnitř, musíte vytvořit tabulku s názvem „TempHumid“, uvnitř této tabulky musíte vytvořit 4 sloupce s názvem „ID“, „teplota“, „vlhko“a „hygro“. V prvním sloupci (ID) musíte zaškrtnout políčko A_I (Auto Increment). Je tomu tak proto, že sloupec ID dává každé datové sadě ID. Všechny následující sloupce je třeba nastavit jako INT (celé číslo) a standardní hodnotu nastavit na NULL.
Krok 10: Node-Red
V našem projektu jsme použili Node-Red pro vytvoření grafického rozhraní. Node-Red běží na Raspberry Pi a sbírá data z naší databáze MySQL a ukazuje tato data pomocí měřidel ve tvaru koblihy a grafických grafů, takže koncový uživatel může data sledovat. Chytrá věc na Node-Red je, že je viditelná na jakémkoli zařízení, což znamená, že u daného zařízení, které si prohlíží obsah, dojde ke změně velikosti webu.
Chcete-li nainstalovat naše programování Node-Red, podívejte se na krok 1 a stáhněte si dokument s názvem „Node-Red.docx“. Poté zkopírujte a vložte text do Node-Red pomocí funkce importu v pravém horním rohu.
Poté změňte nastavení DB pro MySQL DB.
Doporučuje:
Automatický vnitřní skleník založený na Ikea Socker: 5 kroků
Automatický vnitřní skleník založený na Ikea Socker: Ahoj, toto je můj první pokyn. Díky této komunitě jsem se hodně naučil a myslím, že je na čase vrátit své skromné nápady. Omlouvám se za svou angličtinu, je chudá, ale udělám vše, co bude v mých silách. Cílem bylo vytvořit deskopský skleník, který mi umožní pěstovat semena a
Úžasný skleník s automatickým zavlažováním, připojením k internetu a mnohem více: 7 kroků (s obrázky)
Úžasný skleník s automatickým zavlažováním, připojením k internetu a mnohem více: Vítejte v tomto návodu. Na začátku března jsem byl v zahradním obchodě a viděl jsem nějaké skleníky. A protože jsem už delší dobu chtěl dělat projekt s rostlinami a elektronikou, šel jsem do toho a koupil si: https://www.instagram.com/p
MAG (miniaturní automatický skleník): 9 kroků
MAG (miniaturní automatický skleník): Moje matka je většinu času dost zaneprázdněná. Chtěl jsem jí tedy pomoci automatizací jejích skleníků. Tímto způsobem může ušetřit trochu času, protože nebude muset zalévat rostliny. Toho dosáhnu pomocí MAG (Miniature Automatic Garden). Stejně jako v
IGreenhouse - inteligentní skleník: 17 kroků (s obrázky)
IGreenhouse - inteligentní skleník: Domácí ovoce a zelenina jsou často lepší než ty, které kupujete, ale někdy můžete svůj skleník ztratit z dohledu. V tomto projektu vyrobíme inteligentní skleník. Tento skleník automaticky otevře a zavře jeho okna a dveře
Senzorová skříňka pro skleník: 5 kroků
Senzorová skříňka pro skleník: Hej. Chci představit ještě jeden svůj projekt široké společnosti. Cílem projektu je zautomatizovat skleník, který jsem postavil na svém dvorku. Toto je první krok- vytvoření komplexu senzorů pro skleník. Později v budoucnosti na základě