Tartalomjegyzék:

Főoldal_X: 5 lépés
Főoldal_X: 5 lépés

Videó: Főoldal_X: 5 lépés

Videó: Főoldal_X: 5 lépés
Videó: Лучшие враги | 5 серия | Коллекционер 2024, Július
Anonim
Főoldal_X
Főoldal_X

A Howest Kortrijk hallgatója vagyok, aki új médiát és kommunikációs technológiát (NMCT) tanul.

Mindannyiunknak el kellett készítenünk egy projektet, amely málna és/vagy Arduino köré épült. Érzékelőket és adatbázisokat kellett használnunk, hogy megjelenítsük az adatokat egy weboldalon, és ekkor jött az ötlet, hogy létrehozzak egy mini intelligens házat.

Az intelligens házzal az összes érzékelő leolvasható lesz a webhelyen.

Ebben az oktatható fejezetben végigvezetem Önt minden lépésen, hogy Ön újraalkothassa ezt a projektet.

1. lépés: Anyagok: mire van szüksége

  • Raspberry Pi
  • DHT22
  • Grove - Levegőminőség -érzékelő
  • Grove - gázérzékelő (MQ2)
  • Kenyeretábla
  • Raspberry Pi T Cobbler
  • Férfi/női jumper vezetékek
  • 5 mm -es LED -ek
  • Ellenállások
  • Fa és szerszámok
  • Szervómotor
  • GrovePi+

Ezeket a termékeket online (Ali Express, amazon, kiwi elektronika …) vagy a helyi üzletekben vásárolhatja meg.

Az üzletekre mutató linkeket tartalmazó alkatrészek részletes listája az alábbiakban található a BOM -ban.

2. lépés: Kábelezés

Vezeték
Vezeték
Vezeték
Vezeték

A Fritzing -t használtam a vezetékekhez, hogy szép áttekintést kapjak arról, hogyan kell elvégezni a vezetékezést. Én magam GrovePi+ -t használtam 2 érzékelőmhöz. Ha ezt GrovePi+ nélkül tervezi, kövesse a Fritzing sémát. Az érzékelők nem működnek, próbálja meg használni a különböző csapokat.

A Fritzing fájlt alább találja.

3. lépés: Adatbázis MySQL használatával

Adatbázis MySQL használatával
Adatbázis MySQL használatával

Az egyik legfontosabb feladat, amelyet végre kellett hajtanunk, a MySQL adatbázissal való kapcsolat volt.

Minden alkalommal, amikor egy érzékelő leolvas, vagy egy lámpa kigyullad, látni fogja ezeket a változásokat az adatbázisban.

Az adatbázis ezután elküldi ezeket az adatokat a weboldalnak, hogy a felhasználó ott is láthassa őket.

Az alábbiakban megtalálja a.xml fájlomat, ahol áttekintést kap az adatbázis működéséről, de először telepítenie kell a MySQL -t és a lombikot a Raspberry Pi -re.

Az érzékelők kódolása a pycharmon keresztül történt, ezért győződjön meg arról, hogy az is telepítve van (a számítógépére).

Először ellenőriznie kell a frissítéseket és telepítenie kell a csomagokat, például:

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

Most virtuális környezetet fogunk használni:

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 --rendszer- site-package env me@my-rpi: ~/project1 $ source env/bin/aktiválás (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Lombik-MySQL mysql-csatlakozó-python jelszó

Azt kell mondania, hogy a mariadb.service aktív.

Most a pycharmban lépjen a VCS> Importálás a verziókezelésből> GitHub és klón https://github.com/NMCT-S2-Project-I/Project-I.git oldalra.

Ezután konfigurálja a telepítési konfigurációt az éppen létrehozott könyvtárhoz, pl. /home/me/project1.

Miután ez megtörtént, lépjen a tolmácsbeállításokba, és konfigurálja az imént létrehozott virtuális környezetet, pl. /home/me/project/env/bin/python. Az útvonal -leképezést is ki kell tölteni.

Ha mindezt megtette, az adatbázisnak már futnia kell.

sudo systemctl állapot mysql

Most létre kell hoznunk felhasználókat az adatbázisunkhoz, például:

sudo mariadb

FELHASZNÁLÓ LÉTREHOZÁSA 'project-admin'@'localhost' AZONOSÍTVA: 'adminpassword'; FELHASZNÁLÓ LÉTREHOZÁSA 'project-web'@'localhost' AZONOSÍTVA a 'webpassword'; FELHASZNÁLÓ LÉTREHOZÁSA 'project-sensor'@'localhost' AZONOSÍTJA a 'sensorpassword'; CREATE DATABASE projekt;

ÖSSZESÍTJEN MINDEN KIVÁLASZTÁST A projekten.* A 'project-admin'@'localhost'-nak GRANT OPCIÓVAL; GRANT SELECT, INSERT, UPDATE, DELETE ON projekt.* TO' project-web '@' localhost '; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; FLUSH PRIVILEGES;

Most, hogy lássuk adatbázisunkat a pycharm -ban, létre kell hoznunk egy kapcsolatot.

Ezt úgy tehetjük meg, hogy megnyitjuk a Nézet> Eszköz Windows> Adatbázis menüpontot, és rákattintunk a zöld "plusz" gombra.

Adatforrás> MySQL, és kattintson (ha van) a megjelenő Illesztőprogram letöltése gombra.

Ezután lépjen az SSH/SSL -re, és ellenőrizze az SSH -t. Töltse ki a gazdagépet/felhasználót/jelszót a pi -hez, és használja a 22 -es portot, ha még nincs kitöltve.

Ha azt szeretné, hogy a pycharm emlékezzen a jelszavára, jelölje be a "Jelszó megjegyzése" jelölőnégyzetet.

Az "Általános" lapon töltse ki a localhost-ot a hostban, projektet az adatbázisban, és használja a project-admin jelszót a kapcsolat teszteléséhez.

Az adatbázis használhatóvá tételéhez futtassa az alább elhelyezett.sql fájlt. Próbálja meg használni az importálási lehetőséget, ha nem tud importálni egy dumpfile -t, akkor manuálisan kell hozzáadnia a táblákat.

Ezt követően meg kell találnia a két könyvtárat a két.service fájllal. Ott minden sebet megváltoztathat a pi -n használt felhasználó nevével. Ezenkívül a csoportnak www-adatnak kell lennie.

A következő lépés az, hogy elindítja ezeket a szolgáltatásokat a pi -n, például:

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

sudo systemctl démon-reload

sudo systemctl indítsa el a projektet-*

sudo systemctl állapotprojekt-*

Látnia kell két aktív szolgáltatást, ha minden a terv szerint halad.

Az utolsó lépés az nginx engedélyezése.

Először ellenőrizze az apache2 -t a pi -n, ha telepítette, törölje vagy tiltsa le.

Az nginx fájlban először módosítania kell az uwsgi_pass parancsot, majd futtatnia kell ezeket a parancsokat.

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 indítsa újra az nginx.service szolgáltatást

sudo systemctl állapot nginx.szolgáltatás

Az Nginxnek aktívnak és futónak kell lennie. Ha minden helyes, akkor böngészhet a pi -n. Először a „Hello world” üzenetet fogja látni, de továbbra is módosítania kell a fájl tartalmát az alábbi kóddal.

Engedélyezheti a szolgáltatásokat, hogy azok automatikusan fussanak, amikor a pi elindul.

Amikor ezt megtette, győződjön meg róla, hogy legalább 1 házat címmel rögzített az adatbázisban. Ezt megteheti egy egyszerű betéttel.

4. lépés: Kódolás

Kódolás
Kódolás
Kódolás
Kódolás

A kódot a Githubon keresztül töltheti le:

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

Az érzékelők kódja megtalálható a sensor.py fájlban.

Ne felejtse el megváltoztatni a nevemet a tiédre (vagy a felhasználóra, mint amit a pi -n használsz) a szolgáltatásfájlokban, hogy megfelelően tudjanak futtatni, és elhelyezni a kódomat a Pycharm -ban már meglévő fájlokban.

5. lépés: Ház

Ház
Ház
Ház
Ház
Ház
Ház
Ház
Ház

Gyorsan rajzoltam, hogyan szeretném a házamat, de a tiéd teljesen más lehet. Csak meg kell győződnie arról, hogy van egy egész, hogy a szervó kinyissa és bezárja az ablakot.

Főleg egy kis fúrót és fűrészt használtam a fa vágásához. Gondoskodtam arról is, hogy a falak elég vastagok legyenek ahhoz, hogy a szervójukat beléjük tegyem.

Ha befejezte a tervezést, és a szervó a helyén van, akkor csak csatlakoztatnia kell az érzékelőket, és be kell helyeznie a pi -t a házba, és már indulhat is.

Amint már említettem, a háza pontosan ugyanúgy nézhet ki, mint az enyém, csak helyet kell hagynia a szervónak és az ablaknak.

Végül elkészült a projekttel. Remélem, ez az útmutató elég világos ahhoz, hogy Ön is olyan fantasztikus okosházat készítsen, mint én.

Sok szerencsét.

Ajánlott: