Kazalo:

Home_X: 5 korakov
Home_X: 5 korakov

Video: Home_X: 5 korakov

Video: Home_X: 5 korakov
Video: УЛЁТНАЯ КОМЕДИЯ! Как Извести Любовницу За 7 Дней. Все серии! Мелодрама, лирическая комедия 2024, Julij
Anonim
Domov_X
Domov_X

Sem študentka Howest Kortrijk, ki študira nove medije in komunikacijsko tehnologijo (NMCT).

Vsi smo morali narediti projekt, ki je temeljil na malinah in/ali Arduinu. Za prikaz podatkov na spletnem mestu smo morali uporabiti senzorje in zbirke podatkov in takrat sem prišel na idejo, da bi ustvaril mini pametno hišo.

S pametno hišo si boste lahko ogledali vse odčitke senzorjev na spletnem mestu.

V tem navodilu vas bom vodil skozi vsak korak, da boste lahko sami ustvarili ta projekt.

1. korak: Materiali: kaj potrebujete

  • Malina Pi
  • DHT22
  • Grove - Senzor kakovosti zraka
  • Grove - Senzor plina (MQ2)
  • Ogledna plošča
  • Čevelj za maline Pi T
  • Moške/ženske žice za skakalec
  • 5 mm LED
  • Upori
  • Les in orodje
  • Servo motor
  • GrovePi+

Te izdelke lahko kupite na spletu (Ali express, amazon, kiwi electronics …) ali v lokalnih trgovinah.

Podroben seznam delov s povezavo do trgovin je spodaj v BOM.

2. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje

Za ožičenje sem uporabil Fritzing, da sem imel lep pregled nad tem, kako je treba opraviti ožičenje. Sam sem uporabil GrovePi+ za 2 svoja senzorja. Če nameravate to narediti brez GrovePi+, sledite shemi Fritzing. Senzorji vam ne delujejo, poskusite uporabiti različne zatiče.

Spodaj najdete datoteko Fritzing.

3. korak: zbirka podatkov z uporabo MySQL

Baza podatkov z uporabo MySQL
Baza podatkov z uporabo MySQL

Ena najpomembnejših nalog, ki smo jih morali izvesti, je bila povezava z bazo podatkov MySQL.

Vsakič, ko senzor odčita ali se prižge lučka, boste v bazi podatkov videli te spremembe.

Baza podatkov nato te podatke pošlje na spletno mesto, tako da jih lahko uporabnik tudi tam vidi.

Spodaj najdete mojo datoteko.xml, kjer imate pregled delovanja baze podatkov, najprej pa morate namestiti MySQL in flask na Raspberry Pi.

Kodiranje senzorjev je potekalo prek pycharma, zato se prepričajte, da je tudi nameščen (v računalniku).

Najprej morate preveriti posodobitve in namestiti pakete, na primer:

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

Zdaj bomo uporabili virtualno okolje:

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- paketi spletnih mest env me@my-rpi: ~/project1 $ source env/bin/enable (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

Moral bi vam povedati, da je mariadb.service aktivna.

Zdaj v pycharmu pojdite na VCS> Uvozi iz nadzora različic> en klon GitHub

Nato konfigurirajte konfiguracijo uvajanja za imenik, ki ste ga pravkar ustvarili, npr. /home/me/project1.

Po tem pojdite v nastavitve tolmača in konfigurirajte navidezno okolje, ki ste ga pravkar ustvarili, npr. /home/me/project/env/bin/python. Vnesti je treba tudi preslikavo poti.

Če ste vse to naredili, bi morala zbirka podatkov že delovati.

sudo systemctl status mysql

Zdaj moramo ustvariti uporabnike za našo bazo podatkov, na primer:

sudo mariadb

CREATE USER 'project-admin'@'localhost' IDENTIFICIRANO z 'adminpassword'; CREATE USER 'project-web'@'localhost' IDENTIFICIRANO s 'webpassword'; CREATE USER 'project-sensor'@'localhost' IDENTIFIED BY 'sensorpassword'; Ustvari projekt baze podatkov;

DODELI VSE PRIVILEGIJE NA PROJEKT.* Za 'project-admin'@'localhost' Z MOŽNOSTO GRANT; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; FLUSH PRIVILEGIJE;

Zdaj, da vidimo našo bazo podatkov v pycharmu, moramo vzpostaviti povezavo.

To lahko storimo tako, da odpremo Pogled> Orodja Windows> Baza podatkov in kliknemo zeleni gumb »plus«.

Vir podatkov> MySQL in kliknite (če obstaja) na pojavnem gumbu Prenesi gonilnik.

Nato pojdite na SSH/SSL in preverite SSH. Izpolnite gostitelja/uporabnika/geslo za pi in uporabite vrata 22, če še niso izpolnjena.

Če želite, da si pycharm zapomni vaše geslo, potrdite polje »Zapomni si geslo«.

Na zavihku "Splošno" vnesite localhost v gostitelju, projekt v zbirki podatkov in uporabite project-admin z geslom, da lahko preizkusite povezavo.

Če želite, da bo zbirka podatkov zdaj uporabna, morate zagnati.sql, ki ga postavim spodaj. Poskusite uporabiti možnost uvoza, če ne morete uvoziti datoteke dumpfile, morate tabele dodati ročno.

Ko to storite, morate poiskati imenik conf z dvema datotekama.service. Tam spremenite vsak seb, ki ga najdete, z imenom uporabnika, ki ga uporabljate na svojem pi. Prav tako mora biti skupina www-data.

Naslednji korak je, da te storitve zaženete na svojem pi, takole:

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

sudo systemctl daemon-reload

sudo systemctl začetek projekta-*

sudo systemctl statusni projekt-*

Ko vse poteka po načrtih, bi morali videti dve aktivni storitvi.

Zadnji korak je omogočiti nginx.

Najprej preverite, ali je na vašem pi -ju apache2, če ga imate nameščenega, ga izbrišite ali onemogočite.

V datoteki nginx morate najprej spremeniti uwsgi_pass, nato zagnati te ukaze.

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 znova zaženite nginx.service

sudo systemctl status nginx.service

Nginx mora biti aktiven in delujoč. Če je vse v redu, lahko zdaj brskate do svojega pi. Sprva boste videli "Hello world", vendar morate še vedno spremeniti vsebino te datoteke z mojo kodo spodaj.

Storitve lahko omogočite tako, da se samodejno zaženejo, ko se pi zažene.

Ko ste to storili, v zbirko podatkov vnesite vsaj 1 hišo z naslovom. To lahko storite s preprostim vstavkom.

4. korak: Kodiranje

Kodiranje
Kodiranje
Kodiranje
Kodiranje

Kodo lahko prenesete prek Github -a:

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

Koda za senzorje je vključena v datoteko sensor.py.

Ne pozabite spremeniti mojega imena v vaše (ali uporabnika, kot ga uporabljate na svojem pi) v servisnih datotekah, da se bodo lahko pravilno izvajale in umestile mojo kodo v že obstoječe datoteke v vašem Pycharmu.

5. korak: Stanovanje

Nastanitev
Nastanitev
Nastanitev
Nastanitev
Nastanitev
Nastanitev
Nastanitev
Nastanitev

Na hitro sem narisal, kako želim svojo hišo, toda vaša je lahko videti povsem drugače. Prepričati se morate, da imate celoto, da lahko servo odpre in zapre okno.

Za rezanje lesa sem uporabljal predvsem manjši vrtalnik in žago. Poskrbel sem tudi, da so stene dovolj debele, da sem lahko vanje namestil servo.

Ko končate s svojo zasnovo in servo je na svojem mestu, morate samo priključiti senzorje in postaviti pi v hišo in pripravljeni ste.

Kot sem že omenil, je vaša hiša lahko popolnoma enaka moji, samo morate narediti prostor za servo in okno.

Končno ste končali s projektom. Upam, da je ta vodnik dovolj jasen, da boste tudi vi lahko naredili čudovito pametnico, kot sem jaz.

Srečno.

Priporočena: