Satura rādītājs:

Sākums_X: 5 soļi
Sākums_X: 5 soļi

Video: Sākums_X: 5 soļi

Video: Sākums_X: 5 soļi
Video: Пасхальное МЕНЮ 2023. Готовлю 8 блюд на ПРАЗДНИЧНЫЙ СТОЛ. Яйца, Салаты, Закуски, Рыба 2024, Jūlijs
Anonim
Sākums_X
Sākums_X

Es esmu Howest Kortrijk students, kurš studē jaunos medijus un komunikācijas tehnoloģijas (NMCT).

Mums visiem bija jāizveido projekts, kura pamatā bija avenes un/vai Arduino. Mums bija jāizmanto sensori un datubāzes, lai parādītu datus vietnē, un tieši tad man radās ideja izveidot mini viedo māju.

Izmantojot viedo māju, jūs varēsit redzēt visus sensoru rādījumus vietnē.

Šajā pamācībā es jums pastāstīšu par katru soli, lai jūs varētu atjaunot šo projektu pats.

1. solis: Materiāli: kas jums nepieciešams

  • Raspberry Pi
  • DHT22
  • Grove - gaisa kvalitātes sensors
  • Grove - gāzes sensors (MQ2)
  • Maizes dēlis
  • Aveņu Pi T kurpnieks
  • Vīriešu/sieviešu džemperu vadi
  • 5 mm gaismas diodes
  • Rezistori
  • Koks un instrumenti
  • Servo motors
  • GrovePi+

Jūs varat iegādāties šīs preces tiešsaistē (Ali Express, Amazon, kivi elektronika …) vai vietējos veikalos.

Detalizēts detaļu saraksts ar saiti uz veikaliem ir norādīts zemāk BOM.

2. solis: Elektroinstalācija

Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija

Elektroinstalācijai es izmantoju Fritzing, lai iegūtu jauku pārskatu par to, kā jāveic mana elektroinstalācija. Es pats diviem saviem sensoriem izmantoju GrovePi+. Ja plānojat to pagatavot bez GrovePi+, ievērojiet Fritzing shēmu. Es sensori jums nedarbojas, mēģiniet izmantot dažādas tapas.

Fritzing failu varat atrast zemāk.

3. darbība. Datu bāze, izmantojot MySQL

Datu bāze, izmantojot MySQL
Datu bāze, izmantojot MySQL

Viens no vissvarīgākajiem uzdevumiem, kas mums bija jāīsteno, bija savienojums ar MySQL datu bāzi.

Katru reizi, kad sensors saņem rādījumus vai iedegas indikators, šīs izmaiņas redzēsit datu bāzē.

Pēc tam datu bāze nosūta šos datus uz vietni, lai lietotājs tos varētu redzēt arī tur.

Zemāk varat atrast manu.xml failu, kurā ir pārskats par datu bāzes darbību, bet vispirms jums ir jāinstalē MySQL un kolba Raspberry Pi.

Sensoru kodēšana notika caur pycharm, tāpēc pārliecinieties, ka tā ir instalēta arī (datorā).

Vispirms jums jāpārbauda atjauninājumi un jāinstalē šādas paketes:

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

sudo apt instalēt -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Tagad mēs izmantosim virtuālo vidi:

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 --sistēma- vietņu paketes env me@my-rpi: ~/project1 $ source env/bin/aktivizēt (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Kolbas-MySQL mysql-savienotāja-python piekļuves kods

Tam vajadzētu pateikt, ka pakalpojums mariadb.service ir aktīvs.

Tagad pycharm dodieties uz VCS> Importēt no versiju kontroles> GitHub en klons

Pēc tam konfigurējiet izvietošanas konfigurāciju tikko izveidotajam direktorijam, piem. /home/me/project1.

Kad tas ir izdarīts, dodieties uz tulka iestatījumiem un konfigurējiet tikko izveidoto virtuālo vidi, piem. /home/me/project/env/bin/python. Jāaizpilda arī ceļu kartēšana.

Ja jūs to izdarījāt, datu bāzei jau vajadzētu darboties.

sudo systemctl statuss mysql

Tagad mums ir jāizveido lietotāji mūsu datu bāzei, piemēram:

sudo mariadb

IZVEIDOT LIETOTĀJU 'project-admin'@'localhost', IDENTIFICĒTA ar 'adminpassword'; IZVEIDOT LIETOTĀJU 'project-web'@'localhost', IDENTIFICĒTS ar 'webpassword'; IZVEIDOT LIETOTĀJU 'project-sensor'@'localhost', IDENTIFICĒTA ar 'sensorpassword'; CREATE DATABASE projekts;

Piešķiriet projektam visas privilēģijas.* Projektam-admin '@' localhost 'AR DOTĀCIJAS IESPĒJU; GRANT SELECT, INSERT, UPDATE, DELETE ON Project.* TO' project-web '@' localhost '; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; FLUSH PRIVILĒGAS;

Tagad, lai redzētu mūsu datu bāzi pycharm, mums ir jāizveido savienojums.

Mēs to varam izdarīt, dodoties uz View> Tool Windows> Database un noklikšķinot uz zaļās pogas “plus”.

Datu avots> MySQL un noklikšķiniet uz (ja ir) uz pogas Lejupielādēt draiveri, kas tiek parādīta.

Pēc tam dodieties uz SSH/SSL un pārbaudiet SSH. Ievadiet pi resursdatoru/lietotāju/paroli un izmantojiet portu 22, ja tas vēl nav aizpildīts.

Ja vēlaties, lai pycharm atcerētos jūsu paroli, atzīmējiet izvēles rūtiņu "Atcerēties paroli".

Cilnē "Vispārīgi" ievadiet vietējo resursdatoru saimniekdatorā, projektu datu bāzē un izmantojiet projektu-admin ar paroli, lai varētu pārbaudīt savienojumu.

Lai tagad datu bāze būtu izmantojama, jums jāpalaiž zemāk esošais.sql. Mēģiniet izmantot importēšanas opciju, ja nevarat importēt izmetes failu, tabulas jāpievieno manuāli.

Kad tas ir izdarīts, jums jāatrod conf direktorijs ar diviem.service failiem. Tur mainiet katru atrodamo sebumu ar lietotāja vārdu, kuru izmantojat savā pi. Arī grupai jābūt www-datiem.

Nākamais solis ir sākt šos pakalpojumus savā pi, piemēram:

sudo cp conf/projekts-*. serviss/etc/systemd/system/

sudo systemctl dēmonu pārlādēšana

sudo systemctl sākt projektu-*

sudo systemctl statusa projekts-*

Jums vajadzētu redzēt divus aktīvus pakalpojumus, kad viss notiek saskaņā ar plānu.

Pēdējais solis ir iespējot nginx.

Vispirms pārbaudiet, vai jūsu pi nav apache2, ja tas ir instalēts, izdzēsiet to vai atspējojiet to.

Failā nginx vispirms ir jāmaina uwsgi_pass, pēc tam palaidiet šīs 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 restartējiet nginx.service

sudo systemctl statuss nginx.service

Nginx jābūt aktīvam un darbojas. Ja viss ir pareizi, tagad varat sērfot uz savu pi. Sākumā jūs redzēsit “Sveika pasaule”, bet jums joprojām ir jāmaina šī faila saturs, izmantojot manu kodu zemāk.

Varat iespējot pakalpojumus, lai tie sāktu darboties automātiski, kad sākas pi.

Kad to izdarījāt, pārliecinieties, ka datu bāzē ievietojat vismaz 1 māju ar adresi. To var izdarīt, izmantojot vienkāršu ieliktni.

4. solis: kodēšana

Kodēšana
Kodēšana
Kodēšana
Kodēšana

Jūs varat lejupielādēt kodu, izmantojot Github:

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

Sensoru kods ir iekļauts failā sensor.py.

Neaizmirstiet pakalpojumu failos mainīt manu vārdu uz jūsu (vai lietotāju, kuru izmantojat savā pi), lai viņi varētu pareizi darboties un ievietot manu kodu jūsu esošajos Pycharm failos.

5. solis: mājoklis

Mājokļi
Mājokļi
Mājokļi
Mājokļi
Mājokļi
Mājokļi
Mājokļi
Mājokļi

Es ātri uzzīmēju, kā es gribēju savu māju, bet jūsu māja var izskatīties pavisam savādāk. Jums vienkārši jāpārliecinās, ka jums ir viss, lai servo varētu atvērt un aizvērt logu.

Koka griešanai galvenokārt izmantoju mazu urbi un zāģi. Es arī pārliecinājos, ka sienas ir pietiekami biezas, lai es varētu ievietot savu servo to iekšpusē.

Kad esat pabeidzis savu dizainu un servo ir vietā, jums tikai jāpievieno sensori un jāievieto pi mājas iekšpusē, un jūs esat gatavs doties.

Kā jau minēju, jūsu māja var izskatīties tieši tāda pati kā manējā, jums ir jāatbrīvo vieta tikai servo un logam.

Beidzot esat pabeidzis projektu. Es ceru, ka šī rokasgrāmata ir pietiekami skaidra, lai arī jūs varētu izveidot satriecošu viedo māju, kā es to darīju.

Veiksmi.

Ieteicams: