Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
Për një projekt shkollor ne duhej të bënim një pajisje IoT me një faqe në internet për të vizualizuar informacionin e mbledhur në një mënyrë të bukur. Zgjodha të bëja një mot të mundësuar nga një Raspberry Pi 3 Flask që funksionon për faqen e internetit të përgjegjshme, MySQL (MariaDB) për bazën e të dhënave të mia dhe një skenar python për mbledhjen e informacionit me të gjithë sensorët e mi. M’u deshën rreth 2 javë nga fillimi në fund për të përfunduar.
Ne u inkurajuam të bënim një udhëzues për të ndarë përparimin tonë me pjesën tjetër të komunitetit DIY, kështu që këtu është!
Hapi 1: Përzgjedhja e pjesëve, mjetet dhe materialet
Së pari më duhej të kuptoja se çfarë lloj sensorë ishin thelbësorë për një stacion moti. Vendosa se doja të matja të gjitha të dhënat e mëposhtme:
- Temperatura
- Presioni i ajrit
- Lagështia
- Shpejtesia e eres
- Indeksi UV
Këtu janë të gjitha mjetet, materialet dhe pjesët që kam përdorur
Pjesët:
- DHT22/AM2302 për leximet e temperaturës dhe lagështisë. (15 EUR)
- Adafruit BMP280 për Presionin Barometrik dhe Temperaturën. (12 euro)
- Adafruit SI1145 për matjen e Indeksit UV. (10 euro)
- Anemometër Analog Adafruit për matjen e shpejtësisë së erës (50 EUR)
- Një MCP3008 për shndërrimin e sinjaleve analoge në dixhitale.
- Rezistencë 10kOhm si tërheqëse për AM2302 tim.
- Një përshtatës 9V për 'fuqizimin' e Anemometrit
- Një përshtatës 5V për Raspberry Pi
- Raspberry Pi 3 (Çdo Pi duhet të mjaftojë)
Materiale:
Një enë plastike për të ruajtur gjithçka dhe për ta bërë atë të papërshkueshëm nga shiu
Mjetet:
- Saldim hekuri dhe kallaji
- Multimetër
- Silikoni
- Disa kaseta
Pra, në total të gjithë sensorët më kushtuan rreth 85 Euro, që është mjaft i pjerrët, por unë me të vërtetë doja të përfshija një matës të duhur të shpejtësisë së erës, kështu që mendoj se ia vlen.
Mund të gjeni një listë më të detajuar me dyqanet ku mund të blini gjithçka, në pdf më poshtë:)
Hapi 2: Lidhja e pajisjeve tona
Sigurisht që do të na duhet të lidhim sensorët tanë me Raspberry Pi tonë. Mbi të mund të shihni skemën marramendëse që mund të ndiqni për të lidhur gjithçka siç duhet.
Në skemën mund të shihni se një bateri 9V përdoret si burim energjie për anemometrin tonë, kjo përdoret më së miri për testim vetëm pasi nuk do të zgjasë shumë, mund të zëvendësoni baterinë 9V për çdo burim energjie 7-12V që ju zgjidh.
Sensorët tanë SI1145 dhe BMP280 do të kontrollohen të dy duke përdorur protokollin I2C pasi kjo është më e lehtë për të punuar me të dhe ka nevojë për më pak tela.
Anemometri në skemë tregohet si një LDR këtu pasi ka instalime elektrike pothuajse identike si anemometri dhe nuk gjeta një anemometër të vërtetë për të vënë në skemën time të shkëlqyeshme:)
Hapi 3: Lidhja e gjithçkaje: Vendosja e Pi
Para së gjithash, ne duhet të sigurohemi që jemi të lidhur me internetin.
Për ta bërë këtë në terminal, mund të shkoni te skedari juaj wpa_supplicant duke ekzekutuar komandën e mëposhtme: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Në skedar mund të shtoni këtë:
rrjet = {ssid = "Your_Wifi_SSID" psk = "Fjalëkalimi juaj_Wifi" key_mgmt = WPA-PSK
}
Ju gjithashtu mund të zgjidhni të vendosni adresën tuaj IP në statike për qasje më të lehtë në të ardhmen. Për ta bërë këtë ju duhet të shkoni te skedari dhcpcd.conf duke ekzekutuar këtë komandë: sudo nano /etc/dhcpcd.conf
Shtojeni këtë në skedar:
ndërfaqe wlan0static ip_address = 192.168.0.100/24
Pastaj ne do të sigurohemi që paketat që janë instaluar tashmë në Pi tonë janë përditësuar plotësisht:
sudo apt-merrni përditësim && sudo apt-merrni përmirësim
Kjo mund të zgjasë pak, kështu që mos u shqetësoni
Ju do të duhet të aktivizoni protokollin I2C dhe SPI brenda konfigurimit raspi. Mundeni këtë duke ekzekutuar këtë komandë:
sudo raspi-config
Pastaj shkoni te opsionet e ndërlidhjes dhe aktivizoni të dyja, I2C dhe SPI
Së pari ju duhet të krijoni një drejtori në të cilën dëshironi të vendosni projektin tuaj (ne do ta quajmë 'Weatherstation'):
cd ~ mkdir weatherstationcd weatherstation
Pastaj ne krijojmë mjedisin tonë virtual python3:
python3 -m pip install-upgrade pip setuptools wheel virtualenvpython3 -m venv --system-site-packages envsource env/bin/activpython -m pip install mysql-connector-python Flask flask-mysql mysql-connector-python passlib mysql-connector -python-rf
Atëherë do të na duhet të instalojmë disa pako të tjera që nevojiten për të bërë gjithçka të funksionojë në mënyrë korrekte:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Tani ne do të bëjmë bazën tonë të të dhënave:
Ne ende duhet të krijojmë bazën e të dhënave tona. Ju mund ta bëni këtë duke drejtuar skedarin kod/sql të vendosur në dosjen 'sql' si kjo:
sudo mariadb <sql/db_init.sql
Pyetja sql do të bëjë tabelat që na duhen dhe gjithashtu do të bëjë disa përdorues për ta bërë bazën tonë të të dhënave pak më të sigurt.
Kjo gjithashtu do të vendosë disa të dhëna të mostrës së historisë në bazën tonë të të dhënave për t'u siguruar që uebfaqja jonë shfaq gjithçka siç duhet kur nuk ka ende të dhëna të vërteta të mbledhura.
Për të instaluar Adafruit_GPIO dhe MyPyDHT do t'ju duhet të bëni disa gjëra të tjera. Së pari kthehuni te dosja juaj e përdorimit dhe më pas:
git clone https://github.com/adafruit/Adafruit_Python_GPIO.gitcd Adafruit_Python_GPIO sudo python3 setup.py install
cd..git clone --recursive https://github.com/freedom27/MyPyDHTsudo python3 setup.py install
Hapi 4: Softueri / Kodi
Ne duhet të krijojmë pjesën e prapme për motin, i cili përfshin:
- Një bazë të dhënash mariadb për ruajtjen e leximeve të mia të sensorit dhe disa gjëra të tjera të vogla- Një shërbim flask për drejtimin e faqes në internet.- Një shërbim tjetër që ekzekuton skedarin Python i cili lexon të gjithë sensorët. Mbi ju mund të shihni konfigurimin tim të thjeshtë të bazës së të dhënave. Tabela e përdoruesve është e panevojshme, por meqë doja një sistem identifikimi sepse unë (edhe pse të gjitha të dhënat janë të njëjta për të gjithë përdoruesit) vendosa të përfshij në bazën time të të dhënave.
Ju mund të shkoni përpara dhe të klononi kodin e projektit tim nga Github në dosjen e projektit tuaj. Shkoni te dosja juaj e përdoruesit dhe ekzekutoni: git clone https://github.com/BertVanhaeke/Weatherstation/ tempmv -v temp/* weatherstation/
Pastaj lundroni te dosja conf në motin dhe të gjitha skedarët në dosje.
Ndryshoni të gjitha rastet e 'USERNAME' në emrin tuaj të përdoruesit
Ju gjithashtu do të duhet të kopjoni të dy skedarët e shërbimit për të sistemuar dhe testuar ato si kjo:
sudo cp conf/weatherstation-*. service/etc/systemd/system/sudo systemctl demon-reloadsudo systemctl start weatherstation-flask.servicesudo systemctl start weatherstation-sensor.service
sudo systemctl statusi i motit-*
Atëherë duhet të redaktojmë konfigurimin nginx.
sudo cp conf/nginx/etc/nginx/sites-available/weatherstationsudo rm/etc/nginx/sites-enabled/defaultsudo ln -s/etc/nginx/sites-available/weatherstation/etc/nginx/sites-enabled/weatherstationsudo systemctl rinisni nginx.servicesudo statusctl statusin nginx.service
Nëse gjithçka shkoi mirë, duhet të jeni në gjendje ta përdorni këtë dhe të printoni disa html në terminal:
wget -qO - localhost
Çdo gjë duhet të funksionojë mirë tani. Ju mund të lundroni në adresën IP të mjedrës Pi që kemi vendosur në fillim dhe të përshëndeteni me një ekran identifikimi.
Hapi 5: Mbyllja
Tani që gjithçka funksionon, ne duhet ta vendosim të gjithë në diçka.
Zgjodha një kuti të thjeshtë plastike me një kapak të tejdukshëm. Anemometri është montuar në krye të tij, dhe kështu është një enë dytësore e vogël e cila përmban sensorët DHT22 dhe BMP280.
Këta sensorë janë montuar brenda një ene të veçantë sepse duhet të jenë në ajër të hapur (pa rënë shi), por mjedra pi nuk ka nevojë të jetë.
Siç mund ta shihni shtova pak silikon rreth skajeve për ta bërë atë të papërshkueshëm nga uji. Unë gjithashtu shpova disa vrima në enën e sipërme për të marrë ajër të pastër në të.
Shpresoj se ju ka pëlqyer udhëzuesi im se si të ndërtoni një mot moti, mund të jetë pak i përafërt në skajet pasi është hera ime e parë që shkruaj një udhëzues si ky, por shpresoj që t'ju pëlqejë gjithsesi:)
Recommended:
Tërhiqni dhe Afishoni të Dhënat nga Çdo Uebfaqe Mbi Wifi (Treguesi i Dritave Veriore) Me NodeMcu: 6 hapa
Tërhiqni dhe Afishoni të Dhënat nga Çdo Uebfaqe Mbi Wifi (Treguesi i Dritave të Veriut) Me NodeMcu: Motivimi im: Kam parë SHUMS udhëzime udhëzuese për ngritjen/ përdorimin e një NodeMCU (ndërtuar në modulin ESP8266) për të bërë projekte IoT (interneti i gjërave) Me Sidoqoftë, shumë pak nga këto mësime kishin të gjitha detajet/ kodin/ diagramet për një person shumë rishtar
Kontrollimi i shkëlqimit të Led nga Raspberry Pi dhe Uebfaqe e personalizuar: 5 hapa
Kontrollimi i Ndriçimit të Led nga Raspberry Pi dhe Faqja e Internetit të Përdoruar: Duke përdorur një server apache në pi tim me php, gjeta një mënyrë për të kontrolluar shkëlqimin e një led duke përdorur një rrëshqitës me një faqe në internet të personalizuar që është e arritshme në çdo pajisje të lidhur në të njëjtin rrjet si pi juaj. . Ka shumë mënyra në të cilat kjo mund të bëhet
Uebfaqe/WiFi Rrip LED i kontrolluar me mjedër Pi: 9 hapa (me fotografi)
Uebfaqe/WiFi Rrip LED i kontrolluar me mjedër Pi: Sfondi: Unë jam një adoleshent dhe kam dizajnuar dhe programuar projekte të vogla elektronike vitet e fundit, së bashku me pjesëmarrjen në garat robotike. Kohët e fundit po punoja në azhurnimin e konfigurimit të tavolinës sime, dhe vendosa që një shtesë e bukur
Udhëzues i Shoferit të Internetit IO Duke përdorur një Uebfaqe të drejtpërdrejtë dhe Shembuj pune: 8 hapa
Udhërrëfyesi Udhërrëfyes IO Përdorimi i një Uebfaqeje të drejtpërdrejtë dhe Shembuj pune: Udhëzuesi i Shoferit të Internetit Përdorimi i një Uebfaqeje të drejtpërdrejtë dhe Shembuj të punës Përditësimi i fundit: 07/26/2015 (Kontrolloni shpesh pasi i përditësoj këto udhëzime me më shumë detaje dhe shembuj) Sfondi Kohët e fundit kisha një sfidë interesante që më është paraqitur. Më duhej të
Bërja e një stilolapsi me prekje LED dhe një sipërfaqe shkrimi të përgjegjshme ndaj rrezeve ultraviolet: 5 hapa
Krijimi i një stilolapsi me prekje LED dhe një sipërfaqe shkrimi që i përgjigjet rrezeve ultraviolet: Krijoni një stilolaps LED të ndezur me prekje me prekje! Ky udhëzues përdor pjesë që shumica e hobistëve ndoshta i kanë shtrirë nëpër shtëpi për të bërë një stilolaps që lëshon dritë nga një LED. Kam përdorur një LED ultravjollcë për të "shkruar fantazmë" me; mund të lyeni një surfa të bardhë