Turinys:

Pagrindinis_X: 5 žingsniai
Pagrindinis_X: 5 žingsniai

Video: Pagrindinis_X: 5 žingsniai

Video: Pagrindinis_X: 5 žingsniai
Video: Indrė Marija. Meditacija Pradedantiesiems. 5 pagrindiniai žingsniai, kaip medituoti. 2024, Liepa
Anonim
Pagrindinis_X
Pagrindinis_X

Aš esu Howest Kortrijk studentas, studijuojantis naujas žiniasklaidos ir komunikacijos technologijas (NMCT).

Mes visi turėjome sukurti projektą, pagrįstą avietėmis ir (arba) Arduino. Norėdami parodyti duomenis svetainėje, turėjome naudoti jutiklius ir duomenų bazes, ir tada aš sugalvojau sukurti mini išmanųjį namą.

Turėdami išmanųjį namą, svetainėje galėsite pamatyti visus jutiklių rodmenis.

Šioje pamokoje aš jums padėsiu atlikti kiekvieną žingsnį, kad galėtumėte patys atkurti šį projektą.

1 žingsnis: medžiagos: ko jums reikia

  • Raspberry Pi
  • DHT22
  • Grove - oro kokybės jutiklis
  • Grove - dujų jutiklis (MQ2)
  • Bandomoji Lenta
  • Raspberry Pi T Cobbler
  • Vyriški/moteriški jungiamieji laidai
  • 5 mm šviesos diodai
  • Rezistoriai
  • Mediena ir įrankiai
  • Servo variklis
  • GrovePi+

Šias prekes galite nusipirkti internetu („Ali Express“, „Amazon“, „kivi elektronika“…) arba vietinėse parduotuvėse.

Išsamus dalių sąrašas su nuoroda į parduotuves pateiktas žemiau BOM.

2 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai

Aš naudoju „Fritzing“laidams, kad galėčiau gerai apžvelgti, kaip reikia atlikti mano laidus. Aš pats naudoju „GrovePi+“2 savo jutikliams. Jei planuojate tai padaryti be „GrovePi+“, vadovaukitės „Fritzing“schema. Jutikliai jums netinka, pabandykite naudoti skirtingus kaiščius.

Fritzing failą galite rasti žemiau.

3 veiksmas: duomenų bazė naudojant „MySQL“

Duomenų bazė naudojant „MySQL“
Duomenų bazė naudojant „MySQL“

Viena iš svarbiausių užduočių, kurią turėjome įgyvendinti, buvo ryšys su „MySQL“duomenų baze.

Kiekvieną kartą, kai jutiklis gauna rodmenis arba užsidega lemputė, šiuos pakeitimus matysite duomenų bazėje.

Tada duomenų bazė siunčia šiuos duomenis į svetainę, kad vartotojas juos taip pat galėtų matyti.

Žemiau rasite mano.xml failą, kuriame yra duomenų bazės veikimo apžvalga, bet pirmiausia turite įdiegti „MySQL“ir kolbą „Raspberry Pi“.

Jutiklių kodavimas įvyko per pycharmą, todėl įsitikinkite, kad jis taip pat yra įdiegtas (jūsų kompiuteryje).

Pirmiausia turite patikrinti, ar nėra atnaujinimų, ir įdiegti tokius paketus:

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

Dabar mes naudojame virtualią aplinką:

me@my-rpi: ~ $ python3 -m pip install-atnaujinti pip setuptools ratą virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv-system- svetainių paketai env me@my-rpi: ~/project1 $ source env/bin/aktivuoti (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth „Flask-MySQL“„mysql-connector-python“slaptažodis

Tai turėtų pasakyti, kad „mariadb.service“yra aktyvi.

Dabar „pycharm“eikite į VCS> Importuoti iš versijų valdymo> „GitHub“klone

Tada sukonfigūruokite ką tik sukurto katalogo diegimo konfigūraciją, pvz. /home/me/project1.

Kai tai bus padaryta, eikite į vertėjo nustatymus ir sukonfigūruokite ką tik sukurtą virtualią aplinką, pvz. /home/me/project/env/bin/python. Taip pat reikia užpildyti kelių žemėlapius.

Jei visa tai padarėte, duomenų bazė jau turėtų veikti.

sudo systemctl būsena mysql

Dabar turime sukurti savo duomenų bazės vartotojus, pavyzdžiui:

sudo mariadb

KURTI NAUDOTOJĄ 'project-admin'@'localhost', IDENTIFIKUOTAS 'adminpassword'; KURTI NAUDOTOJĄ 'project-web'@'localhost', IDENTIFIKUOTAS 'webpassword'; KURTI NAUDOTOJĄ 'project-sensor'@'localhost', IDENTIFIKUOTAS 'sensorpassword'; CREATE DATABASE projektas;

SUTEIKITE VISAS privilegijas projektui.* „Project-admin“@“localhost“SU DOTACIJOS PASIRINKIMU; GRANT SELECT, INSERT, UPDATE, DELETE ON Project.* Į „project-web“@„localhost“; GRANT SELECT, INSERT, UPDATE, DELETE ON Project.* Į „project-sensor“@„localhost“; PLŪŠIMO PRIVILEGIJOS;

Dabar norėdami pamatyti mūsų duomenų bazę pycharm, turime užmegzti ryšį.

Tai galime padaryti eidami į Vaizdas> Įrankių langai> Duomenų bazė ir spustelėję žalią „pliuso“mygtuką.

Duomenų šaltinis> „MySQL“ir spustelėkite (jei yra) pasirodžiusį mygtuką Atsisiųsti tvarkyklę.

Tada eikite į SSH/SSL ir patikrinkite SSH. Įveskite „pi“pagrindinį kompiuterį/vartotoją/slaptažodį ir naudokite 22 prievadą, jei dar neužpildytas.

Jei norite, kad pycharm prisimintų jūsų slaptažodį, pažymėkite žymimąjį laukelį „Prisiminti slaptažodį“.

Skirtuke „Bendra“užpildykite „localhost in host“, projektą „Duomenų bazėje“ir naudokite „project-admin“su slaptažodžiu, kad galėtumėte patikrinti ryšį.

Kad dabar būtų galima naudoti duomenų bazę, turite paleisti žemiau esantį.sql failą. Pabandykite naudoti importavimo parinktį, jei negalite importuoti dumpfile, turite pridėti lenteles rankiniu būdu.

Kai tai bus padaryta, turite rasti conf katalogą su dviem.service failais. Ten pakeiskite kiekvieną rastą sebą su vartotojo, kurį naudojate savo pi. Be to, grupė turi būti www-data.

Kitas žingsnis yra pradėti šias paslaugas savo pi, pavyzdžiui:

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

sudo systemctl demonas iš naujo

sudo systemctl pradėti projektą-*

sudo systemctl būsenos projektas-*

Turėtumėte pamatyti dvi aktyvias paslaugas, kai viskas vyksta pagal planą.

Paskutinis žingsnis yra įjungti „nginx“.

Pirmiausia patikrinkite, ar jūsų apa pi2 nėra apache2, jei tai įdiegėte, ištrinkite arba išjunkite.

Faile nginx pirmiausia turite pakeisti uwsgi_pass, tada paleisti šias komandas.

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 iš naujo paleiskite nginx.service

sudo systemctl būsena nginx.service

„Nginx“turėtų būti aktyvus ir veikiantis. Jei viskas teisinga, dabar galite naršyti savo pi. Iš pradžių pamatysite „Labas pasaulis“, bet vis tiek turėsite pakeisti to failo turinį naudodami toliau pateiktą kodą.

Galite įjungti paslaugas, kad jos būtų paleistos automatiškai, kai pi pradės veikti.

Kai tai padarėte, įsitikinkite, kad duomenų bazėje įrašėte bent 1 namą su adresu. Tai galite padaryti naudodami paprastą įdėklą.

4 žingsnis: kodavimas

Kodavimas
Kodavimas
Kodavimas
Kodavimas

Kodą galite atsisiųsti iš „Github“:

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

Jutiklių kodas yra įtrauktas į failą sensor.py.

Nepamirškite paslaugų failuose pakeisti mano vardo į jūsų (arba vartotojo, kurį naudojate savo „pi“), kad jie galėtų tinkamai veikti ir įdėti mano kodą į jau esančius „Pycharm“failus.

5 žingsnis: būstas

Būstas
Būstas
Būstas
Būstas
Būstas
Būstas
Būstas
Būstas

Greitai nupiešiau, kaip norėjau savo namo, bet jūsų gali atrodyti visiškai kitaip. Jūs tiesiog turite įsitikinti, kad turite visumą, kad servo sistema galėtų atidaryti ir uždaryti langą.

Medžiui pjauti dažniausiai naudojau mažą grąžtą ir pjūklą. Aš taip pat įsitikinau, kad sienos yra pakankamai storos, kad galėčiau įdėti savo servo į jų vidų.

Kai baigsite savo dizainą ir bus įdiegta servo sistema, jums tereikia prijungti jutiklius ir įdėti pi namo viduje, ir jūs būsite pasiruošę eiti.

Kaip jau minėjau, jūsų namas gali atrodyti lygiai toks pat kaip mano, jums reikia skirti tik servo ir lango.

Pagaliau baigsite projektą. Tikiuosi, kad šis vadovas yra pakankamai aiškus, kad ir jūs galėtumėte sukurti nuostabų išmanųjį namą, kaip aš.

Sėkmės.

Rekomenduojamas: