Orodha ya maudhui:

Beargardian: 5 Hatua
Beargardian: 5 Hatua

Video: Beargardian: 5 Hatua

Video: Beargardian: 5 Hatua
Video: МЕЛОДРАМА О ЛЮБВИ И МОДЕ! Нити любви ВСЕ СЕРИИ подряд. Русские сериалы 2024, Novemba
Anonim
Mfadhili
Mfadhili

Jamani jamani shuleni nilihitaji wazo la mradi. Kwa hivyo nilikuwa nikifikiria, lazima iwe mradi na pi ya raspberry na ni ya ndani. Ghafla nilikuwa na wazo nzuri na usiniulize ni jinsi gani nilipata wazo hilo lakini nilifikiria juu ya kuboresha kwa mfuatiliaji wa mtoto. Hebu fikiria sekunde moja juu ya wazo hilo, wachunguzi wengi wa watoto wana jukumu la kusikiliza chumba cha mtoto.

Vipengele

  • Onyesho nyepesi kidogo na rangi inayoweza kubadilishwa
  • Kamera inayoonyesha picha za moja kwa moja
  • Spika ya kucheza muziki
  • Sensorer kukamata kusonga kwa mtoto
  • Zote zinazoonyesha kwenye wavuti

Maelezo mafupi

Wacha nieleze hii kwa toleo fupi. Kwa hivyo tunahitaji wavuti na kwa mradi huu ninatumia Flask, tunahitaji pia hifadhidata na ninatumia mysql, pia hati inayoendesha vifaa na hii iko na chatu (3) na mwisho tunahitaji usanidi wa seva hiyo itakuwa nginx kwenye PI.

Tunahitaji nini

  • Raspberry Pi 3
  • Pikipiki ya pili 28BYJ
  • Moduli ya stepmotor chip ULN2003 stepper
  • Rgb iliyoongozwa na vipinga 3 330Ohm
  • Kamera ya Pi NoIR V2
  • Sensor ya ultrasonic HC-SR04
  • Moduli ndogo kutoka ardiuno
  • MAX98357A
  • Spika 8Ohm
  • Na usisahau kununua kubeba

Sanidi raspberry pi ---------------------------------------------- -------------------------------------------------- --------------------------

Mara ya kwanza tunahitaji kusanidi Pi. Anza tayari kuingia kupitia putty, ikiwa huna putty nakupendekeza upakue hii, andika tuli yako ya tuli ya Pi na ssh na uende nayo. Ikiwa lazima usakinishe Raspberry yako Pi basi nilipata habari mbaya, sikielezea hii katika mradi huu.

Sakinisha vifurushi

sasisho la sudo apt

Sudo apt kufunga -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3

Mazingira halisi

python3 -m pip install - kuboresha pip setuptools gurudumu wema

mkdir {jina la jina la mradi wako} && cd {jina la jina la mradi wako} python3 -m venv --system-site-package-env source env / bin / activate python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- MySQL mysql-kontakt-python passlib

Sasa lazima uunganishe hazina ya git kwenye folda yako ya mradi

github.com/NMCT-S2-Project-I/Project-I.git

Ukiangalia kwenye folda yako ya mradi lazima uone folda 5

  • conf
  • env
  • sensor
  • sql
  • wavuti

Hifadhidata

hali ya sudo systemctl mysql

ss -lt | grep mysql Sudo mysql

tengeneza mtumiaji kwenye hifadhidata na marupurupu yote na fanya hifadhidata yako

unda mtumiaji 'mtumiaji' @ 'localhost' anayetambuliwa na 'nywila';

kuunda databasedatabasename; toa marupurupu yote kwenye yourdatabasename. * kwa 'mtumiaji' @ 'localhost' na chaguo la ruzuku;

Faili za Conf kwa seva

Katika uwsgi-flask.ini unabadilisha 'moduli = …' kuwa 'moduli = wavuti: programu' na njia ya fadhila yako uliyounda. Katika faili zingine unahitaji kubadilisha njia hadi njia halisi kabisa za saraka yako.

Mara tu ulipogundua kuwa unaweza kuweka faili mahali pazuri.

sudo cp conf / project1 - *. huduma / nk / systemd / mfumo /

Sudo systemctl daemon-reload sudo systemctl anza mradi1- * mradi wa hadhi systemctl1- *

sasa tunapaswa kuweka hii inapatikana

sudo cp conf / nginx / nk / nginx / tovuti zinazopatikana / mradi1

sudo rm / nk / nginx / tovuti-kuwezeshwa / default sudo ln -s / nk / nginx / tovuti-zinapatikana / project1 / nk / nginx / tovuti-kuwezeshwa / project1 sudo systemctl kuanzisha upya nginx. huduma sudo nginx -t

Ikiwa kila kitu kilienda sawa wewe kwa sauti una saluni na amri hii

wget -qO - mwenyeji wa ndani

Imekamilika! Vizuri hiyo ni kwa sehemu kuruhusu kuendesha mfumo wako…

Hatua ya 1: Wiring Hardware kwa Pi

Wiring Vifaa kwa Pi
Wiring Vifaa kwa Pi

kutumia BCM

sauti MAX98357A

  • BCK kwa GPIO 18
  • Takwimu kwa GPIO 21
  • LRCK kwa GPIO 19

mwanga

  • nyekundu kwa GPIO 17
  • kijani kwa GPIO 27
  • bluu kwa GPIO 22

moduli ya motor ULN2003

  • piga 1 kwa GPIO 5
  • piga 2 kwa GPIO 6
  • piga 3 hadi GPIO 13
  • piga 4 kwa GPIO 26

ndogo

D0 kwa GPIO 21

sensor ya ultrasonic

  • trig kwa GPIO 16
  • elekea kwa GPIO 20

Hatua ya 2: Kuandika programu kuu

Siingii maelezo hapa lakini unaweza kukagua nambari yangu katika github.

Kuanza na nilifanya html yangu na css, faharisi, kuingia, kujiandikisha, skrini ya nyumbani, muziki, addmusic, addbear, mwanga, kamera, mipangilio ya kamera, sensorer, ukurasa wa dashibodi. Faili za html lazima ziwe kwenye templeti na faili za css kwenye folda ya tuli / css. Unaweza kubadilisha kikamilifu css kama unavyotaka.

Ikiwa umefanya sehemu hii unahitaji kuanzisha chupa yako. Flask ni rahisi kutumia mfano tu wa ulimwengu wa hello

# kuagiza chupa mwanzoni

kutoka kwa kuingiza chupa * @ app.route ('/') def index (): Return render_template ('index.html')

Sasa katika nambari yangu hii tayari imejazwa, kitu pekee unachohitaji kufanya ni kubadilisha mtumiaji wa hifadhidata na nywila kuwa hiyo kutoka kwako na ofcourse tengeneza hifadhidata sawa ambayo unaweza pia kupata katika github.

Hatua ya 3: Kuunda Hifadhidata

Kuunda Hifadhidata
Kuunda Hifadhidata

Kwa mashabiki wa kweli nitakuambia jinsi ya kuunda hifadhidata sawa.

Kwa hivyo kwanza tunahitaji kuunda hifadhidata ikiwa haukuwa katika hatua ya kwanza.

kuunda database mbebaji;

Mara tu ulipofanya hivi unaunda meza kwenye workbench ya mysql au phpadmin

meza ya mtumiaji ina

  • mtumiajiID
  • jina la kwanza
  • jina la familia
  • barua pepe
  • jina la mtoto
  • nywila na sha1
  • folda ya mtumiaji
  • muziki wa kucheza (int)
  • mwangaza wa kucheza (int)
  • rekodi ya kucheza (int)

meza ya muziki ina

  • muzikiID
  • wimbo
  • njia
  • folda ya mtumiaji
  • hali
  • ujazo

meza ya kurekodi ina

  • kurekodiID
  • njia
  • folda ya mtumiaji
  • wakati
  • siku

meza ya rangi ina

  • rangiID
  • nyekundu
  • kijani
  • bluu
  • mwangaza
  • mtumiajiID

meza ya kubeba ina

  • kubebaID (desimali (8))
  • chaguo-msingi la mtumiajiID null
  • jina la jina

jedwali la sensa ina

  • sensorID
  • umbali
  • ndogo
  • kubebaID
  • wakati
  • siku
  • wakati wa kulala

Kwa hivyo sasa umeunda hifadhidata kwa mafanikio, wacha tuende kwa vifaa.

Hatua ya 4: Usimbuaji vifaa

Nitaonyeshwa kificho kidogo na kukuambia kwanini nilifanya hivyo.

Kuanza na nilitumia uzi, ni lazima kabisa iwe katika mradi huu. Je! Ni nini, hmmm swali zuri! Kutishia vizuri katika chatu ni kuendesha programu nyingi mara moja. Kwa hivyo ikiwa kwa mfano unabadilisha rangi unaweza pia kurekodi. Ni rahisi kutumia usijali.

kuagiza _threaddef function_name (something, something_else): nambari ya kuendesha

soma. anza_ya_kisasa kipya (jina la jina, tuple_with_the_functions_variables)

Ikiwa ungeangalia programu yangu uliona logger.info ('…'). Hii ndio kazi ya kuchapisha lakini bora zaidi, kwa sababu kwenye Pi huwezi kuchapisha vitu nje kwa hivyo ninatengeneza faili na kuiprintia huko. Yoe inaweza kuweka faili ya logi na nambari hii.

logger = logging.getLogger (_ jina _) logger.setLevel (logging. INFO) # unda kidhibiti cha faili = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)

# tengeneza muundo wa magogo

formatter = magogo. Formatter ('% (asctime) s -% (jina) s -% (ujumbe) s') mshughulikiaji.setFormatter (fomati)

# ongeza washughulikiaji kwenye logger

logger.addHandler (mshughulikiaji)

logger.info ('anza vifaa / n ---------------------------------------')

zaidi katika nambari yenyewe ninaelezea kila kitu.

Ilipendekeza: