Orodha ya maudhui:
- Hatua ya 1: Vifaa: Unahitaji nini
- Hatua ya 2: Wiring
- Hatua ya 3: Hifadhidata Kutumia MySQL
- Hatua ya 4: Usimbuaji
- Hatua ya 5: Nyumba
Video: Home_X: 5 Hatua
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-01-10 13:49
Mimi ni mwanafunzi wa Howest Kortrijk ambaye anasoma Teknolojia Mpya ya Habari na Mawasiliano (NMCT).
Sisi sote ilibidi tufanye mradi ambao ulikuwa msingi wa rasipiberi na / au Arduino. Tulilazimika kutumia sensorer na hifadhidata kuonyesha data kwenye wavuti, na hapo ndipo nilipopata wazo la kuunda nyumba ndogo ndogo.
Ukiwa na nyumba nadhifu, utaweza kuona usomaji wote wa sensa kwenye wavuti.
Katika mafunzo haya nitakuongoza katika kila hatua ili uweze kujirudishia mradi huu mwenyewe.
Hatua ya 1: Vifaa: Unahitaji nini
- Pi ya Raspberry
- DHT22
- Grove - sensorer ya ubora wa hewa
- Grove - Sensorer ya Gesi (MQ2)
- Bodi ya mkate
- Raspberry Pi T Cobbler
- Waya wa Jumper wa Kiume / Mwanamke
- LED za 5mm
- Resistors
- Mbao na zana
- Servo Motor
- GrovePi +
Unaweza kununua vitu hivi mkondoni (Ali express, amazon, kiwi electronics…) au kwenye maduka yako ya karibu.
Orodha ya kina ya sehemu zilizo na kiunga cha maduka imetolewa hapa chini katika BOM.
Hatua ya 2: Wiring
Nilitumia Fritzing kwa wiring kuwa na muhtasari mzuri wa jinsi wiring yangu inapaswa kufanywa. Mimi mwenyewe nilitumia GrovePi + kwa sensorer 2. Ikiwa unapanga kufanya hii bila GrovePi + fuata mpango wa Fritzing. Sensorer hazikufanyi kazi, jaribu kutumia pini tofauti.
Unaweza kupata faili ya Fritzing hapa chini.
Hatua ya 3: Hifadhidata Kutumia MySQL
Moja ya kazi muhimu zaidi ambayo tulilazimika kutekeleza ilikuwa unganisho na hifadhidata ya MySQL.
Kila wakati sensa inaposoma au taa inaendelea, utaona mabadiliko haya kwenye hifadhidata.
Hifadhidata kisha hutuma data hii kwa wavuti ili mtumiaji aweze kuiona hapo pia.
Chini unaweza kupata faili yangu ya.xml ambapo una muhtasari wa jinsi hifadhidata inafanya kazi, lakini kwanza lazima usakinishe MySQL na chupa kwenye Raspberry Pi.
Uwekaji wa sensorer ulifanyika kupitia pycharm kwa hivyo hakikisha kuwa imewekwa pia (kwenye kompyuta yako).
Kwanza unahitaji kuangalia sasisho na usakinishe vifurushi, kama hii:
Sudo apt-pata sasisho && sudo apt-pata sasisho
Sudo apt kufunga -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Sasa tutatumia mazingira halisi:
me @ my-rpi: ~ $ python3 -m pip install - kuboresha pip setuptools gurudumu virtualenvme @ my-rpi: ~ $ mkdir project1 && cd project1 me @ my-rpi: ~ / project1 $ python3 -m venv --system- pakiti za wavuti 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-kontakt-python passlib
Inapaswa kukuambia kuwa huduma ya mariadb inafanya kazi.
Sasa, katika pycharm nenda kwa VCS> Ingiza kutoka kwa Udhibiti wa Toleo> GitHub sw clone
Kisha sanidi usanidi wa kupelekwa kwa saraka ambayo umetengeneza tu, mfano. / nyumbani / mimi / mradi1.
Baada ya hii kumaliza nenda kwenye mipangilio ya mkalimani na usanidi mazingira halisi ambayo umetengeneza tu, ex. / nyumbani / mimi / mradi / env / bin / chatu. Ramani ya njia inahitaji kujazwa pia.
Ikiwa ulifanya haya yote hifadhidata inapaswa kuwa tayari inaendesha.
hali ya sudo systemctl mysql
Sasa tunahitaji kuunda watumiaji kwa hifadhidata yetu, kama hivyo:
Sudo mariadb
Unda Mtumiaji 'mradi-admin' @ 'localhost' INAYOTAMBULISHWA NA 'adminwordword'; BUNA MTUMIA 'mradi-wavuti' @ 'localhost' INAYOTAMBULISHWA NA 'neno la wavuti'; Unda "sensorer ya mradi" ya MTUMIAJI @ @ 'localhost' INAYOTAMBULISHWA NA 'sensorpassword'; Buni mradi wa Hifadhidata;
TOA MAHAKAMA YOTE KWENYE mradi. * Kwa 'mradi-admin' @ 'localhost' NA OPTION YA RUZUKU; TOA UCHAGUZI, INSERT, UPDATE, DELETE ON mradi. * KWA 'mradi-wavuti' @ 'localhost'; TOA URAHISI UCHAGUE, WEKA, SASISHA, FUTA ILIYO mradi. * KWA 'sensor-project' @ 'localhost'; HAKI ZA FLUSH;
Sasa kuona hifadhidata yetu katika pycharm lazima tuunganishe.
Tunaweza kufanya hivyo kwa kwenda kwenye Tazama> Zana ya Windows> Hifadhidata na kubofya kitufe kijani "plus".
Chanzo cha Takwimu> MySQL na bonyeza (ikiwa iko) kwenye kitufe cha Upakuaji wa dereva ambacho huibuka.
Kisha nenda kwa SSH / SSL na uangalie SSH. Jaza mwenyeji / mtumiaji / nywila kwa pi na utumie bandari 22 ikiwa bado haijajazwa.
Ikiwa unataka pycharm kukumbuka nywila yako angalia kisanduku cha kuangalia "Kumbuka nywila".
Katika kichupo cha "Jumla", jaza mwenyeji wa ndani kwa mwenyeji, mradi kwenye Hifadhidata na utumie msimamizi-mradi na nywila kuweza kupima unganisho.
Ili kufanya hifadhidata itumike unahitaji kuendesha.sql ambayo ninaiweka chini. Jaribu kutumia chaguo la kuagiza, ikiwa huwezi kuagiza faili ya utupaji, lazima uongeze meza kwa mikono.
Baada ya hii kufanywa unahitaji kupata saraka ya conf na faili mbili za huduma. Huko badilisha kila seb unayopata na jina la mtumiaji unayemtumia kwenye pi yako. Pia, kikundi kinahitaji kuwa www-data.
Hatua inayofuata ni kuanza huduma hizi kwenye pi yako, kama hivyo:
sudo cp conf / mradi - *. huduma / nk / systemd / mfumo /
Sudo systemctl daemon-reload
Sudo systemctl anza mradi- *
mradi wa hali ya sudo systemctl- *
Unapaswa kuona huduma mbili zinazotumika wakati kila kitu kinakwenda kulingana na mpango.
Hatua ya mwisho ni kuwezesha nginx.
Kwanza angalia apache2 kwenye pi yako, ikiwa hii imewekwa, ifute au izime.
Katika faili nginx lazima ubadilishe uwsgi_pass, halafu endesha amri hizi.
sudo cp conf / nginx / nk / nginx / tovuti zinazopatikana / mradi
sudo rm / nk / nginx / tovuti-kuwezeshwa / default
sudo ln -s / nk / nginx / tovuti-zinapatikana / project1 / nk / nginx / tovuti-kuwezeshwa / mradi
Sudo systemctl kuanzisha upya nginx.service
hali ya sudo systemctl nginx.huduma
Nginx inapaswa kuwa hai na inayoendesha. Ikiwa kila kitu ni sahihi, sasa unaweza kuteleza kwenye pi yako. Utaona "Hello world" mwanzoni lakini bado lazima ubadilishe yaliyomo kwenye faili hilo na nambari yangu hapa chini.
Unaweza kuwezesha huduma ili ziweze kujiendesha kiotomati pi inapoanza.
Wakati ulifanya haya, hakikisha unaweka angalau nyumba 1 na anwani kwenye hifadhidata. Unaweza kufanya hivyo kwa kuingiza rahisi ndani.
Hatua ya 4: Usimbuaji
Unaweza kupakua nambari kupitia Github:
github.com/NMCT-S2-Project-I/project-i-Tib…
Nambari ya sensorer imejumuishwa kwenye faili ya sensor.py.
Usisahau kubadilisha jina langu kuwa lako (au mtumiaji kuliko unayotumia kwenye pi yako) kwenye faili za huduma ili waweze kukimbia vizuri na kuweka nambari yangu kwenye faili zilizopo tayari kwenye Pycharm yako.
Hatua ya 5: Nyumba
Nilifanya kuchora haraka jinsi nilivyotaka nyumba yangu, lakini yako inaweza kuonekana tofauti kabisa. Lazima tu uhakikishe unayo nzima ili servo iweze kufungua na kufunga dirisha.
Nilikuwa nikitumia drill ndogo na msumeno kukata kuni. Nilihakikisha pia kwamba kuta zilikuwa nene vya kutosha ili niweze kuweka servo yangu ndani ya hizo.
Unapomaliza na muundo wako na servo iko, unahitaji tu kuunganisha sensorer na kuweka pi ndani ya nyumba na umewekwa kwenda.
Kama nilivyosema kabla ya nyumba yako kuonekana sawa na yangu, unahitaji tu kutoa nafasi kwa servo na dirisha.
Mwishowe umemaliza na mradi huo. Natumahi mwongozo huu uko wazi kutosha ili wewe pia uweze kutengeneza nyumba ya kushangaza kama nilivyofanya.
Kila la heri.