Përmbajtje:

Home_X: 5 hapa
Home_X: 5 hapa

Video: Home_X: 5 hapa

Video: Home_X: 5 hapa
Video: Freddy Fazbear in Home Alone 2 (FNAF Meme) 2024, Korrik
Anonim
Shtëpi_X
Shtëpi_X

Unë jam student në Howest Kortrijk i cili studion Teknologjinë e Re të Mediave dhe Komunikimit (NMCT).

Ne të gjithë duhej të bënim një projekt që bazohej në mjedër dhe/ose Arduino. Na u desh të përdorim sensorë dhe baza të të dhënave për të treguar të dhënat në një faqe në internet, dhe pikërisht atëherë më lindi ideja për të krijuar një mini shtëpi të zgjuar.

Me shtëpinë e zgjuar, ju do të jeni në gjendje të shihni të gjitha leximet e sensorëve në faqen e internetit.

Në këtë udhëzues unë do t'ju udhëheq përmes çdo hapi në mënyrë që të mund ta krijoni këtë projekt për veten tuaj.

Hapi 1: Materialet: Çfarë ju nevojitet

  • Raspberry Pi
  • DHT22
  • Grove - Sensori i cilësisë së ajrit
  • Grove - Sensori i gazit (MQ2)
  • Breadboard
  • Mjedër Pi T këpucar
  • Telat e kërcyesit Mashkull/Femër
  • LED 5mm
  • Rezistencat
  • Druri dhe mjetet
  • Servo Motor
  • GrovePi+

Ju mund t'i blini këto artikuj në internet (Ali express, amazon, elektronikë kivi …) ose në dyqanet tuaja lokale.

Një listë e detajuar e pjesëve me një lidhje me dyqanet jepet më poshtë në BOM.

Hapi 2: Instalimet elektrike

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike

Kam përdorur Fritzing për instalime elektrike për të pasur një pasqyrë të bukur se si duhet të bëhet instalimi im. Unë vetë kam përdorur një GrovePi+ për 2 sensorë të mi. Nëse planifikoni ta bëni këtë pa një GrovePi+ ndiqni skemën Fritzing. Sensorët e I nuk punojnë për ju, provoni të përdorni kunja të ndryshme.

Më poshtë mund të gjeni skedarin Fritzing.

Hapi 3: Baza e të dhënave duke përdorur MySQL

Baza e të dhënave duke përdorur MySQL
Baza e të dhënave duke përdorur MySQL

Një nga detyrat më thelbësore që duhej të zbatonim ishte lidhja me një bazë të dhënash MySQL.

Sa herë që një sensor lexon ose ndizet një dritë, do t'i shihni këto ndryshime në bazën e të dhënave.

Baza e të dhënave pastaj i dërgon këto të dhëna në faqen e internetit në mënyrë që përdoruesi t'i shohë ato gjithashtu atje.

Më poshtë mund të gjeni skedarin tim.xml ku keni një pasqyrë se si funksionon baza e të dhënave, por së pari ju duhet të instaloni MySQL dhe balonë në Raspberry Pi.

Kodimi i sensorëve ndodhi përmes pycharm, prandaj sigurohuni që të jetë i instaluar gjithashtu (në kompjuterin tuaj).

Së pari ju duhet të kontrolloni për përditësime dhe të instaloni paketa, si kjo:

sudo apt-merrni përditësim && sudo apt-merrni përmirësim

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

Tani do të përdorim një mjedis virtual:

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- paketat e faqeve env me@my-rpi: ~/project1 $ source env/bin/activ (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-lidhës-python passlib

Duhet t'ju tregojë se mariadb.service është aktiv.

Tani, në pycharm shkoni te VCS> Importoni nga Kontrolli i Versionit> GitHub en klon

Pastaj konfiguroni konfigurimin e vendosjes për drejtorinë që sapo keni bërë, p.sh. /shtëpia/unë/projekti1.

Pasi të bëhet kjo, shkoni te cilësimet e përkthyesit dhe konfiguroni mjedisin virtual që sapo keni krijuar, p.sh. /home/me/project/env/bin/python. Hartimi i rrugës gjithashtu duhet të plotësohet.

Nëse i keni bërë të gjitha këto, baza e të dhënave tashmë duhet të funksionojë.

sudo systemctl status mysql

Tani ne duhet të krijojmë përdorues për bazën tonë të të dhënave, si kështu:

sudo mariadb

CREATE USER 'project-admin'@'localhost' IDENTIFIKUAR NGA 'adminpassword'; CREATE USER 'project-web'@'localhost' IDENTIFIKUAR NGA 'webpassword'; CREATE USER 'project-sensor'@'localhost' IDENTIFIKUAR NGA 'sensorpassword'; KRIJONI projektin e BAZAVE TAT DHATNAVE;

DH GRNI T ALL GJITH PRIVILEGJET N ON projekt.* Te 'project-admin'@'localhost' ME GRANT OPTION; ZGJEDHJA E GRANTIT, INSERT, PPRDITSIM, FSHIRJE N project projekt.* TO 'project-web'@'localhost'; ZGJEDHJA E GRANTIT, INSERT, PPRDITSIM, FSHIRJ project N project projekt.* P'R 'sensor-projekt'@'localhost'; PRIVILEGJET E PARASHIKUAR;

Tani për të parë bazën e të dhënave tona në pycharm duhet të krijojmë një lidhje.

Ne mund ta bëjmë këtë duke shkuar te View> Tool Windows> Database dhe duke klikuar butonin e gjelbër "plus".

Burimi i të dhënave> MySQL dhe klikoni (nëse është i pranishëm) në butonin e shkarkimit të shoferit që shfaqet.

Pastaj shkoni te SSH/SSL dhe kontrolloni SSH. Plotësoni hostin/përdoruesin/fjalëkalimin për pi dhe përdorni portin 22 nëse nuk është mbushur ende.

Nëse dëshironi që pycharm të mbajë mend fjalëkalimin tuaj, kontrolloni kutinë e kontrollit "Mos harroni fjalëkalimin".

Në skedën "Të përgjithshme", plotësoni localhost në host, projektoni në Baza e të dhënave dhe përdorni projekt-administratorin me fjalëkalimin për të qenë në gjendje të provoni lidhjen.

Për ta bërë tani bazën e të dhënave të përdorshme, duhet të ekzekutoni.sql që kam vendosur më poshtë. Provoni të përdorni opsionin e importit, nëse nuk mund të importoni një dosje, ju duhet të shtoni tabelat me dorë.

Pasi të bëhet kjo ju duhet të gjeni drejtorinë konf me dy skedarët e shërbimit. Aty ndryshoni çdo seb që gjeni me emrin e përdoruesit që përdorni në pi tuaj. Gjithashtu, grupi duhet të jetë www-data.

Hapi tjetër është të filloni këto shërbime në pi tuaj, si kështu:

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

sudo systemctl daemon-ringarkoni

fillo projektin sudo systemctl-*

projekti i statusit sudo systemctl-*

Ju duhet të shihni dy shërbime aktive kur gjithçka shkon sipas planit.

Hapi i fundit është të aktivizoni nginx.

Së pari kontrolloni për apache2 në pi tuaj, nëse e keni të instaluar, fshijeni ose çaktivizojeni.

Në skedarin nginx së pari duhet të ndryshoni uwsgi_pass, pastaj të ekzekutoni këto komanda.

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 rinis nginx.service

sudo systemctl status nginx.service

Nginx duhet të jetë aktiv dhe aktiv. Nëse gjithçka është e saktë, tani mund të lundroni te pi juaj. Në fillim do të shihni "Përshëndetje botë", por ju ende duhet të ndryshoni përmbajtjen e atij skedari me kodin tim më poshtë.

Ju mund t'i aktivizoni shërbimet në mënyrë që ato të funksionojnë automatikisht kur fillon pi.

Kur e keni bërë këtë, sigurohuni që të vendosni të paktën 1 shtëpi me adresë në bazën e të dhënave. Ju mund ta bëni këtë me një futje të thjeshtë në.

Hapi 4: Kodimi

Kodimi
Kodimi
Kodimi
Kodimi

Ju mund ta shkarkoni kodin përmes Github:

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

Kodi për sensorët përfshihet në skedarin sensor.py.

Mos harroni të ndryshoni emrin tim në tuajin (ose përdoruesin sesa përdorni në pi tuaj) në skedarët e shërbimit në mënyrë që ata të mund të funksionojnë siç duhet dhe të vendosin kodin tim në skedarët tashmë ekzistues në Pycharm tuaj.

Hapi 5: Strehimi

Strehimi
Strehimi
Strehimi
Strehimi
Strehimi
Strehimi
Strehimi
Strehimi

Unë bëra një vizatim të shpejtë se si doja shtëpinë time, por e juaja mund të duket krejtësisht ndryshe. Thjesht duhet të siguroheni që keni një tërësi në mënyrë që servo të hapë dhe mbyllë një dritare.

Kam përdorur kryesisht një stërvitje të vogël dhe një sharrë për të prerë drurin. Unë gjithashtu u sigurova që muret të ishin mjaft të trasha në mënyrë që të mund të vendosja servon tim brenda tyre.

Kur të keni mbaruar me modelin tuaj dhe servo është në vend, ju vetëm duhet të lidhni sensorët dhe të vendosni pi brenda shtëpisë dhe jeni gati të shkoni.

Siç e përmenda më parë shtëpia juaj mund të duket saktësisht e njëjtë me timen, ju vetëm duhet të lini vend për servo dhe dritare.

Më në fund ju keni mbaruar me projektin. Shpresoj që ky udhëzues të jetë mjaft i qartë në mënyrë që edhe ju të bëni një shtëpi të mrekullueshme si unë.

Fat i mirë.

Recommended: