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


Habari!
Miezi michache iliyopita, nilikuwa kwenye chumba changu nikifikiria ni aina gani ya mradi ambao nilitaka kufanya kwa mgawo wa shule. Nilitaka kutengeneza kitu ambacho kinanifaa na ambacho kitanifaidi baadaye. Ghafla, mama yangu aliingia ndani ya chumba na kuanza kulalamika juu ya kutokunywa maji ya kutosha. Mara moja nilikuwa na epiphany. Wazo lilinijia kutengeneza kipato cha maji kiatomati (kama kwenye ukumbi wa sinema) ambayo hufuatilia matumizi yako ya maji kila siku.
Na Raspberry Pi, sensorer chache, pampu, na maarifa kidogo, nilijaribu kuifanya iwe nzuri iwezekanavyo.
Mwisho wa hatua zote, utakuwa na bomba la maji linalofanya kazi ambalo hujaza chupa yako ya maji na inayounganisha na kuingiliana na Raspberry Pi yako. Sio tu utaweza kufuatilia matumizi yako ya maji kwa msingi wa asilimia, lakini pia utakuwa na uwezekano wa kutazama kiwango cha joto na maji ya chombo chako cha maji. Mwishowe, utaweza kuangalia takwimu zako. Ikiwa hii inasikika kuwa ya kupendeza kwako, hakikisha ukiangalia na ujaribu mwenyewe!
Hifadhi ya GitHub:
Vifaa
Udhibiti mdogo
Raspberry Pi 4
Sensorer na moduli
Nilitumia sensorer 4:
2xHC-SR04 Sensorer ya Ultrasonic
Sensorer za Ultrasonic hupima umbali kwa kutumia mawimbi ya ultrasonic. Kichwa cha sensorer hutoa wimbi la ultrasonic na hupokea wimbi lililojitokeza nyuma kutoka kwa lengo. Sensorer za Ultrasonic hupima umbali kwa lengo kwa kupima wakati kati ya chafu na mapokezi. Nilitumia wawili wao kuangalia ikiwa kuna chupa karibu na kupima umbali wa maji kwenye tanki.
Karatasi ya data
Sensor ya Joto la 1x DS18B20
DS18B20 ni waya-1 inayoweza kupangiliwa sensor ya joto kutoka kwa kiwango kilichojumuishwa. Inatumika sana kupima joto katika mazingira magumu kama vile suluhisho za kemikali, migodi au mchanga n.k nilitumia kupima joto la maji ya tanki la maji.
Karatasi ya data
Moduli ya 1x RC522 RFID
RC522 ni moduli ya RFID ya 13.56MHz ambayo inategemea mtawala wa MFRC522 kutoka kwa semiconductors ya NXP. Moduli inaweza kusaidia I2C, SPI na UART na kawaida husafirishwa na kadi ya RFID na fob muhimu. Inatumiwa sana katika mifumo ya mahudhurio na matumizi mengine ya kitambulisho cha mtu / kitu. Katika mradi huu, hutumiwa kwa mfumo wa kitambulisho / kuingia.
Karatasi ya data
Na watendaji 2:
Pampu ya Peristaltic 12-24V
Nilitumia pampu ya kupitisha maji kutoka kwenye tanki hadi kwenye chupa ya maji. Pampu nyingi zilikuwa polepole sana, kwa hivyo nilienda kwa toleo la 24V ambalo ninaweka nguvu na adapta ya umeme ya 24V.
Onyesho la LCD la 1x
LCD hutumiwa kuonyesha anwani ya IP na ujumbe muhimu. Onyesho la glasi-kioevu (LCD) ni onyesho la gorofa-gorofa au kifaa kingine cha macho kinachotumia elektroniki ambacho hutumia mali ya kudhibiti mwangaza wa fuwele za kioevu pamoja na polarizers.
Karatasi ya data
Kesi
Kuzungumza juu ya kabati, nilifanya DIY na vifaa kutoka kwa bohari ya Nyumbani (kwa upande wangu Brico nchini Ubelgiji). Nilitumia plywood ambayo nilikata kwa saizi sahihi. Nitazungumza juu ya jinsi nilivyotoa kesi yangu kwa hatua zaidi, lakini hapa kuna vitu utakavyohitaji:
- 3x mbao za Plywood
- Faneli ndogo ndogo ya 1x
- Tangi la maji la 1x (unaweza kuchagua kiasi unachotaka, nilikwenda kwa 10L)
- Treyi ya 1x
Unaweza kupata vifaa vyote na bei katika BOM iliyoambatanishwa.
Hatua ya 1: Kuunganisha Elektroniki Zote


Sasa kwa kuwa tumehitimisha umeme wote, ni wakati wa kuziunganisha. Nilitengeneza nyaya mbili za Fritzing, moja ya mkate na moja ya skimu, kukuonyesha jinsi na wapi umeme wote unapaswa kushikamana. Unaweza kupata kiunga cha kupakua kwa Fritzing hapa: https://fritzing.org/download/. Kama nilivyosema hapo awali, nilitumia Raspberry Pi na niliunganisha skana ya RFID, sensorer mbili za ultrasonic, sensorer moja ya joto, LCD na pampu ya maji kwa maji.
Niliunganisha nyaya mbili kwenye PDF, ikiwa unataka kuiangalia kwa karibu.
Hatua ya 2: Kuweka Raspberry Pi
Tutatumia Raspberry yetu Pi kuendesha na kudhibiti kila kitu: backend, frontend na hifadhidata.
Pi ya Raspberry haifanyi kazi kiatomati. Tutalazimika kupitia hatua kadhaa kuanza kuitumia.
Hatua ya 1: Raspbian
Ikiwa unatumia Raspberry Pi mpya kabisa, utahitaji raspbian. Kiungo cha kupakua na mafunzo yanaweza kupatikana hapa.
Hatua ya 2: Kuandika picha hiyo kwa SD
Sasa kwa kuwa una picha yako ya Raspbian, utahitaji programu ya uandishi wa picha (ninapendekeza win32diskimager) kuandika faili ya picha kwenye kadi ya SD. Mafunzo kamili yanaweza kupatikana hapa.
Hatua ya 3: Kuingia kwenye Raspberry Pi
Fungua "Powershell" na andika "ssh [email protected]". Ikiwa kila kitu kitaenda sawa, watakuuliza nywila (nenosiri la kawaida ni rasipiberi kila wakati). Kwa kawaida, hii inapaswa kukuingiza kwenye Raspberry Pi. Sasa tutahitaji kufanya mabadiliko kwenye mipangilio yetu. Andika sudo raspi-config kwenye terminal na bonyeza ingiza. Nenda kwenye chaguzi za ujanibishaji> badilisha saa za eneo na uiweke kwenye eneo lako. Unapaswa pia kubadilisha nchi yako ya wi-fi kuwa eneo lako mwenyewe. Mwishowe, nenda kwenye chaguzi za kuingiliana na uwezeshe SPI, I2C na 1-waya. Hii itakuwa muhimu kutumia sensorer kwa usahihi.
Hatua ya 4: Kuanzisha Uunganisho wa Mtandao
Tutatumia mtandao wa WiFi. Unaweza kuongeza mtandao wako wa nyumbani kupitia:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
Itabidi uwashe tena Pi yako ili uunganishe. Kuangalia ikiwa ilifanya kazi, unaweza kutumia ifconfig kuangalia ikiwa kuna anwani ya IP.
Hatua ya 5: Kuweka seva ya wavuti na Hifadhidata
Kwanza, ni bora kusasisha na kuboresha mfumo na mlolongo ufuatao wa amri:
- Sudo apt-kuboresha -auto-kuondoa -y
- Sudo apt kuboresha
- sasisho la sudo apt
- Sudo apt autoremove
Mara hii ikimaliza, tutahitaji vifurushi vifuatavyo kwa seva yetu ya wavuti na hifadhidata:
Apache
Sudo apt kufunga apache2 -y
PHP
Sudo apt kufunga php
Sudo apt kufunga phpMyAdmin -y
Usisahau kuweka nywila salama ya MySQL, wakati inauliza kuweka nywila.
MariaDB
Sudo apt kufunga mariadb-server mariadb-mteja -y
Sudo apt kufunga php-mysql -y
kuanzisha upya systemctl apache2.service
Hatua ya 6: Kufunga maktaba za chatu
Kwa backend, tutahitaji maktaba kadhaa ya Python. Tutasakinisha hizi kutumia pip3, kwa sababu tunatumia python3.
pip3 sakinisha mysql-kontakt-chatu
pip3 kufunga chupa-socketio
pip3 kufunga chupa-cors
pip3 kufunga gevent
pip3 kufunga gevent-websocket
Sudo apt kufunga python3-mysql.connector -y
pip3 sakinisha mfrc522! (tutahitaji hii kutumia skana ya RFID)
Hatua ya 7: Kuandaa Nambari ya Studio ya Visual
Kwa kuendesha nambari, ninapendekeza utumie Nambari ya Studio ya Kuunganisha kuungana na Raspberry Pi yako. Kiungo cha kupakua kusakinisha VSC kinaweza kupatikana hapa.
Ikiwa hauna Maendeleo ya Kijijini iliyosanikishwa kwa kutumia SSH bado, unaweza kupata hatua za kufanya hivi hapa.
Hatua ya 3: Kuunda Hifadhidata

Tutahifadhi data yetu yote ya sensa na data ya mtumiaji kwenye hifadhidata.
Hifadhidata yangu ina meza 5:
Kifaa
Kifaa cha Jedwali kina DeviceID, ambayo inarejelea kifaa yenyewe. Jina la Kifaa linatoa jina la kifaa, katika hali hii sensa ya ultrasonic, sensa ya joto,… Aina ya Kifaa hutoa aina ya kifaa (sensa au kitendakazi).
Historia
Historia ya Jedwali ina historia yote ya sensorer, pamoja na tarehe ya tarehe (HistoryDate) historia iliongezwa na thamani ya wakati huo katika historia. Pia ina Funguo mbili za Kigeni:
- KifaaID, kuunganisha logi maalum na Kifaa
- UserID, kuunganisha mtumiaji fulani na logi (hii ni kwa sababu tunatumia RFID, na tunataka kuongeza kumbukumbu ya historia kwa mtumiaji mmoja maalum)
Mtumiaji
Mtumiaji wa Jedwali hutumiwa kuunda Mfumo wa Kuingia kwa Mtumiaji na skana ya RFID. Inayo jina la utani, Jina la Kwanza, Jina la Mwisho, Nenosiri na RFID (hii ni nambari ya tag ya tag). Kila mtumiaji ameunganishwa na Kontena (watertank) na pia hubeba ContainerID kama Ufunguo wa Kigeni.
Chombo
Kontena la Jedwali lina Vyombo vyote tofauti. Inayo kitambulisho, eneo la Kontena (hii inaweza kuwa biashara, nyumba au kitu kingine chochote). Mwishowe, ina MaxLevel ambayo inasimama kwa kiwango cha juu cha chombo.
Mipangilio
Mipangilio ya Jedwali ina SettingsID, na inafuatilia DailyGoal ya kila mtumiaji + tarehe ambayo DailyGoal iliongezwa na mtumiaji. Hii inaelezea UserID ya Ufunguo wa Kigeni.
Dampo la hifadhidata linaweza kupatikana kwenye ghala langu la GitHub chini ya Hifadhidata.
Hatua ya 4: Kuweka Mpangilio wa Nyuma
Hakuna mradi bila backend inayofanya kazi.
Backend ina vitu 4 tofauti:
wasaidizi
Wasaidizi ni darasa zote zinazotumiwa kwa sensorer tofauti na watendaji. Kuna msaidizi wa sensorer ya joto (DS18B20), kwa sensorer za ultrasonic (HCSR05) kuweza kupima umbali na LCD iweze kuandika ujumbe kwenye skrini.
hazina
Katika folda ya hazina, utapata faili 2 za chatu:
- Database.py ambayo ni msaidizi kupata safu kutoka kwa hifadhidata yako. Inafanya iwe rahisi kutekeleza na kusoma hifadhidata.
- DataRepository.py ambayo ina maswali yote ya SQL, ambayo hutumiwa katika nambari kuu (app.py). Zinatumika kupata, kusasisha au kufuta data kutoka hifadhidata.
programu.py
Hii ndio nambari kuu ya kurudi nyuma ya mradi. Inafanya usanidi kwa kufafanua pini na njia zote na ina nambari ya kufanya pampu ifanye kazi, kupata joto, kupata mtumiaji na kadhalika. Pia ina njia zinazotumiwa kupata data kutoka kwa Hifadhidata na socketio.on zote. Kwa kila ukurasa wa HTML ni socketio.on tofauti ili kuhakikisha kila kazi inafanya kazi kwa wakati sahihi.
usanidi.py
Tuna faili moja kushoto: config.py. Hii ndio faili iliyo na chaguzi za usanidi wa kuungana na Hifadhidata yako. Usisahau kuweka hati zako za Hifadhidata.
Backend inaweza kupatikana katika hazina yangu chini ya Backend.
Hatua ya 5: Kuweka Mbele


Kwa Frontend, nilianza kwa kutengeneza muundo wa kile webserver yangu inapaswa kuonekana katika AdobeXD. Nilitumia rangi kwenye Rangi yangu, ambayo ni ya machungwa na vivuli 2 tofauti vya hudhurungi. Nilijaribu kuweka muundo rahisi iwezekanavyo na kuunda eneo la maji ambalo linaonyesha asilimia kwa kiwango gani umefikia lengo lako la siku.
Katika hazina yangu ya GitHub, utapata Frontend yangu chini ya Kanuni> Mbele. Ni muhimu kwamba ubandike hii kwenye folda yako / var / html yako Raspberry Pi kuifanya iwe rahisi kutoka kwa seva ya wavuti.
Inayo faili kadhaa za HTML, ambazo husababisha kurasa tofauti. Utapata pia skrini yangu.css na CSS yote utahitaji kuifanya ionekane kama mradi wangu. Mwishowe, Utakuwa na faili tofauti za JavaScript chini ya hati. Hati hizi zinawasiliana na backend yangu kuonyesha data kutoka kwa Hifadhidata yangu au nyuma.
Backend inaweza kupatikana katika hazina yangu chini ya Frontend.
Hatua ya 6: Kuunda Kesi



Ikiwa tunazungumza juu ya kesi yangu, kuna sehemu kuu mbili:
Nje ya casing
Nilijenga kesi hiyo kutoka mwanzo. Nilitumia mbao za plywood na kuzichora kwa saizi sahihi. Niliunganisha mbao zote pamoja na kuchimba mashimo kwa LCD, kitufe, sensor ya ultrasonic kugundua ikiwa kuna chupa ya watter iliyopo na faneli kusambaza maji. Niligawanya kesi yangu katika sehemu tofauti kuweka maji na vifaa vya elektroniki vimetenganishwa na nilitumia tray ya kebo kulinda nyaya kutokana na kuvuja kwa maji. Kwenye video iliyoambatishwa, unaweza kuona mambo mengi ya kuweka yangu na jinsi nilivyotengeneza. Pia nilichapisha kitufe cha 3D, ambacho kimefungwa kwa kitufe cha kawaida. Mwishowe, nilitumia tray ya matone kuchukua maji yote yaliyomwagika. Nilitumia pia bawaba kuweza kufungua na kufunga jopo la pembeni kutazama umeme wangu. Daima unaweza kutumia mtoaji wa mitumba au unaweza pia kutumia vifaa vingine.
Kwa vipimo halisi vya kujengwa kwangu, niliambatanisha PDF na saizi zote za sahani zilizotumiwa katika kesi hiyo.
Tangi la maji
Tangi la maji haikuwa kazi rahisi. Nilipata tanki la maji na shimo chini, kwa hivyo ilibidi niipige mkanda kukomesha kuvuja. Utahitaji mashimo manne: moja kwa sensorer ya joto, moja kwa neli ya pampu yako. moja kwa neli kujaza tank na moja kwa sensor ya ultrasonic. Kwa hii ya mwisho, mimi 3D nilichapisha kesi kwa hiyo, ambayo inaweza kupatikana hapa. Hii inatoa sensor zaidi ulinzi dhidi ya maji. Kisha nikachimba mstatili juu ya tangi, ili kupumzisha kitambuzi.
Ilipendekeza:
Bomba la Maji la Moja kwa Moja la infrared kwa $ 5: 12 Hatua (na Picha)

Bomba la Maji la Infrared la moja kwa moja kwa $ 5: Katika mradi huu, tutafanya bomba la maji la moja kwa moja chini ya $ 5 tu. Tutatumia sensa ya IR na swichi ya maji kutengeneza bomba hili la maji la infrared. Hakuna mdhibiti mdogo anayetumiwa kutengeneza bomba hili la maji la infrared moja kwa moja. Weka tu yako
Jenga Chungu cha Kujinyunyizia cha DIY na Wifi - Mimea ya Maji Moja kwa Moja na Inatuma Tahadhari Wakati Maji Yapo Chini: Hatua 19

Jenga Chungu cha Kujinyunyizia cha DIY na Wifi - Mimea ya Maji Moja kwa Moja na Inatuma Tahadhari Wakati Maji Yapo Chini: Mafunzo haya yanaonyesha jinsi ya kujenga kipandaji cha umwagiliaji cha kibinafsi kilichounganishwa na WiFi ukitumia kipandaji cha zamani cha bustani, takataka, wambiso na ubinafsi Kutia maji Kitanda cha Mkusanyiko kutoka Adosia
Mlishaji wa Kiwanda cha Moja kwa Moja cha WiFi Pamoja na Hifadhi - Usanidi wa Kilimo cha Ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Hatua 21

Kilima cha Kiwanda cha Kiotomatiki cha WiFi kilicho na Hifadhi - Kuweka Kilimo cha ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Katika mafunzo haya tutaonyesha jinsi ya kuanzisha mfumo wa kulisha mimea ya ndani / nje ambayo hunyunyizia mimea moja kwa moja na inaweza kufuatiliwa kwa mbali kutumia jukwaa la Adosia
Kilishi cha Mbwa Raspberry Pi Moja kwa Moja na Kijirusha Video Moja kwa Moja: Hatua 3

Feeder ya mbwa ya Raspberry Pi moja kwa moja & Kijirisho cha Moja kwa Moja cha Video: Hii ni Raspberry PI yangu inayowezesha feeder ya mbwa moja kwa moja. Nilikuwa nikifanya kazi kutoka asubuhi 11am hadi 9pm. Mbwa wangu huenda wazimu ikiwa sikumlisha kwa wakati. Iliyotafutwa google kununua feeders moja kwa moja ya chakula, hazipatikani India na kuagiza ghali op
Usambazaji wa Maji ya Kutoa Maji Moja kwa Moja kwa Kutumia Arduino: Hatua 4

Usambazaji wa Maji ya Kutengeneza Maji Moja kwa Moja kwa Kutumia Arduino: Lengo la muundo huu ni kupeana maji kutoka kwenye bomba wakati unanyoosha mkono wako kuosha ndani ya bonde bila kuchafua bomba na kupoteza maji. Bodi ya Opensource Arduino - Nano inatumiwa kutimiza hii. Tembelea Tovuti Yetu Kwa Chanzo C