Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Kukusanya Mzunguko
- Hatua ya 2: Kuanzisha RaspberryPi yetu
- Hatua ya 3: Kuweka Mpangilio wa Nyuma
- Hatua ya 4: Kuweka Mbele
- Hatua ya 5: Kuingiza Hifadhidata ya Mradi Wetu
- Hatua ya 6: Kuanzisha Mradi wetu
- Hatua ya 7: Kesi
- Hatua ya 8: Pendeza Bidhaa ya Mwisho
- Hatua ya 9: Shida
Video: Chemchemi ya Maji isiyowasiliana: Hatua 9 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Mwisho wa mwaka wangu wa kwanza kama mwanafunzi wa MCT nilipewa jukumu la kufanya mradi ambao ulikuwa na ustadi wote niliochukua kutoka kozi kwa mwaka mzima.
Nilikuwa nikitafuta mradi ambao ungeangalia mahitaji yote yaliyowekwa na waalimu wangu na wakati huo huo kuwa ya kufurahisha kwangu kuifanya. Wakati wa kutafuta mada sikuweza kusaidia lakini nilijisikia kuongozwa na Covid-19 (Hii ilikuwa ni haki kabla ya kuzuka kwa mlipuko wa ulimwengu.) Nilichagua kuwasiliana na chemchemi / mtoaji wa maji, kwani ingetoa kwa njia ya kunywa maji bila kugusa vifungo kabla maji yatoke.
Mradi huu hutumia sensa ya umbali kugundua ikiwa kikombe au glasi imewekwa chini ya pato la maji, chemchemi hiyo itaendelea kutoa maji kwa sekunde 60 (100ml / dakika). Hii ni kuifanya iwe thabiti zaidi kwa sababu kugundua ikiwa glasi imeondolewa imeonekana kuwa ngumu sana / polepole ya kazi ndio sababu kipima muda kiliwekwa. Baada ya glasi yako kujazwa na 100ml ya maji unaweza kusubiri kwa sekunde 5 na ikiwa glasi bado iko mbele ya sensa ya umbali itaendelea kujaza wakati mwingine (hii inamaanisha pia kuna muda wa muda wa sekunde 5 kati ya kujaza mbili tofauti vitu).
Vifaa
Vipengele
- 1x RaspberryPi (nilitumia toleo la 4 lakini matoleo ya zamani yanaweza kufanya kazi pia) - 1x S8050 transistor au 1x PN2222 transistor inaweza kufanya kazi pia- 1x Photoresistor- 1x HC-SR04 (Sensor ya Umbali wa Ultrasonic) - 1x RFID-RC522- 3x Tofauti rangi za LED (bluu, manjano, nyekundu) - 1x LCD1602- 1x Buzzer Active- 1x PCF8574- 1x MCP3008- 1x Pump Water (Pampu ya pervaltiki 12v ilitumika, unganisha na kitu hiki)
- 1x DC Ugavi wa umeme (12v, 600mAh) - 1x nguvu ya matofali yenye matangazo 3- 3x mikate (unaweza kutumia kidogo) - T-cobbler ya RaspberryPi GPIO pini- T-cobbler cable (ya kuunganisha kati ya pi na sekunde)
Vifaa na zana zilizotumiwa
- Kuchimba visima na vipande vifuatavyo vya kuchimba visima:
- 4mm (kuchimba visima kabla ya visu) - 15mm (kuchimba mashimo kwa sensor ya umbali)
- Bisibisi yoyote- screws 30 za urefu wa 45mm- screws 6 za 20mm- 2 bawaba kwa mlango- Sahani ya MDF ya karibu 130cm na 80cm- Faili kadhaa
Hatua ya 1: Kukusanya Mzunguko
Kwa mzunguko tuna sensorer 2, sensor ya umbali na kipinga picha. Sensor ya umbali hutumiwa kugundua ikiwa kikombe kimewekwa kwenye chemchemi ya maji na kwa hiari niliongeza kipinga picha, hii hutumiwa kugundua ikiwa casing imefunguliwa na mtu yeyote ambaye hafai kuifungua. Juu ya hayo tuna msomaji wa RFID hii inaweza kutumika kudhibitisha fundi anayehitaji kufungua kesi ili kujaza tena hifadhi ya maji au kwa shida nyingine ya kiufundi.
Kwa vitu vyenye kazi tunayo LCD1602, buzzer inayotumika na pampu ya peristaltic, LCD hutumiwa kuonyesha hali kama kesi iko wazi au pampu inaendesha na anwani ya IP ya kifaa itaonyeshwa, buzzer ni kutumika kutoa sauti ya kutisha wakati kesi imefunguliwa bila mtu kuidhinisha.
Nimeongeza maoni ya bodi na mkate wa mzunguko hapa chini.
Hatua ya 2: Kuanzisha RaspberryPi yetu
Ili kuanzisha RaspberryPi yetu, tutapakua programu ya picha kutoka kwa wavuti ya Raspberry, na hii unaweza kupakua toleo la Raspbian unayotaka na picha yako SDCARD kwako. Baada ya chombo hiki kufanya kazi yake unaweza kufungua SDCARD katika Windows Explorer, utaweza kuona kizigeu cha boot cha RaspberryPi yako. Hapa tutapata faili inayoitwa cmdline.txt (usifungue faili hii katika notepad, ifungue katika Notepad ++ au IDE nyingine yoyote). Tutaongeza ip = 169.254.10.1 hadi mwisho wa faili hii ili kuhakikisha kuwa tunaweza kuungana na kifaa chetu juu ya ethernet (hakikisha hautaongeza INGIA zozote mwishoni mwa faili yako la sivyo utapata shida).
Sasa unaweza kuweka SDCARD yako kwenye RaspberryPi yako na uiunganishe, unganisha Pi kwenye kompyuta yako na utumie Putty kuungana na Pi yako juu ya SSH. Ninatumia amri ifuatayo kuungana na Pi yangu badala ya kutumia Putty. "ssh [email protected]" hii inaweza kuisha, kwa hivyo uwe na subira na subiri Pi ianze. Mara tu tukichochewa nywila tutajaza nywila chaguomsingi ya "raspberry". Hakikisha kubadilisha nenosiri hili baada ya kuingia ili kuzuia mtu yeyote aliye na nia mbaya kupata Raspberry Pi yako.
Sasa tutasanidi Pi yetu ili kutoa utendaji muhimu wa nambari yetu. Tumia "sudo raspi-config" kufungua menyu ya usanidi na hapa tutaenda kwenye Chaguzi za Interfacing.
Chini ya hapa tutabadilisha chaguzi zifuatazo ON: - SPI- I2C
Fuata mwongozo huu kuanzisha muunganisho wa mtandao bila waya kwenye Pi yako, baada ya kufanikiwa kufanya hivyo tunaweza kupata kusanikisha vifurushi vyetu vinavyohitajika.
Vifurushi: (endesha amri kwa mpangilio kama ilivyoainishwa hapa)
Ifuatayo kupata sasisho za hivi punde za sasisho la Pi- sudo apt && upgrade -y
Sakinisha seva yetu ya MySQL na webserver- sudo apt kufunga mariadb-server apache2
Nitatumia MySQL Workbench kusanidi hifadhidata baadaye katika mwongozo huu, ikiwa hutumii hii na unapendelea phpmyadmin unaweza kusanikisha hii kwa amri ifuatayo, uko huru kutumia Mteja mwingine yeyote wa MySQL na kwa muda mrefu kama wewe tunaweza kuagiza vizuri hifadhidata.- Sudo apt install phpmyadmin
Baada ya kumaliza haya yote hapo juu tunahitaji kuunda mtumiaji kwa hifadhidata yetu. Tumia "Sudo mysql -u mzizi" kuingia kwenye seva yako ya MySQL, hapa tutaunda mtumiaji anayeitwa db_admin na nywila yake, endelea nenosiri hili lilibainika mahali pengine baadaye katika maagizo. JIPE VIFAA VYOTE KWENYE *. * KWA "db_admin" @ "%" INAYOTAMBULISHWA NA "yourPasswordHapa" KWA OTI YA RUZUKU;
Tumia amri ya "q" kutoka nje kwa kituo cha MySQL.
Vifurushi vya chatu: Bado tunahitaji kusanikisha vifurushi vya chatu kabla ya kuendelea, tumia amri iliyo hapa chini ili kuhakikisha kuwa kila kitu kipo kwa uzoefu usiofaa.
sudo pip3 sakinisha Flask Flask-Cors Flask-SocketIO gevent gevent-websocket greenlet spi SPI-Pyspidev
Pamoja na MySQL ifuatayo unganisha vifurushi vya pudo sudo apt kufunga python3-mysql.connector -y
Ikiwa yote yamekwenda sawa sasa unaweza kutembelea Pi yako kwenye kivinjari chako na anwani ifuatayo
Hatua ya 3: Kuweka Mpangilio wa Nyuma
Hapa nitaelezea jinsi unaweza kusanidi backend mwenyewe, kwanza pakua faili ya rar kutoka hapo chini, uiandikishe kwa saraka ya muda. Unganisha kwenye RaspberryPi yako na FileZilla au WinSCP na sifa zifuatazo:
IP: 169.254.10.1 Mtumiaji: piNenosiri: rasiberi (ikiwa umebadilisha nenosiri fanya hapa pia)
Basi unaweza kuendelea kuhamisha faili ambazo haujasajili kwenye saraka yoyote unayotaka kwenye saraka ya nyumbani ya mtumiaji wa pi. Kwa unyenyekevu tutafikiria katika usanidi huu kwamba tumepakia faili zetu zote chini ya saraka ya hati.
Weka programu yako ya FTP wazi kwa hatua inayofuata!
Sasa fungua amri yako ya amri tena na unganisho lako la SSH kwa sababu tutahitaji kufanya mabadiliko kwenye webserver ili upande wa mbele uweze kuwasiliana na backend. Tutafungua faili chaguomsingi ya Apache2 na kuibadilisha kidogo: nano /etc/apache2/sites-inapatikana/000-default.conf
Ongeza mistari ifuatayo hapa chini DocumentRoot katika faili ya usanidi ambayo tumeifungua tu: ProxyPass / api / https://127.0.0.1:5000/api/ProxyPassReverse / api / https:// 127.0.0.1: 52 /api
Unaweza kuangalia picha iliyoambatanishwa kwa mfano.
Hatua ya 4: Kuweka Mbele
Kabla ya kuhamisha faili zetu itabidi tufanye kitu kabla ya kuanza kuhamisha faili zetu za mbele. Fungua kidokezo chako cha amri na unganisho la SSH ulilotengeneza hapo awali na tumia amri ya chini kubadili mtumiaji wa mizizi ya RaspberryPi yetu: "sudo su -"
Baada ya hii tunaweza kubadilisha nenosiri la mtumiaji wetu wa mizizi na amri ifuatayo: "passwd" Hii itakuuliza uingize nywila mpya, baada ya kufanya hivyo unaweza kurudi kwenye programu yako ya FTP na uingie na sifa zako za mizizi:
IP: 169.254.10.1 Mtumiaji: mziziPassword:
Pakua faili ya rar kutoka chini na uiandike kwenye folda ya muda, unaweza kuhamisha faili hizi kwa RaspberryPi yako kwa saraka ifuatayo / var / www / html /, baada ya kufanya hivyo unaweza kutembelea mbele kwenye http: / /169.254.10.1, huwezi kuingiliana bado kwa sababu backend bado haijaendesha, nitakuonyesha baadaye katika mwongozo huu jinsi ya kufanya hivyo.
Hatua ya 5: Kuingiza Hifadhidata ya Mradi Wetu
Fungua mpango wako wa usimamizi wa seva ya MySQL unayopenda na unganisha kwenye Raspberry Pi yako na hati ambazo tumeunda katika Hatua ya 2.
Pakua dampo la hifadhidata kutoka chini na uiingize kama kawaida, benchi la kazi la MySQL ungeenda kwenye Faili> Fungua Hati ya SQL na uchague dampo la hifadhidata ulilopakua. Kisha bonyeza CTRL + SHIFT + ENTER na hati ya SQL inapaswa kuendeshwa na muundo kwa hifadhidata inapaswa kuundwa.
Niliongeza stakabadhi nilizotumia kwa RaspberryPi yangu kama mfano hapa chini na picha kadhaa za muundo wa Hifadhidata, unaweza kuiangalia na kujaribu kupata wazo la jumla la kila kitu kinavyofanya kazi.
Hatua ya 6: Kuanzisha Mradi wetu
Kabla ya kuanza mradi wetu tunahitaji kubadilisha hati za hifadhidata katika faili ya config.py, ikiwa ulifuata maagizo kama vile mwongozo huu ulivyosema basi unaweza kupata hizi chini ya /home/pi/Documents/Backend/src/config.py hapa unahitaji kubadilisha hati za db_config kutofautisha na zile tulizounda mapema kwa hifadhidata yetu. Nimeongeza mfano wa kile utaona kwenye faili hii hapa chini.
Baada ya hapo tutaongeza faili ya huduma faili hii itahakikisha mradi wetu unaanza RaspberryPi inapoanza, hakikisha unabadilisha saraka ipasavyo ya mahali ulipoweka faili za nyuma. Tumia amri ifuatayo kuunda faili ya huduma:
[Kitengo] Maelezo = Mgao wa MajiBaada ya = huduma ya mysql
[Huduma] Aina = rahisiRestart = daimaRestartSec = 1User = piExecStart = / usr / bin / python3 /home/pi/Documents/Backend/index.py
[Sakinisha] WantedBy = multi-user.target
Rekebisha laini mahali inasema / nyumba /pi / Nyaraka /Backend/index.py hadi mahali ulipoweka faili zako za nyuma, ikiwa haufanyi hivi kwa usahihi mradi hautaanza kwa usahihi! Nitaongeza faili ya mfano hapa chini.
Baada ya kufanya hivyo na kutoka nje ya mhariri wa maandishi tunaweza kuwezesha huduma kwa amri zifuatazo: -
Na kama nyongeza tunaweza kukimbia:
Hatua ya 7: Kesi
Hongera tuko karibu hapo, nitaongeza picha ambazo zitaonyesha kwa usahihi vipimo nilivyotumia kwa mradi wangu, nilitumia sahani za MDF zenye unene wa 18mm, unaweza kutumia unene tofauti. Kesi yangu inaweza kutumika kama mwongozo wa kubuni yako au unaweza kurudia kile nilichotengeneza. (Ikiwa utatumia unene tofauti wa MDF michoro yangu haitakuruhusu kutengeneza muundo wangu, hakikisha kuibadilisha!) Paneli nilizotengeneza: - Paneli 2 za 32cm na 42cm (paneli za pembeni) - 1 jopo la 24cm na 32cm (sahani ya chini) - paneli 2 za 16cm na 24cm (sahani ya mbele ambapo LCD inakaa na sahani ya jirani) - jopo 1 la 28cm na 24cm (sahani ya kati inayoonekana kutoka mbele) - 1 jopo la 30cm na 24cm (sahani ya juu)
Hatua ya 8: Pendeza Bidhaa ya Mwisho
Umefikia mwisho na kwa sasa kwa matumaini umeweza kufanikisha jambo zima. Ikiwa wewe ni mpita njia tu unasoma, pia karibu, nakushukuru kwa kusoma hadi hatua ya mwisho!
Nilitumia damu nyingi, jasho na machozi katika mradi huu kwa hivyo ningefurahi ikiwa ungeacha maoni, ukosoaji wowote juu ya kuiboresha unakaribishwa!
Hatua ya 9: Shida
Ningeweka mradi katika hali yake ya sasa kama mfano wa kufanya kazi ambao unaweza kuona maboresho mengi zaidi.
Msingi wa kificho wa backend umeundwa kwa njia ambayo uhusiano mzuri wa mtumwa unaweza kufanywa vizuri ambapo chemchemi moja ingefanya kama sehemu kuu ya mbele na chemchemi zingine zote zingeshinikiza data na mabadiliko juu ya api ya REST ya bwana. Pia kuna mabaki ya mfumo wa ishara ya API katika nambari kwani hii ilikusudiwa kutekelezwa lakini ikatwe baadaye kwa sababu ya upungufu wa wakati.
Nimepakia nambari yangu kwenye seva yangu ya Gitlab na hapo unaweza kuangalia nambari hiyo kwa ujumla:
Ilipendekeza:
Joto la Maji ya Kisima Halisi, Uendeshaji na mita ya Kiwango cha Maji: Hatua 6 (na Picha)
Joto la Maji ya Kisima cha Maji ya Wakati wa Kweli, Uendeshaji na mita ya Kiwango cha Maji: Maagizo haya yanaelezea jinsi ya kujenga gharama ya chini, wakati halisi, mita ya maji kwa ufuatiliaji wa joto, Uendeshaji wa Umeme (EC) na viwango vya maji kwenye visima vilivyochimbwa. Mita imeundwa kutundika ndani ya kisima kilichochimbwa, kupima joto la maji, EC
Kipimo cha kupima joto cha IR isiyowasiliana: Hatua 8 (na Picha)
Hakuna joto la kupima joto la IR: Idara yangu ya Afya ya karibu iliwasiliana nami kwa sababu walihitaji njia ya kufuatilia joto la mwili wa afya ya mfanyakazi wao kila siku wakati wa mgogoro wa 2020 Covid-19. Kawaida, rafu za kipima joto za IR zilianza kuwa chache
Okoa Maji na Pesa Pamoja na Ufuatiliaji wa Maji ya Kuoga: Hatua 15 (na Picha)
Okoa Maji na Pesa Ukiwa na Mfuatiliaji wa Maji ya Kuoga: Ni yupi hutumia maji zaidi - bafu au bafu? Hivi karibuni nilikuwa nikifikiria swali hili, na nikagundua kuwa sijui ni kiasi gani cha maji kinatumika wakati ninaoga. Najua ninapokuwa katika kuoga wakati mwingine akili yangu hutangatanga, kufikiria juu ya hali nzuri
Pampu iliyodhibitiwa ya Arduino ya Maji ya Maji: 4 Hatua (na Picha)
Pampu iliyodhibitiwa ya Arduino kwa Maji ya Maji: wazo la mradi huu lilitoka wakati nilinunua boiler ya gesi inayobana kwa nyumba yangu. Sina mfereji wowote wa karibu kwa maji yaliyofupishwa ambayo boiler hutoa. Kwa hivyo maji hukusanywa kwenye tanki (lita) la lita 20 kwa siku chache na inapofika
Nuru ya Mood Chemchemi ya Maji ya Bluetooth: Hatua 5
Mood Mwanga Chemchemi ya Maji: Tutatumia vibaya sanduku la zamani la Plastiki na vifuniko kadhaa vya chupa kwenye chemchemi ya maji ya Smart ambayo hubadilisha rangi bila mpangilio au kulingana na mhemko wetu. Tunaweza kubadilisha rangi ya nuru kulingana na mhemko wetu kutoka kwa smartphone yetu juu ya muunganisho wa Bluetooth. ..