
Orodha ya maudhui:
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-01-23 15:11


Kwa mradi wa shule ilibidi tutengeneze kifaa cha IoT na wavuti ya kuibua habari iliyokusanywa kwa njia nzuri. Nilichagua kutengeneza kituo cha hali ya hewa kinachotumiwa na Raspberry Pi 3 inayoendesha Flask kwa wavuti inayojibika, MySQL (MariaDB) kwa hifadhidata yangu. na hati ya chatu ya kukusanya habari na sensorer zangu zote. Ilinichukua kama wiki 2 kutoka mwanzo hadi mwisho kukamilisha.
Tulipewa moyo wa kufundisha kushiriki maendeleo yetu na jamii yote ya DIY, kwa hivyo hapa!
Hatua ya 1: Uteuzi wa Sehemu, Zana na Vifaa
Kwanza nilihitaji kugundua ni aina gani ya sensorer zilikuwa muhimu kwa kituo cha hali ya hewa. Niliamua nataka kupima data zote zifuatazo:
- Joto
- Shinikizo la hewa
- Unyevu
- Kasi ya upepo
- Kielelezo cha UV
Hapa kuna Zana zote, Vifaa na Sehemu nilizozitumia
Sehemu:
- DHT22 / AM2302 kwa usomaji wa joto na unyevu. (15 EUR)
- Adafruit BMP280 kwa Shinikizo la Barometri na joto. (EUR 12)
- Adafruit SI1145 ya kupima Fahirisi ya UV. (10 EUR)
- Anemometer ya Analog ya Adafruit ya kupima upepo (50 EUR)
- MCP3008 ya kubadilisha ishara za analog kuwa dijiti.
- 10kOhm Resistor kama kuvuta kwa AM2302 yangu.
- Adapta ya 9V ya "kuwezesha" Anemometer
- Adapta ya 5V ya Raspberry Pi
- Raspberry Pi 3 (Pi yoyote inapaswa kutosha)
Vifaa:
Chombo cha plastiki cha kuhifadhi kila kitu na kuifanya ithibitishe mvua
Zana:
- Kuchuma Chuma na Bati
- Multimeter
- Silicone
- Mkanda fulani
Kwa hivyo sensorer zote zilinigharimu kuhusu Euro 85, ambayo ni mwinuko kabisa lakini nilitaka sana kujumuisha mita inayofaa ya upepo kwa hivyo nadhani inafaa.
Unaweza kupata orodha ya kina zaidi na maduka ambayo unaweza kununua kila kitu kwenye, kwenye pdf hapa chini:)
Hatua ya 2: Kuunganisha vifaa vyetu


Kwa kweli tutahitaji kuunganisha sensorer zetu kwa Raspberry Pi yetu. Hapo juu unaweza kuona muundo wa kuvutia ambao unaweza kufuata ili kuunganisha kila kitu vizuri.
Kwenye skimu unaweza kuona betri ya 9V inatumiwa kama chanzo cha nguvu cha anemometer yetu, hii inatumika vizuri kwa upimaji tu kwani haitadumu sana, unaweza kuchukua nafasi ya betri ya 9V kwa chanzo chochote cha nguvu cha 7-12V chagua.
Sensorer zetu za SI1145 na BMP280 zitadhibitiwa kwa kutumia itifaki ya I2C kwani hii ni rahisi kufanya kazi nayo na inahitaji waya kidogo.
Anemometer kwenye skimu inaonyeshwa kama LDR hapa kwani ina wiring inayofanana sana kama anemometer na sikuweza kupata anemometer halisi ya kuweka skimu yangu ya kupendeza:)
Hatua ya 3: Kuunganisha Kila Kitu: Kuweka Pi

Kwanza kabisa, lazima tuhakikishe tumeunganishwa kwenye mtandao.
Ili kufanya hivyo kwenye terminal unaweza kwenda kwenye faili yako ya wpa_supplicant kwa kutumia amri ifuatayo: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Kwenye faili unaweza kuongeza hii:
mtandao = {ssid = "Yako_Wifi_SSID" psk = "Yako_Wifi_Password" key_mgmt = WPA-PSK
}
Unaweza pia kuchagua kuweka anwani yako ya IP kuwa tuli kwa ufikiaji rahisi katika siku zijazo ili kufanya hivyo unahitaji kwenda kwa faili ya dhcpcd.conf kwa kutekeleza amri hii:
Ongeza hii kwenye faili:
kiolesura wlan0static ip_address = 192.168.0.100 / 24
Kisha tutahakikisha vifurushi ambavyo tayari vimewekwa kwenye Pi yetu vimesasishwa kikamilifu:
Sudo apt-pata sasisho && sudo apt-pata sasisho
Hii inaweza kuchukua muda, kwa hivyo usijali
Utahitaji kuwezesha itifaki ya I2C na SPI ndani ya raspi config. Unaweza hii kwa kutekeleza amri hii:
Sudo raspi-config
Kisha nenda kwenye chaguzi za kuingiliana, na kuwezesha zote mbili, I2C na SPI
Kwanza unahitaji kutengeneza saraka unayotaka kuweka mradi wako (tutaipa jina la 'hali ya hewa'):
cd ~ mkdir hali ya hali ya hewacd hali ya hewa
Kisha tunaanzisha mazingira yetu halisi ya python3:
python3 -m kusakinisha bomba - sasisha bomba gurudumu la virtualenvpython3 -m venv --system-site-package-envsource env / bin / activatepython -m pip install mysql-connector-python Flask flask-mysql mysql-connector-python passlib mysql-connector chatu-rf
Kisha tutahitaji kusanikisha vifurushi vingine ambavyo vinahitajika ili kufanya kazi ya kitu chochote kwa usahihi:
Sudo apt kufunga -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Sasa tutafanya hifadhidata yetu:
Bado tunahitaji kuanzisha hifadhidata yetu.
Sudo mariadb <sql / db_init.sql
Swala la sql litafanya meza tunayohitaji na pia kufanya watumiaji wachache kufanya hifadhidata yetu iwe salama zaidi.
Hii pia itaweka data ya historia ya sampuli kwenye hifadhidata yetu ili kuhakikisha kuwa wavuti yetu inaonyesha kila kitu vizuri wakati hakuna data halisi iliyokusanywa bado.
Ili kusanikisha Adafruit_GPIO na MyPyDHT utahitaji kufanya vitu vingine zaidi. Kwanza rudi kwenye folda yako ya matumizi na kisha:
clone ya git https://github.com/adafruit/Adafruit_Python_GPIO.gitcd Adafruit_Python_GPIO sudo python3 setup.py install
cd.. clit clit --recursive https://github.com/freedom27/MyPyDHTsudo python3 setup.py kufunga
Hatua ya 4: Programu / Kanuni



Tunahitaji kuanzisha mwisho wa kituo cha hali ya hewa, ambayo ni pamoja na:
- Hifadhidata ya mariadb ya kuhifadhi usomaji wangu wa sensorer na vitu vingine vidogo- Huduma ya chupa ya kuendesha wavuti. - Huduma nyingine inayoendesha faili ya Python ambayo inasoma sensorer zote.. Juu unaweza kuona usanidi wangu rahisi wa hifadhidata. Jedwali la watumiaji ni sio lazima, lakini kwa kuwa nilitaka mfumo wa kuingia kwa sababu mimi (ingawa data zote ni sawa kwa watumiaji wote) niliamua kuingiza kwenye hifadhidata yangu.
Unaweza kuendelea na kushikilia nambari ya mradi wangu kutoka Github kwenye folda ya mradi wako. Nenda kwenye folda yako ya mtumiaji na uendesha: git clone https://github.com/BertVanhaeke/Weatherstation/ tempmv -v temp / * weatherstation /
Kisha nenda kwenye folda ya conf katika hali ya hewa na faili zote kwenye folda.
Badilisha matukio yote ya 'USERNAME' kwa jina lako la mtumiaji
Utahitaji pia kunakili faili zote za huduma ili uziweke na kuzijaribu kama hii:
sudo cp conf / hali ya hewa - *. huduma / nk / systemd / mfumo / sudo systemctl daemon-reload sudo systemctl kuanza hali ya hewa-chupa. huduma sudo systemctl kuanza hali ya hewa-sensor
hali ya hali ya hewa ya mfumo wa sudo- *
Kisha tunahitaji kuhariri usanidi wa nginx.
sudo cp conf / nginx / nk / nginx / tovuti-zinazopatikana / hali ya hewa sudo rm / nk / nginx / tovuti-kuwezeshwa / chaguzi sudo ln -s / nk / nginx / tovuti-zinazopatikana / hali ya hewa / nk / nginx / tovuti-kuwezeshwa / hali ya hewa sudo systemctl Anzisha upya nginx.huduma sudo systemctl hadhi nginx.huduma
Ikiwa kila kitu kilienda vizuri unapaswa kuwa na uwezo wa kuendesha hii na kupata html iliyochapishwa kwenye terminal:
wget -qO - mwenyeji wa ndani
Kila kitu kinapaswa kufanya kazi vizuri sasa. Unaweza kutumia anwani yako ya IP ya rasipberry ambayo tumeweka mwanzoni na kusalimiwa na skrini ya kuingia.
Hatua ya 5: Ufungaji



Sasa kwa kuwa kila kitu kinafanya kazi, tunahitaji kuweka kitu kizima katika kitu.
Nilichagua sanduku rahisi la plastiki na kifuniko cha kupita. Anemometer imewekwa juu yake, na kadhalika kontena dogo la sekondari ambalo lina sensorer za DHT22 na BMP280.
Sensorer hizi zimewekwa ndani ya kontena tofauti kwa sababu zinahitaji kuwa wazi (bila kunyeshewa mvua), lakini pi ya raspberry haitaji.
Kama unavyoona niliongeza silicone karibu na kingo ili kuifanya iwe na maji. Pia nilichimba mashimo kwenye chombo cha juu ili kupata hewa safi ndani yake.
Natumai umefurahiya mwongozo wangu juu ya jinsi ya kujenga kituo cha hali ya hewa, inaweza kuwa mbaya kidogo pembeni kwa kuwa ni mara yangu ya kwanza kuandika mwongozo kama huu, lakini natumai umeupenda hata hivyo:)
Ilipendekeza:
Sensorer ya hali ya hewa ya hali ya hewa na Kiunga cha data cha GPRS (SIM Card): Hatua 4

Sensor ya hali ya hewa ya hali ya hewa na GPRS (SIM Card) Kiunga cha Takwimu: Muhtasari wa MradiHii ni sensorer ya hali ya hewa inayotumia betri kulingana na joto la BME280 la joto / shinikizo / unyevu na ATMega328P MCU. Inatumika kwa betri mbili za 3.6 V lithiamu thionyl AA. Inayo matumizi ya chini ya kulala ya 6 µA. Inatuma data
Onyesho rahisi la hali ya hewa kwa kutumia Raspberry PI na hali ya hewa ya CyntechHAT: Hatua 4

Onyesho rahisi la hali ya hewa kwa kutumia Raspberry PI na Cyntech WeatherHAT: * Mnamo 2019 Yahoo ilibadilisha API, na hii iliacha kufanya kazi. Sikujua mabadiliko hayo. Mnamo Septemba ya 2020 mradi huu umesasishwa kutumia OPENWEATHERMAP API Angalia sehemu iliyosasishwa hapa chini, habari hii iliyobaki bado ni nzuri
Kituo cha Hali ya Hewa cha NaTaLia: Kituo cha Hali ya Hewa ya Arduino Inayotumiwa Imefanywa kwa Njia Sahihi: Hatua 8 (na Picha)

Kituo cha Hali ya Hewa cha NaTaLia: Kituo cha Hali ya Hewa ya Arduino Inayotumiwa Imefanywa kwa Njia Sawa: Baada ya mwaka 1 wa kufanikiwa katika maeneo 2 tofauti ninashiriki mipango yangu ya mradi wa kituo cha hali ya hewa na kuelezea jinsi ilibadilika kuwa mfumo ambao unaweza kuishi kwa muda mrefu vipindi kutoka kwa nguvu ya jua. Ukifuata
Mshumaa wa Hali ya Hewa - Hali ya hewa na Joto kwa haraka: 8 Hatua

Mshumaa wa Hali ya Hewa - Hali ya Hewa na Joto kwa haraka: Kutumia mshumaa huu wa kichawi, unaweza kujua hali ya joto na hali ya sasa nje mara moja
Acurite 5 katika Kituo cha hali ya hewa 1 Kutumia Raspberry Pi na Weewx (Vituo vingine vya hali ya hewa vinaendana): Hatua 5 (na Picha)

Acurite 5 katika Kituo cha hali ya hewa 1 Kutumia Raspberry Pi na Weewx (Vituo vingine vya hali ya hewa vinaendana): Wakati nilikuwa nimenunua Acurite 5 katika kituo cha hali ya hewa cha 1 nilitaka kuweza kuangalia hali ya hewa nyumbani kwangu nilipokuwa mbali. Nilipofika nyumbani na kuitengeneza niligundua kuwa lazima ningepaswa kuwa na onyesho lililounganishwa na kompyuta au kununua kitovu chao cha busara,