
Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:06

Som študentom Howest Kortrijk, ktorý študuje nové mediálne a komunikačné technológie (NMCT).
Všetci sme museli vytvoriť projekt, ktorý bol založený na malinách a/alebo Arduine. Na zobrazenie údajov na webovej stránke sme museli použiť senzory a databázy, a vtedy som prišiel s myšlienkou vytvoriť mini inteligentný dom.
V inteligentnom dome budete môcť vidieť všetky údaje zo senzorov na webovej stránke.
V tomto návode vás prevediem každým krokom, aby ste si mohli tento projekt znova vytvoriť.
Krok 1: Materiály: Čo potrebujete
- Malinový koláč
- DHT22
- Grove - snímač kvality vzduchu
- Grove - snímač plynu (MQ2)
- Breadboard
- Malina Pi T ševec
- Samec/samica prepojovacích káblov
- 5 mm LED diódy
- Rezistory
- Drevo a nástroje
- Servo motor
- GrovePi+
Tieto položky si môžete kúpiť online (Ali Express, amazon, kiwi elektronika …) alebo vo svojich miestnych obchodoch.
Podrobný zoznam dielov s odkazom na obchody je uvedený nižšie v kusovníku.
Krok 2: Zapojenie


Na zapojenie som použil Fritzing, aby som mal pekný prehľad o tom, ako by sa malo moje zapojenie vykonávať. Sám som použil GrovePi+ pre 2 zo svojich senzorov. Ak to plánujete urobiť bez GrovePi+, postupujte podľa schémy Fritzing. Senzory pre vás nefungujú, skúste použiť rôzne piny.
Súbor Fritzing nájdete nižšie.
Krok 3: Databáza využívajúca MySQL

Jednou z najdôležitejších úloh, ktoré sme museli implementovať, bolo spojenie s databázou MySQL.
Tieto zmeny sa zobrazia v databáze zakaždým, keď snímač odčíta alebo sa rozsvieti kontrolka.
Databáza potom odošle tieto údaje na webovú stránku, aby ich tam používateľ mohol tiež vidieť.
Nižšie nájdete môj.xml súbor, kde máte prehľad o tom, ako databáza funguje, ale najskôr musíte na Raspberry Pi nainštalovať MySQL a banku.
Kódovanie senzorov prebiehalo cez pycharm, takže sa uistite, že je tiež nainštalovaný (vo vašom počítači).
Najprv musíte skontrolovať aktualizácie a nainštalovať balíky, a to takto:
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
Teraz použijeme virtuálne prostredie:
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 --system- site-packages env me@my-rpi: ~/project1 $ source env/bin/activate (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Malo by vám to povedať, že služba mariadb.service je aktívna.
Teraz v pycharme prejdite na VCS> Import z ovládania verzií> Klon GitHub en
Potom nakonfigurujte konfiguráciu nasadenia pre adresár, ktorý ste práve vytvorili, napr. /home/me/project1.
Keď to urobíte, prejdite na nastavenia tlmočníka a nakonfigurujte virtuálne prostredie, ktoré ste práve vytvorili, napr. /home/me/project/env/bin/python. Je tiež potrebné vyplniť mapovanie cesty.
Ak ste urobili toto všetko, databáza by už mala byť spustená.
sudo systemctl status mysql
Teraz musíme vytvoriť používateľov pre našu databázu takto:
sudo mariadb
VYTVORIŤ UŽÍVATEĽA 'project-admin'@'localhost' IDENTIFIKOVANÉ 'adminpassword'; VYTVORIŤ UŽÍVATEĽA 'project-web'@'localhost' IDENTIFIKOVANÉ 'webpassword'; VYTVORIŤ UŽÍVATEĽA 'project-sensor'@'localhost' IDENTIFIKOVANÉ 'senzorovým heslom'; VYTVORIŤ DATABÁZU projektu;
UDELTE VŠETKY VÝHODY NA projekt.* Na 'project-admin'@'localhost' S MOŽNOSŤOU GRANT; GRANT VÝBER, VLOŽIŤ, AKTUALIZOVAŤ, VYMAZAŤ NA projekt.* NA 'project-web'@'localhost'; VYBERTE, VLOŽTE, AKTUALIZUJTE, VYMAZAJTE na projekte.* DO 'projektového senzora'@'localhost'; FLUSH PRIVILEGES;
Teraz, aby sme videli našu databázu v pycharme, musíme vytvoriť spojenie.
Môžeme to urobiť tak, že prejdeme na položku Zobraziť> Nástroje Windows> Databáza a klikneme na zelené tlačidlo „plus“.
Zdroj údajov> MySQL a kliknite (ak je k dispozícii) na tlačidlo Prevziať ovládač, ktoré sa zobrazí.
Potom prejdite na SSH/SSL a začiarknite políčko SSH. Vyplňte host/užívateľ/heslo pre pi a použite port 22, ak ešte nie je vyplnený.
Ak chcete, aby si pycharm zapamätal vaše heslo, začiarknite políčko „Zapamätať si heslo“.
Na karte „Všeobecné“zadajte localhost do hostiteľa, projekt do databázy a pomocou príkazu project-admin s heslom môžete otestovať pripojenie.
Aby bola databáza teraz použiteľná, musíte spustiť.sql, ktorý uvádzam nižšie. Skúste použiť možnosť importu. Ak nemôžete importovať skládkový súbor, musíte tabuľky pridať ručne.
Potom, čo to urobíte, musíte nájsť adresár conf s dvoma súbormi.service. Tam zmeňte všetky svoje sebapoznania s menom používateľa, ktorého použijete na svojom obrázku. Skupina musí byť tiež www-data.
Ďalším krokom je spustenie týchto služieb na vašom pi, napríklad:
sudo cp conf/project-*. service/etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl začať projekt-*
stavový projekt sudo systemctl-*
Keď všetko pôjde podľa plánu, mali by ste vidieť dve aktívne služby.
Posledným krokom je povolenie nginx.
Najprv skontrolujte, či na vašom pí nie je apache2, ak ho máte nainštalovaný, odstráňte ho alebo ho deaktivujte.
V súbore nginx musíte najskôr zmeniť uwsgi_pass a potom spustiť tieto príkazy.
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 reštartujte službu nginx.service
sudo systemctl status nginx.service
Nginx by mal byť aktívny a spustený. Ak je všetko v poriadku, môžete teraz surfovať po svojom pí. Najprv uvidíte „Hello world“, ale stále musíte zmeniť obsah tohto súboru pomocou môjho kódu nižšie.
Môžete povoliť služby tak, aby sa automaticky spustili pri spustení pí.
Keď to urobíte, uistite sa, že ste do databázy vložili aspoň 1 dom s adresou. Môžete to urobiť jednoduchým vložením do.
Krok 4: Kódovanie


Kód si môžete stiahnuť cez Github:
github.com/NMCT-S2-Project-I/project-i-Tib…
Kód pre snímače je zahrnutý v súbore sensor.py.
Nezabudnite v súboroch služieb zmeniť moje meno na vaše (alebo používateľa, ako ho používate na svojom pi), aby mohli správne fungovať a vložiť môj kód do už existujúcich súborov vo vašom Pycharme.
Krok 5: Bývanie




Rýchlo som nakreslil, ako chcem svoj dom, ale ten váš môže vyzerať úplne inak. Musíte sa uistiť, že máte celok, aby servo mohlo otvárať a zatvárať okno.
Na rezanie dreva som používal hlavne malú vŕtačku a pílu. Tiež som sa ubezpečil, že steny sú dostatočne hrubé, aby som do nich mohol umiestniť svoje servo.
Keď ste hotoví so svojim návrhom a servo je na svojom mieste, stačí pripojiť senzory a umiestniť pi do domu a môžete vyraziť.
Ako som už spomenul, váš dom môže vyzerať úplne rovnako ako ten môj, stačí, aby ste uvoľnili miesto pre servo a okno.
Nakoniec ste s projektom hotoví. Dúfam, že je táto príručka dostatočne zrozumiteľná, aby ste si aj vy mohli vytvoriť úžasný inteligentný dom ako ja.
Veľa šťastia.
Odporúča:
Počítadlo krokov - mikro: bit: 12 krokov (s obrázkami)

Počítadlo krokov - mikro: bit: Tento projekt bude počítadlom krokov. Na meranie našich krokov použijeme senzor akcelerometra, ktorý je vstavaný v Micro: Bit. Zakaždým, keď sa Micro: Bit zatrasie, pridáme k počtu 2 a zobrazíme ho na obrazovke
Akustická levitácia s Arduino Uno krok za krokom (8 krokov): 8 krokov

Akustická levitácia s Arduino Uno krok za krokom (8 krokov): Ultrazvukové meniče zvuku L298N Dc napájací adaptér ženského adaptéra s mužským DC kolíkom Arduino UNOBreadboard Ako to funguje: Najprv nahráte kód do Arduino Uno (je to mikrokontrolér vybavený digitálnym a analógové porty na prevod kódu (C ++)
Bolt - Nočné hodiny pre bezdrôtové nabíjanie DIY (6 krokov): 6 krokov (s obrázkami)

Bolt - Nočné hodiny bezdrôtového nabíjania DIY (6 krokov): Indukčné nabíjanie (tiež známe ako bezdrôtové nabíjanie alebo bezdrôtové nabíjanie) je typ bezdrôtového prenosu energie. Na prenos elektriny do prenosných zariadení používa elektromagnetickú indukciu. Najbežnejšou aplikáciou je bezdrôtové nabíjanie Qi
Ako rozobrať počítač pomocou jednoduchých krokov a fotografií: 13 krokov (s obrázkami)

Ako rozobrať počítač jednoduchými krokmi a obrázkami: Toto je návod, ako rozobrať počítač. Väčšina základných komponentov je modulárna a dá sa ľahko odstrániť. Je však dôležité, aby ste o tom boli organizovaní. Pomôže to zabrániť strate súčiastok a tiež pri opätovnej montáži
Od Roomby k Roveru iba 5 krokov!: 5 krokov

Od Roomby po Rover za pouhých 5 krokov !: Roboti Roomba sú zábavným a jednoduchým spôsobom, ako ponoriť prsty do nohy vo svete robotiky. V tomto návode podrobne popíšeme, ako previesť jednoduchú Roombu na ovládateľný rover, ktorý súčasne analyzuje svoje okolie. Zoznam dielov 1.) MATLAB2.) Roomb