Sisukord:

Avaleht_X: 5 sammu
Avaleht_X: 5 sammu

Video: Avaleht_X: 5 sammu

Video: Avaleht_X: 5 sammu
Video: "Не бит, не крашен". Необычный обзор BMW X5, или Разрушаем мифы о самой "бандитской" машине 2024, Juuli
Anonim
Kodu_X
Kodu_X

Olen Howest Kortrijki üliõpilane, kes õpib uut meediat ja kommunikatsioonitehnoloogiat (NMCT).

Me kõik pidime tegema projekti, mis põhines vaarika ja/või Arduino ümber. Pidime andureid ja andmebaase kasutama, et andmeid veebisaidil näidata, ja siis tulin ideele luua mini nutikas maja.

Nutika majaga näete veebisaidil kõiki andurite näiteid.

Selles juhendis juhendan teid igal sammul, et saaksite selle projekti enda jaoks uuesti luua.

Samm: materjalid: mida vajate

  • Vaarika Pi
  • DHT22
  • Grove - õhukvaliteedi andur
  • Grove - gaasiandur (MQ2)
  • Leivalaud
  • Vaarika Pi T Cobbler
  • Meeste/naiste džemprijuhtmed
  • 5mm LEDid
  • Takistid
  • Puit ja tööriistad
  • Servomootor
  • GrovePi+

Neid esemeid saate osta Internetist (Ali Express, Amazon, kiivi elektroonika …) või kohalikest poodidest.

Üksikasjalik nimekiri osadest, millel on link poodidele, on toodud allkirjas.

2. samm: juhtmestik

Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik

Kasutasin juhtmestiku jaoks Fritzingit, et saada kena ülevaade sellest, kuidas minu juhtmestikku tuleks teha. Ise kasutasin GrovePi+ kahe anduri jaoks. Kui plaanite seda teha ilma GrovePi+ -ta, järgige Fritzingu skeemi. I andurid ei tööta teie jaoks, proovige kasutada erinevaid kontakte.

Fritzingi faili leiate altpoolt.

3. samm: andmebaas MySQL -i abil

Andmebaas MySQL -i abil
Andmebaas MySQL -i abil

Üks olulisemaid ülesandeid, mida pidime rakendama, oli ühendus MySQL andmebaasiga.

Iga kord, kui andur saab näitu või süttib tuli, näete neid muudatusi andmebaasis.

Seejärel saadab andmebaas need andmed veebisaidile, et kasutaja saaks neid ka seal näha.

Allpool leiate minu.xml -faili, kus on ülevaade andmebaasi toimimisest, kuid kõigepealt peate installima MySQL ja kolbi Raspberry Pi -le.

Andurite kodeerimine toimus pücharmi kaudu, nii et veenduge, et see oleks ka teie arvutisse installitud.

Kõigepealt peate kontrollima värskenduste olemasolu ja installima selliseid pakette:

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

Nüüd kasutame virtuaalset keskkonda:

me@my-rpi: ~ $ python3 -m pip install-uuenda pip setuptools ratas virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 mina@my-rpi: ~/project1 $ python3 -m venv --süsteem- saidipaketid env me@my-rpi: ~/project1 $ source env/bin/aktiveeri (env) mind@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

See peaks teile ütlema, et teenus mariadb.service on aktiivne.

Nüüd minge pycharmis jaotisse VCS> Impordi versioonikontrollist> GitHub en kloon

Seejärel seadistage juurutuskonfiguratsioon just loodud kataloogi jaoks, nt. /kodu/mina/projekt1.

Kui see on tehtud, minge tõlgi seadetele ja konfigureerige just loodud virtuaalne keskkond, nt. /home/me/project/env/bin/python. Raja kaardistamine tuleb samuti täita.

Kui te seda kõike teete, peaks andmebaas juba töötama.

sudo systemctl olek mysql

Nüüd peame looma oma andmebaasi kasutajad, näiteks nii:

sudo mariadb

CREATE USER 'project-admin'@'localhost' IDENTIFITSEERITUD 'adminpassword'; CREATE USER 'project-web'@'localhost' IDENTIFITSEERITUD 'veebiparooliga'; CREATE USER 'projekt-sensor'@'localhost' TUNNISTAB 'sensorpassword'; CREATE DATABASE projekt;

TOETADA KÕIKI PRIVIEGLIID projektile.* Projektile-admin '@' localhost 'TOETUSVALIKUGA; GRANT SELECT, INSERT, UPDATE, DELETE ON projekt.* TO' project-web '@' localhost '; GRANT SELECT, INSERT, UPDATE, DELETE ON projekt.* TO 'project-sensor'@'localhost'; FLUSHI privileegid;

Nüüd, et näha meie andmebaasi pücharmis, peame looma ühenduse.

Seda saame teha, kui lähete menüüsse Vaade> Tööriistaknad> Andmebaas ja klõpsate rohelist nuppu "pluss".

Andmeallikas> MySQL ja klõpsake (kui see on olemas) kuvataval nupul Laadi alla draiver.

Seejärel minge SSH/SSL -i ja kontrollige SSH -d. Sisestage hosti/kasutaja/parool pi jaoks ja kasutage pordi 22, kui see pole veel täidetud.

Kui soovite, et pycharm mäletaks teie parooli, märkige ruut "Jäta parool meelde".

Vahekaardil "Üldine" täitke host hostis, projekt andmebaasis ja kasutage ühenduse testimiseks parooli abil projekti-admin.

Andmebaasi nüüd kasutatavaks muutmiseks peate käivitama allpool asuva.sql. Proovige kasutada suvandit Import, kui te ei saa dumpfaili importida, peate tabelid käsitsi lisama.

Pärast seda peate leidma kahe kataloogi conf. Seal muutke iga leitud seb koos oma pi -ga kasutatava kasutaja nimega. Samuti peab rühm olema www-andmed.

Järgmine samm on nende teenuste käivitamine oma pi -s, näiteks nii:

sudo cp conf/projekt-*. teenus/etc/systemd/system/

sudo systemctl deemon-reload

sudo systemctl käivita projekt-*

sudo systemctl staatuse projekt-*

Kui kõik läheb plaanipäraselt, peaksite nägema kahte aktiivset teenust.

Viimane samm on nginxi lubamine.

Kontrollige esmalt oma pi pi apache2 olemasolu, kui see on installitud, kustutage see või keelake see.

Failis nginx peate esmalt muutma uwsgi_pass, seejärel käivitama need käsud.

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 taaskäivitage nginx.service

sudo systemctl olek nginx.service

Nginx peaks olema aktiivne ja töötav. Kui kõik on õige, saate nüüd oma pi -le surfata. Näete alguses "Tere maailm", kuid peate siiski selle faili sisu muutma, kasutades minu koodi allpool.

Teenused saate lubada nii, et need käivituksid automaatselt pi käivitamisel.

Seda tehes veenduge, et sisestasite andmebaasi vähemalt ühe aadressiga maja. Seda saate teha lihtsa sisestusega.

4. samm: kodeerimine

Kodeerimine
Kodeerimine
Kodeerimine
Kodeerimine

Koodi saate alla laadida Githubi kaudu:

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

Andurite kood sisaldub failis sensor.py.

Ärge unustage teenusefailides muuta minu nime teie omaks (või kasutajaks, kui te oma pi -d kasutate), et nad saaksid korralikult töötada ja paigutada minu koodi teie Pycharmi juba olemasolevatesse failidesse.

Samm: eluase

Eluase
Eluase
Eluase
Eluase
Eluase
Eluase
Eluase
Eluase

Ma joonistasin kiiresti, kuidas ma oma maja tahtsin, kuid teie oma võib tunduda täiesti erinev. Peate lihtsalt veenduma, et teil on tervik, et servo saaks akna avada ja sulgeda.

Puude lõikamiseks kasutasin peamiselt väikest puurit ja saega. Veendusin ka, et seinad oleksid piisavalt paksud, et saaksin oma servo nende sisse paigutada.

Kui olete oma disainiga lõpetanud ja servo on paigas, peate ühendama ainult andurid ja asetama pi maja sisse ning olete valmis minema.

Nagu ma juba mainisin, võib teie maja välja näha täpselt samasugune nagu minu oma, siis peate tegema ruumi ainult servole ja aknale.

Lõpuks olete projektiga valmis. Loodan, et see juhend on piisavalt selge, et ka teie saaksite teha vinge nutimaja nagu mina.

Palju edu.

Soovitan: