Obsah:
- Krok 1: Sprievodca inštaláciou
- Krok 2: Ukážka ovládania
- Krok 3: Zoznam častí/softvéru použitého v projekte
- Krok 4: Zoznam I/0
- Krok 5: Schéma zapojenia
- Krok 6: Kód Arduino
- Krok 7: Raspberry Pi 3 B+
- Krok 8: Python
- Krok 9: MySQL
- Krok 10: Uzol červený
Video: Skleník UCL - IIOT: 11 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Tento projekt je rozšírením nášho predchádzajúceho projektu so skleníkom (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
V tomto projekte sme pridali databázu, kde zaznamenávame všetky naše údaje a potom ich vizualizujeme pomocou uzlovej červenej pre lepší prehľad.
Obsah, ktorý do našej databázy zaznamenávame, je vlhkosť, teplota a vlhkosť pôdy, ktorá je znázornená na rôznych diagramoch.
Okrem datalogginu dokážeme ovládať aj profil, ktorý je v skleníku aktívny, a diaľkovo ho ovládať.
Potom sme tiež schopní ovládať čerpadlo a ventilátor ručne.
Krok 1: Sprievodca inštaláciou
Prvým krokom je inštalácia všetkých rôznych komponentov.
Vnútri zátvoriek () sme uviedli, kde je komponent pripojený. Napríklad napríklad Arduino je k Raspberry Pi pripojené pomocou kábla USB.
Použitý hardvér:
- Arduino (Raspberry Pi)
- Raspberry Pi 3 B+
- Pôdny vlhkomer (Arduino)
- Snímač DHT11 (Arduino)
- Ponorné vodné čerpadlo HG-320 (relé)
- 5V relé (Arduino)
- Počítačový ventilátor (relé)
- Napájanie 230 V (čerpadlo)
Použitý softvér:
- Raspbian (OS pre Raspberry Pi)
- Arduino IDE
- Python (Raspberry Pi)- PySerial- MySQLclient
- Node-Red (Raspberry Pi)- Pythonshell- Summariser- MySQL- Dashboard
- Server MySQL (freemysqlhosting.net)
Najprv budete musieť pripojiť hardvérové komponenty, takže pri stavbe skleníka postupujte podľa tejto príručky: Inštalačná príručka.
Potom budete musieť nainštalovať Raspbian OS na svoj Raspberry Pi. Potom budete musieť nainštalovať Python a potom nainštalovať knižnice pythonu.
Ďalším krokom je inštalácia Node-Red na Raspberry Pi a potom prejdite na správcu paliet a nainštalujte moduly uvedené vyššie.
Potom prejdite na tento server Bezplatný server MySQL a vytvorte si bezplatný server MySQL.
Keď je toto všetko hotové, ste pripravení preniesť skript python do svojho Raspberry Pi, importovať skript Node-Red a nahrať kód pre Arduino.
Krok 2: Ukážka ovládania
Krok 3: Zoznam častí/softvéru použitého v projekte
Na výrobu skleníka sme použili nasledujúcu technológiu
- Arduino
- Malinový koláč
- Uzol-červený
- Python
- PHPMyAdmin
Krok 4: Zoznam I/0
Krok 5: Schéma zapojenia
Krok 6: Kód Arduino
Kód Arduino funguje tak, že dáta namerané senzormi vytlačí na sériové pripojenie, kde ich Raspberry Pi načíta a prenesie do databázy.
Arduino má tiež niekoľko digitálnych vstupných pinov pripojených k Raspberry Pi, ktoré Arduino číta, a ak sa jeden z troch stane VYSOKÝ, profil sa zmení kvôli príkazu IF.
Tiež sme aktualizovali kód tak, aby používal Millis namiesto oneskorenia, čo umožňuje, aby boli zadky a zvyšok kódu neustále čítané namiesto intervalu podľa starého oneskorenia.
Krok 7: Raspberry Pi 3 B+
Na prepojenie nášho Arduina s internetom a databázou MySQL sme použili Raspberry Pi 3 B+. To nám umožnilo ukladať údaje z našich senzorov a vytvoriť vizuálne rozhranie pre koncového používateľa. Ako používateľské rozhranie sme použili Node-Red s paletou Dashboard.
Ale skôr, ako sme mohli ukázať naše údaje senzorov na Node-Red, potrebovali sme spôsob, ako nahrať údaje do databázy MySQL, a na to sme vytvorili skript Python, ktorý by bežal na našom Raspberry Pi.
Krok 8: Python
Skript Python sa používa na príjem údajov zo sériovej komunikácie pochádzajúcej z Arduina. Skript potom pošle údaje do databázy MySQL.
Použili sme dve knižnice, pyserial a mysqlclient.
Prvým krokom by bolo stiahnutie týchto dvoch knižníc:
- PySerial
- MySQLclient
PySerial sa používa na zber údajov z Arduina prostredníctvom sériovej komunikácie.
zariadenie = '/dev/ttyUSB0'
arduino = sériový. Sériový (zariadenie, 9600)
Prvý riadok sa používa na definovanie nášho COM portu. Na Raspberry Pi používame /dev /ttyUSB0, ktorý používame pre Arduino. Druhý riadok slúži na otvorenie sériového portu pre Arduino. Len definujeme, ktorý COM port a pri akej rýchlosti prebieha pripojenie.
Zvyšok kódu beží v slučke while.
Ďalej používame viacero blokov Try and Except. Kód sa najskôr pokúša spustiť v bloku Try, ak to zlyhá, spustí blok Okrem. Ak však blok Try beží dobre, nespustí sa blok Except, ale spustí sa iba zvyšok kódu.
Takže v blokoch Try máme kód, ktorý bude čítať sériovú komunikáciu a potom ju odošle do našej databázy MySQL.
hygrolist = arduino.readlines (1)
templist = arduino.readlines (2) humidlist = arduino.readlines (3)
Vyššie uvedený kód je teda na čítanie riadkov v sériovej komunikácii. Číslo na konci kódu definuje riadok, ktorý bol prečítaný v seriáli. Tieto riadky sú teda kategorizované do rôznych premenných.
Keď sú prijaté údaje z Arduina, na odoslanie údajov na náš server MySQL sme použili modul mysqlclient.
db = _mysql.connect (host = "sql7.freemysqlhosting.net", užívateľ = "sql7256552", passwd = "3ebtbP8FQ2", db = "sql7256552")
Tento riadok slúži na pripojenie k našej databáze MySQL. Špecifikuje server, používateľské meno, heslo a databázu, ku ktorej sa má pripojiť na server. Tu by ste mali špecifikovať pripojenie k MySQL DB.
db.query ("INSERTINTO` TempHumid` (`temp`,` humid`, `hygro`) VALUES (%s, %s, %s)" %(temp, humid, hygro))
Tu teda vezmeme naše pripojenie DB a urobíme dotaz SQL. Dotaz hovorí, že hodnoty je potrebné vložiť do tabuľky „TempHumid“a potom do stĺpcov „temp“, „humid“a „hygro“. Posledná časť „(%s, %s, %s)“je formátovanie reťazcov a slúži na poskytnutie databázy formátu, ktorý dokáže čítať.
A všetky tieto akcie sú vložené do cyklu while, aby sme stále odosielali údaje na server MySQL.
Ak chcete vidieť celý kód, stiahnite si skript python (TempHumid.py).
Krok 9: MySQL
Pre server MySQL sme použili bezplatnú službu na www.freemysqlhosting.net. Mohli sme vytvoriť server lokálne na Raspberry Pi, ale išli sme s bezplatnou službou, aby bolo plne prepojené s cloudom/internetom.
Ak chcete získať prístup k svojmu serveru MySQL, musíte prejsť na stránku phpmyadmin.co a prihlásiť sa pomocou poverení zo svojho účtu freemysqlhosting.
Keď ste vo vnútri, musíte vytvoriť tabuľku s názvom „TempHumid“, v tejto tabuľke musíte vytvoriť 4 stĺpce s názvom „ID“, „teplota“, „vlhkosť“a „hygro“. V prvom stĺpci (ID) musíte začiarknuť políčko A_I (Automatické zvýšenie). Je to tak preto, aby stĺpec ID poskytoval každej množine údajov identifikátor. Všetky nasledujúce stĺpce je potrebné nastaviť ako INT (celé číslo) a štandardnú hodnotu nastaviť na NULL.
Krok 10: Uzol červený
V našom projekte sme použili Node-Red na vytvorenie grafického rozhrania. Node-Red beží na Raspberry Pi a zbiera údaje z našej databázy MySQL a ukazuje tieto údaje pomocou meradiel v tvare šišky a grafických tabuliek, aby koncový používateľ mohol údaje sledovať. Inteligentné na Node-Red je, že je možné ho zobraziť na akomkoľvek zariadení, čo znamená, že sa zmení veľkosť stránky pre dané zariadenie, ktoré si prezerá obsah.
Ak chcete nainštalovať naše programovanie Node-Red, pozrite sa na krok 1 a stiahnite si dokument s názvom „Node-Red.docx“. Potom skopírujte a prilepte text do Node-Red pomocou funkcie importu v pravom hornom rohu.
Potom zmeňte nastavenia DB pre MySQL DB.
Odporúča:
Automatický izbový skleník na báze Ikea Socker: 5 krokov
Automatický izbový skleník na báze Ikea Socker: Ahoj, toto je môj prvý návod. Vďaka tejto komunite som sa veľa naučil a myslím, že je načase vrátiť svoje skromné nápady. Ospravedlňujem sa za svoju angličtinu, je chudobná, ale urobím všetko, čo bude v mojich silách. Cieľom bolo vytvoriť deskopský skleník, ktorý mi umožní pestovať semená a
Úžasný skleník s automatickým zavlažovaním, pripojením na internet a oveľa viac: 7 krokov (s obrázkami)
Úžasný skleník s automatickým zavlažovaním, pripojením na internet a oveľa viac: Vitajte v tomto návode. Začiatkom marca som bol v záhradnom obchode a uvidel som niekoľko skleníkov. A keďže som už dlho chcel urobiť projekt s rastlinami a elektronikou, pokračoval som a kúpil som si ho: https://www.instagram.com/p
MAG (miniatúrny automatický skleník): 9 krokov
MAG (miniatúrny automatický skleník): Moja matka je väčšinu času dosť zaneprázdnená. Chcel som jej teda pomôcť automatizáciou jej skleníkov. Týmto spôsobom môže ušetriť trochu času, pretože nebude musieť polievať rastliny. To dosiahnem pomocou MAG (Miniature Automatic Garden). Rovnako ako v
IGreenhouse - Inteligentný skleník: 17 krokov (s obrázkami)
IGreenhouse - Inteligentný skleník: Domáce ovocie a zelenina sú často lepšie ako tie, ktoré kupujete, ale niekedy môžete stratiť zo zreteľa svoj skleník. V tomto projekte vyrobíme inteligentný skleník. Tento skleník automaticky otvára a zatvára jeho okná a dvere
Senzorová skrinka pre skleník: 5 krokov
Senzorová skrinka pre skleník: Hej. Chcem predstaviť širšej spoločnosti ešte jeden svoj projekt. Cieľom projektu je automatizácia skleníka, ktorý som postavil na svojom dvore. Toto je prvý krok- vytvorenie komplexu senzorov pre skleník. Neskôr v budúcnosti na základe