
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48

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


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

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


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




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:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés

DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés

Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
![Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés](https://i.howwhatproduce.com/images/009/image-25904-j.webp)
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)

Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
4 lépés az akkumulátor belső ellenállásának méréséhez: 4 lépés

4 lépés az akkumulátor belső ellenállásának mérésére: Íme a 4 egyszerű lépés, amelyek segítenek mérni az akkumulátor belső ellenállását