Orodha ya maudhui:

Home_X: 5 Hatua
Home_X: 5 Hatua

Video: Home_X: 5 Hatua

Video: Home_X: 5 Hatua
Video: Конфигурация шага MKS Gen L - A4988 2024, Julai
Anonim
Nyumbani_X
Nyumbani_X

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

Wiring
Wiring
Wiring
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

Hifadhidata Kutumia MySQL
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

Kuandika
Kuandika
Kuandika
Kuandika

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

Makazi
Makazi
Makazi
Makazi
Makazi
Makazi
Makazi
Makazi

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.

Ilipendekeza: