Obsah:

Home_X: 5 kroků
Home_X: 5 kroků

Video: Home_X: 5 kroků

Video: Home_X: 5 kroků
Video: Jak si postavit levně svůj dřevěný dům krok za krokem 2024, Červenec
Anonim
Home_X
Home_X

Jsem studentem Howest Kortrijk, který studuje nové mediální a komunikační technologie (NMCT).

Všichni jsme museli vytvořit projekt, který byl založen na malinách a/nebo Arduino. Museli jsme použít senzory a databáze k zobrazení dat na webových stránkách, a tehdy jsem přišel s nápadem vytvořit mini chytrý dům.

Díky chytrému domu budete moci vidět všechny údaje ze senzorů na webových stránkách.

V tomto pokynu vás provedu každým krokem, abyste mohli tento projekt znovu vytvořit pro sebe.

Krok 1: Materiály: Co potřebujete

  • Raspberry Pi
  • DHT22
  • Grove - snímač kvality vzduchu
  • Grove - plynový senzor (MQ2)
  • Prkénko
  • Malina Pi T ševec
  • Propojovací vodiče pro muže/ženy
  • 5mm LED diody
  • Rezistory
  • Dřevo a nářadí
  • Servomotor
  • GrovePi+

Tyto položky můžete zakoupit online (Ali Express, amazon, kiwi elektronika …) nebo ve svých místních obchodech.

Podrobný seznam dílů s odkazem na obchody je uveden níže v kusovníku.

Krok 2: Zapojení

Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení

Použil jsem Fritzing pro zapojení, abych měl pěkný přehled o tom, jak by mělo být provedeno moje zapojení. Sám jsem použil GrovePi+ pro 2 ze svých senzorů. Pokud máte v plánu to udělat bez GrovePi+, postupujte podle Fritzingova schématu. I senzory pro vás nefungují, zkuste použít různé piny.

Níže najdete soubor Fritzing.

Krok 3: Databáze využívající MySQL

Databáze využívající MySQL
Databáze využívající MySQL

Jedním z nejdůležitějších úkolů, které jsme museli implementovat, bylo propojení s databází MySQL.

Pokaždé, když senzor načte hodnoty nebo se rozsvítí kontrolka, uvidíte tyto změny v databázi.

Databáze pak tato data odešle na web, aby je tam uživatel také viděl.

Níže naleznete můj.xml soubor, kde máte přehled o tom, jak databáze funguje, ale nejprve musíte na Raspberry Pi nainstalovat MySQL a baňku.

Kódování senzorů proběhlo přes pycharm, takže se ujistěte, že je také nainstalován (ve vašem počítači).

Nejprve musíte zkontrolovat aktualizace a nainstalovat balíčky, jako je tento:

sudo apt-get update && sudo apt-get upgrade

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Nyní použijeme virtuální prostředí:

me@my-rpi: ~ $ python3 -m pip install --upgrade pip setuptools wheel virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system- site-packages env me@my-rpi: ~/project1 $ source env/bin/activate (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

Mělo by vám říci, že služba mariadb.service je aktivní.

Nyní v pycharm přejděte na VCS> Import z Řízení verzí> GitHub en clone

Potom nakonfigurujte konfiguraci nasazení pro adresář, který jste právě vytvořili, např. /home/me/project1.

Až to bude hotové, přejděte do nastavení tlumočníka a nakonfigurujte virtuální prostředí, které jste právě vytvořili, např. /home/me/project/env/bin/python. Je také nutné vyplnit mapování cesty.

Pokud jste to všechno udělali, databáze by již měla být spuštěna.

sudo systemctl status mysql

Nyní musíme vytvořit uživatele pro naši databázi, například:

sudo mariadb

VYTVOŘIT UŽIVATELE 'project-admin'@'localhost' IDENTIFIKOVANÉ 'adminpassword'; VYTVOŘIT UŽIVATELE 'project-web'@'localhost' IDENTIFIKOVÁNO 'webpassword'; VYTVOŘIT UŽIVATELE 'project-sensor'@'localhost' IDENTIFIKOVÁNO podle 'sensorpassword'; VYTVOŘIT projekt DATABÁZE;

UDĚLIT VŠECHNY PRIVILEGY na projekt.* Na 'project-admin'@'localhost' S GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost'; UDĚLAT VÝBĚR, VLOŽIT, AKTUALIZOVAT, ODSTRANIT NA projektu.* DO 'projektového senzoru'@'localhost'; FLUSH PRIVILEGES;

Nyní, abychom viděli naši databázi v pycharmu, musíme vytvořit připojení.

Můžeme to provést tak, že přejdeme na Zobrazení> Nástroj Windows> Databáze a klikneme na zelené tlačítko „plus“.

Zdroj dat> MySQL a klikněte (je -li k dispozici) na tlačítko Stáhnout ovladač, které se objeví.

Poté přejděte na SSH/SSL a zkontrolujte SSH. Vyplňte host/user/heslo pro pi a použijte port 22, pokud ještě není vyplněn.

Pokud chcete, aby si pycharm pamatoval vaše heslo, zaškrtněte políčko „Zapamatovat heslo“.

Na kartě „Obecné“vyplňte localhost v hostiteli, projekt v databázi a pomocí hesla project-admin můžete otestovat připojení.

Aby byla databáze nyní použitelná, musíte spustit.sql, který níže umístím. Zkuste použít možnost importu, pokud nemůžete importovat skládkový soubor, musíte tabulky přidat ručně.

Poté, co to uděláte, musíte najít adresář conf se dvěma soubory.service. Tam změňte každé sebé, které najdete, se jménem uživatele, kterého používáte na svém pi. Skupina také musí být www-data.

Dalším krokem je spuštění těchto služeb na vašem pi, například:

sudo cp conf/project-*. service/etc/systemd/system/

sudo systemctl daemon-reload

sudo systemctl start project-*

stavový projekt sudo systemctl-*

Měli byste vidět dvě aktivní služby, když vše půjde podle plánu.

Posledním krokem je povolení nginx.

Nejprve na svém pi zkontrolujte apache2, pokud jej máte nainstalovaný, odstraňte jej nebo jej deaktivujte.

V souboru nginx musíte nejprve změnit uwsgi_pass, poté spustit tyto příkazy.

sudo cp conf/nginx/etc/nginx/sites-available/project

sudo rm/etc/nginx/sites-enabled/default

sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project

sudo systemctl restart nginx.service

sudo systemctl status nginx.service

Nginx by měl být aktivní a spuštěný. Pokud je vše v pořádku, můžete nyní procházet své pi. Nejprve uvidíte „Hello world“, ale stále musíte změnit obsah tohoto souboru pomocí mého kódu níže.

Můžete povolit služby tak, aby se automaticky spustily při spuštění pí.

Když to uděláte, ujistěte se, že jste do databáze vložili alespoň 1 dům s adresou. To lze provést jednoduchým vložením do.

Krok 4: Kódování

Kódování
Kódování
Kódování
Kódování

Kód si můžete stáhnout přes Github:

github.com/NMCT-S2-Project-I/project-i-Tib…

Kód pro senzory je součástí souboru sensor.py.

Nezapomeňte v souborech služeb změnit mé jméno na vaše (nebo uživatele, které používáte na svém pi), aby mohly správně běžet a umístit můj kód do již existujících souborů ve vašem Pycharm.

Krok 5: Bydlení

Bydlení
Bydlení
Bydlení
Bydlení
Bydlení
Bydlení
Bydlení
Bydlení

Rychle jsem nakreslil, jak chci svůj dům, ale ten váš může vypadat úplně jinak. Jen se musíte ujistit, že máte celek, aby servo mohlo otevřít a zavřít okno.

K řezání dřeva jsem používal hlavně malý vrták a pilku. Také jsem se ujistil, že stěny jsou dostatečně silné, abych do nich mohl umístit své servo.

Když skončíte s návrhem a servo je na svém místě, stačí připojit senzory a umístit pí uvnitř domu a můžete vyrazit.

Jak jsem již zmínil, váš dům může vypadat úplně stejně jako můj, stačí uvolnit místo pro servo a okno.

Nakonec jste s projektem hotovi. Doufám, že tato příručka je dostatečně srozumitelná, takže i vy můžete vytvořit úžasný inteligentní dům, jako jsem to udělal já.

Hodně štěstí

Doporučuje: