Sisällysluettelo:

Koti_X: 5 vaihetta
Koti_X: 5 vaihetta

Video: Koti_X: 5 vaihetta

Video: Koti_X: 5 vaihetta
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Heinäkuu
Anonim
Etusivu_X
Etusivu_X

Olen Howest Kortrijkin opiskelija, joka opiskelee uutta mediaa ja viestintätekniikkaa (NMCT).

Meidän kaikkien oli tehtävä projekti, joka perustui vadelmiin ja/tai Arduinoon. Meidän piti käyttää antureita ja tietokantoja näyttääksemme tiedot verkkosivustolla, ja silloin keksin idean luoda mini -älykäs talo.

Älykkään talon avulla näet kaikki anturin lukemat verkkosivustolla.

Tässä ohjeessa opastan sinut jokaisen vaiheen läpi, jotta voit luoda tämän projektin itse.

Vaihe 1: Materiaalit: mitä tarvitset

  • Raspberry Pi
  • DHT22
  • Grove - Ilmanlaatuanturi
  • Grove - Kaasuanturi (MQ2)
  • Leipälauta
  • Vadelma Pi T Cobbler
  • Uros/naarasliitinjohdot
  • 5mm LEDit
  • Vastukset
  • Puu ja työkalut
  • Servo moottori
  • GrovePi+

Voit ostaa näitä tuotteita verkossa (Ali Express, Amazon, kiivi -elektroniikka …) tai paikallisista kaupoista.

Yksityiskohtainen luettelo osista, joissa on linkki kauppoihin, on lueteltu alla.

Vaihe 2: Johdotus

Johdotus
Johdotus
Johdotus
Johdotus

Käytin Fritzingiä johdotukseen saadakseni hyvän yleiskuvan siitä, miten johdotukseni tulisi tehdä. Itse käytin GrovePi+ -laitetta kahdelle anturilleni. Jos aiot tehdä tämän ilman GrovePi+ -laitetta, noudata Fritzing -kaavaa. I -anturit eivät toimi sinulle, kokeile eri tappeja.

Löydät Fritzing -tiedoston alta.

Vaihe 3: Tietokanta MySQL: n avulla

Tietokanta MySQL: n avulla
Tietokanta MySQL: n avulla

Yksi tärkeimmistä tehtävistä, jotka meidän täytyi toteuttaa, oli yhteys MySQL -tietokantaan.

Aina kun anturi saa lukemia tai valo syttyy, näet nämä muutokset tietokannassa.

Tietokanta lähettää sitten nämä tiedot verkkosivustolle, jotta käyttäjä voi nähdä ne myös siellä.

Alla on.xml -tiedostoni, jossa on yleiskatsaus tietokannan toimintaan, mutta ensin sinun on asennettava MySQL ja pullo Raspberry Pi -laitteeseen.

Anturien koodaus tapahtui pycharmin kautta, joten varmista, että se on asennettu myös (tietokoneellesi).

Ensin sinun on tarkistettava päivitykset ja asennettava paketit, kuten tämä:

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

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

Nyt aiomme käyttää virtuaalista ympäristöä:

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

Sen pitäisi kertoa, että mariadb.service on aktiivinen.

Siirry nyt pycharmissa kohtaan VCS> Tuo versionhallinnasta> GitHub en klooni

Määritä sitten käyttöönottokonfiguraatio juuri luomallesi hakemistolle, esim. /home/me/project1.

Kun tämä on tehty, siirry tulkin asetuksiin ja määritä juuri tekemäsi virtuaalinen ympäristö, esim. /home/me/project/env/bin/python. Polun kartoitus on myös täytettävä.

Jos teit kaiken tämän, tietokannan pitäisi olla jo käynnissä.

sudo systemctl tila mysql

Nyt meidän on luotava käyttäjiä tietokantaamme, kuten näin:

sudo mariadb

LUO KÄYTTÄJÄ 'project-admin'@'localhost' TUNNISTAA 'adminpassword'; LUO KÄYTTÄJÄ 'project-web'@'localhost' TUNNISTAA 'webpassword'; LUO KÄYTTÄJÄ 'project-sensor'@'localhost' TUNNISTAA 'sensorpassword'; CREATE DATABASE -hanke;

ANNA KAIKKI OIKEUDET HANKKEELLE*. GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; Huuhteluoikeudet;

Nyt nähdäksemme tietokantamme pycharmissa meidän on muodostettava yhteys.

Voimme tehdä tämän siirtymällä kohtaan Näytä> Työkalun ikkunat> Tietokanta ja napsauttamalla vihreää "plus" -painiketta.

Tietolähde> MySQL ja napsauta (jos sellainen on) Lataa ohjain -painiketta, joka avautuu.

Siirry sitten kohtaan SSH/SSL ja tarkista SSH. Täytä isäntä/käyttäjä/salasana pi: lle ja käytä porttia 22, jos sitä ei ole vielä täytetty.

Jos haluat pycharmin muistavan salasanasi, valitse Muista salasana -valintaruutu.

Kirjoita välilehdelle "Yleiset", että localhost in host, project in Database ja käytä project-admin salasanaa, jotta voit testata yhteyden.

Jotta tietokanta olisi nyt käyttökelpoinen, sinun on suoritettava alla oleva.sql -tiedosto. Kokeile tuontivaihtoehtoa, jos et voi tuoda dumpfileä, sinun on lisättävä taulukot manuaalisesti.

Kun tämä on tehty, sinun on löydettävä conf -hakemisto, jossa on kaksi.service -tiedostoa. Siellä muutetaan jokainen seb, jonka löydät pi -laitteessasi käyttämäsi käyttäjän nimen kanssa. Ryhmän on myös oltava www-data.

Seuraava askel on käynnistää nämä palvelut pi: lläsi, kuten näin:

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

sudo systemctl daemon-reload

sudo systemctl käynnistä projekti-*

sudo systemctl -tilaprojekti-*

Sinun pitäisi nähdä kaksi aktiivista palvelua, kun kaikki menee suunnitelmien mukaan.

Viimeinen vaihe on ottaa nginx käyttöön.

Tarkista ensin piipaasi apache2, jos olet asentanut tämän, poista se tai poista se käytöstä.

Tiedostossa nginx sinun on ensin muutettava uwsgi_pass ja suoritettava sitten nämä komennot.

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 käynnistä nginx.service uudelleen

sudo systemctl tila nginx.service

Nginxin pitäisi olla aktiivinen ja käynnissä. Jos kaikki on oikein, voit nyt surffata piisi kanssa. Näet aluksi "Hello world", mutta sinun on silti muutettava tiedoston sisältöä alla olevalla koodillani.

Voit ottaa palvelut käyttöön, jotta ne toimivat automaattisesti, kun pi käynnistyy.

Kun teit tämän, varmista, että laitat tietokantaan vähintään yhden talon, jonka osoite on. Voit tehdä tämän yksinkertaisella insertillä.

Vaihe 4: Koodaus

Koodaus
Koodaus
Koodaus
Koodaus

Voit ladata koodin Githubin kautta:

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

Anturien koodi sisältyy sensor.py -tiedostoon.

Älä unohda muuttaa nimeäni omaksi (tai käyttäjäksi, jota käytät pi -laitteessasi) palvelutiedostoissa, jotta he voivat toimia oikein ja sijoittaa koodini Pycharmin jo olemassa oleviin tiedostoihin.

Vaihe 5: Asuminen

Asuminen
Asuminen
Asuminen
Asuminen
Asuminen
Asuminen
Asuminen
Asuminen

Tein nopean piirustuksen siitä, miten halusin taloni, mutta talosi voi näyttää täysin erilaiselta. Sinun on vain varmistettava, että sinulla on kokonaisuus, jotta servo voi avata ja sulkea ikkunan.

Käytin pääasiassa pientä poraa ja sahaa puun leikkaamiseen. Varmistin myös, että seinät olivat riittävän paksuja, jotta voisin sijoittaa servoni niiden sisään.

Kun olet valmis suunnitteluun ja servo on paikallaan, sinun tarvitsee vain liittää anturit ja asettaa pi talon sisälle ja olet valmis menemään.

Kuten aiemmin mainitsin, talosi voi näyttää täsmälleen samalta kuin minun, sinun tarvitsee vain tehdä tilaa servolle ja ikkunalle.

Lopulta olet valmis projektin kanssa. Toivottavasti tämä opas on riittävän selkeä, jotta sinäkin voit tehdä mahtavan älykkään talon kuten minä.

Onnea.

Suositeltava: