ዝርዝር ሁኔታ:

Beargardian: 5 ደረጃዎች
Beargardian: 5 ደረጃዎች

ቪዲዮ: Beargardian: 5 ደረጃዎች

ቪዲዮ: Beargardian: 5 ደረጃዎች
ቪዲዮ: Introduction To Law And Ethiopian Legal System Chapter 5 HIERARCHY OF LAWS full tutorial 2024, ህዳር
Anonim
ቤርጋርዲያን
ቤርጋርዲያን

ጤና ይስጥልኝ ለትምህርት ቤት ለፕሮጀክት ሀሳብ እፈልጋለሁ። ስለዚህ እኔ እያሰብኩ ነበር ፣ እሱ ከሮዝቤሪ ፓይ ጋር ፕሮጀክት መሆን አለበት እና አካባቢያዊ ነው። በድንገት ታላቅ ሀሳብ ነበረኝ እና ያንን ሀሳብ እንዴት እንዳገኝ አይጠይቁኝ ግን ስለ ሕፃን ተቆጣጣሪ ማሻሻል አሰብኩ። ስለዚያ ሀሳብ አንድ ሰከንድ ብቻ ያስቡ ፣ በጣም የሕፃናት ማሳያዎች የሕፃኑን ክፍል የማዳመጥ ተግባር ብቻ አላቸው።

ባህሪዎች

  • ከተስተካከሉ ቀለሞች ጋር ትንሽ የብርሃን ትርኢት
  • የቀጥታ ምስሎችን የሚያሳየዎት ካሜራ
  • ሙዚቃ ለማጫወት ተናጋሪ
  • የሕፃኑን እንቅስቃሴ ለመያዝ ዳሳሾች
  • በድር ጣቢያ ላይ ያ ሁሉ የሚያሳየው

አጭር መረጃ

Letme ይህንን በአጭሩ ስሪት ያብራራል። ስለዚህ ድር ጣቢያ እንፈልጋለን እና ለዚህ ፕሮጀክት እኔ ፍላስክን እጠቀማለሁ ፣ እኛ የውሂብ ጎታ ያስፈልገናል እና mysql ን እጠቀማለሁ ፣ እንዲሁም ሃርድዌርን የሚያሄድ ስክሪፕት እና ይህ ከፓይዘን (3) ጋር ነው እና እንደ መጨረሻው የአገልጋይ ማዋቀር እንፈልጋለን። ያ በፒአይ ላይ nginx ይሆናል።

ምን ያስፈልገናል

  • Raspberry Pi 3
  • የእንጀራ ሞተር 28BYJ
  • የእንጀራ ሞተር ሾፌር ULN2003 stepper ሞዱል
  • RGB በ 3 resistors 330Ohm ተመርቷል
  • Pi NoIR ካሜራ V2
  • የ ለአልትራሳውንድ ዳሳሽ HC-SR04
  • ማይክሮ ሞዱል ከአርዲኖኖ
  • MAX98357A
  • ተናጋሪ 8 ኦህ
  • እና ድብ መግዛትዎን አይርሱ

Rasberry rasp ን ያዋቅሩ ------------------------------------------------------- -------------------------------------------------- --------------------------

መጀመሪያ Pi ን ማዋቀር አለብን። በ putቲ በኩል ለመግባት አስቀድመው ይጀምሩ ፣ putቲ ከሌለዎት ይህንን እንዲያወርዱ እመክርዎታለሁ ፣ በቀላሉ የፒ ፒዎን የማይንቀሳቀስ አይፒ በ ssh ይተይቡ እና ከእሱ ጋር ይሂዱ። የእርስዎ Raspberry Pi ን መጫን ካለብዎት ከዚያ መጥፎ ዜና አገኘሁ ፣ በዚህ ፕሮጀክት ውስጥ ይህንን አላብራራም።

ጥቅሎችን ይጫኑ

sudo ተስማሚ ዝመና

sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3

ምናባዊ አካባቢ

python3 -m pip ጫን -የ pip setuptools wheel virtualenv ን ያሻሽሉ

mkdir {የእርስዎ ፕሮጀክት አቃፊ ስም} && cd {የእርስዎ ፕሮጀክት አቃፊ ስም} 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-connector-python passlib

አሁን በፕሮጀክት አቃፊዎ ውስጥ የ git ማከማቻን መዝጋት አለብዎት

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

በፕሮጀክት አቃፊዎ ውስጥ ከተመለከቱ 5 አቃፊዎችን ማየት አለብዎት

  • conf
  • env
  • ዳሳሽ
  • ስኩዌር
  • ድር

የውሂብ ጎታ

sudo systemctl ሁኔታ mysql

ss -lt | grep mysql sudo mysql

ከሁሉም መብቶች ጋር በመረጃ ቋቱ ውስጥ ተጠቃሚን ይፍጠሩ እና የውሂብ ጎታዎን ያዘጋጁ

በ ‹በይለፍ ቃል› ተለይቶ የተጠቃሚ ‹ተጠቃሚ›@‹localhost› ን ይፍጠሩ ፤

ዳታቤዝ ስምዎን የውሂብ ጎታ ይፍጠሩ ፤ በእርስዎ የውሂብ ጎታ ስም ላይ ሁሉንም መብቶች ይስጡ።* ለ ‹ተጠቃሚ›@‹localhost› በእርዳታ አማራጭ ፤

Conf ፋይሎች ለአገልጋይ

በ uwsgi-flask.ini ውስጥ 'ሞዱል =…' ወደ 'ሞዱል = ድር: መተግበሪያ' እና እርስዎ ወደፈጠሩት የቨርታለንቭዎ መንገድ ይለውጣሉ። በሌሎች ፋይሎች ውስጥ ዱካዎቹን ወደ ማውጫዎ ትክክለኛ ፍፁም ዱካዎች መለወጥ ያስፈልግዎታል።

ያንን ካወቁ በኋላ ፋይሎቹን በትክክለኛው ቦታ ላይ ማዘጋጀት ይችላሉ።

sudo cp conf/project1-*. አገልግሎት/etc/systemd/system/

sudo systemctl ዳሞን-ዳግም ጫን sudo systemctl ጅምር ፕሮጀክት 1-* sudo systemctl ሁኔታ ፕሮጀክት 1-*

አሁን ይህንን የሚገኝ ማዘጋጀት አለብን

sudo cp conf/nginx/etc/nginx/sites-available/project1

sudo rm/etc/nginx/sites-enabled/default sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 sudo systemctl nginx.service sudo nginx -t ን እንደገና ያስጀምሩ

ሁሉም ነገር በጥሩ ሁኔታ ከሄደ በዚህ ትእዛዝ ሰላም ዓለም ሊኖርዎት ይገባል

wget -qO - localhost

ተከናውኗል! ደህና ፣ ያ ስርዓትዎን እንዲሠራ መፍቀድ ነው…

ደረጃ 1 ሃርድዌሩን ወደ ፒው ማገናኘት

ሃርድዌሩን ወደ ፒው ማገናኘት
ሃርድዌሩን ወደ ፒው ማገናኘት

BCM ን በመጠቀም

ኦዲዮ MAX98357A

  • BCK ወደ GPIO 18
  • ለጂፒዮ 21 መረጃ
  • LRCK ወደ GPIO 19

ብርሃን

  • ቀይ ወደ ጂፒኦ 17
  • አረንጓዴ ወደ ጂፒዮ 27
  • ሰማያዊ ወደ ጂፒዮ 22

የሞተር ሞዱል ULN2003

  • ፒፒ 1 ወደ ጂፒዮ 5
  • ፒፒ 2 ወደ ጂፒዮ 6
  • ፒን 3 ለጂፒዮ 13
  • ፒን 4 ለጂፒዮ 26

ማይክሮ

D0 ወደ ጂፒዮ 21

የአልትራሳውንድ ዳሳሽ

  • ወደ GPIO 16 ቀስቅሴ
  • ወደ GPIO 20 አስተጋባ

ደረጃ 2 ዋና ፕሮግራሞችን ኮድ መስጠት

እኔ እዚህ ዝርዝሮች ውስጥ አልገባኝም ነገር ግን በ github ውስጥ ኮዴን መፈተሽ ይችላሉ።

ለመጀመር የእኔን html እና css ፣ መረጃ ጠቋሚ ፣ መግቢያ ፣ መመዝገብ ፣ የመነሻ ማያ ገጽ ፣ ሙዚቃ ፣ ተጨማሪ ሙዚቃ ፣ ተጨማሪ ፣ ብርሃን ፣ ካሜራ ፣ የካሜራ ቅንጅቶች ፣ ዳሳሽ ፣ ዳሽቦርድ ገጽ አድርጌአለሁ። የኤችቲኤምኤል ፋይሎች በአብነቶች እና በ css ፋይሎች ውስጥ በስታቲክ/css አቃፊ ውስጥ መሆን አለባቸው። እንደፈለጉት css ን ሙሉ በሙሉ ማበጀት ይችላሉ።

ይህንን ክፍል ከሠሩ ፣ የእርስዎን ማሰሮ ማዘጋጀት ያስፈልግዎታል። Flask የሰላም ዓለምን ምሳሌ ብቻ ለመጠቀም ቀላል ነው

# መጀመሪያ አስመጪን ያስመጡ

ከእቃ ማስመጣት * @app.route ('/') def index (): render_template ('index.html') መመለስ

አሁን በእኔ ኮድ ውስጥ ይህ ቀድሞውኑ ተሞልቷል ፣ ማድረግ ያለብዎት ብቸኛው ነገር የውሂብ ጎታ ተጠቃሚውን እና የይለፍ ቃሉን ከእርስዎ መለወጥ እና እርስዎም በ github ውስጥ ሊያገኙት የሚችለውን ተመሳሳይ የውሂብ ጎታ ማድረግ ነው።

ደረጃ 3 የውሂብ ጎታውን መፍጠር

የውሂብ ጎታ መፍጠር
የውሂብ ጎታ መፍጠር

ለእውነተኛ አድናቂዎች እኔ ተመሳሳይ የውሂብ ጎታ እንዴት እንደሚፈጥሩ እነግርዎታለሁ።

ስለዚህ በመጀመሪያ ደረጃ ካልገቡ መጀመሪያ የውሂብ ጎታውን መፍጠር አለብን።

የውሂብ ጎታ beargardian መፍጠር;

አንዴ ይህንን ካደረጉ በጠረጴዛው ውስጥ በ mysql workbench ወይም phpadmin ውስጥ ጠረጴዛዎችን ይፈጥራሉ

የተጠቃሚ ሰንጠረዥ አለው

  • የተጠቃሚው መለያ
  • የመጀመሪያ ስም
  • ያባት ስም
  • ኢሜል
  • የአባት ስም
  • የይለፍ ቃል ከ sha1 ጋር
  • የተጠቃሚ አቃፊ
  • አጫዋች ሙዚቃ (int)
  • የጨዋታ ብርሃን (int)
  • የጨዋታ ቀረፃ (int)

የሙዚቃ ጠረጴዛ አለው

  • musicID
  • ዘፈን
  • መንገድ
  • የተጠቃሚ አቃፊ
  • ሁኔታ
  • መጠን

የመቅጃ ጠረጴዛ አለው

  • ID መቅዳት
  • መንገድ
  • የተጠቃሚ አቃፊ
  • ጊዜ
  • ቀን

የቀለም ጠረጴዛ አለው

  • colorID
  • ቀይ
  • አረንጓዴ
  • ሰማያዊ
  • ብሩህነት
  • የተጠቃሚው መለያ

የድብ ጠረጴዛ አለው

  • bearID (አስርዮሽ (8))
  • userID ነባሪ ባዶ ነው
  • የስም ስም

አነፍናፊ ሰንጠረዥ አለው

  • አነፍናፊ መታወቂያ
  • ርቀት
  • ማይክሮ
  • ድብድ
  • ጊዜ
  • ቀን
  • የእንቅልፍ ጊዜ

ስለዚህ አሁን የውሂብ ጎታውን በተሳካ ሁኔታ ፈጥረዋል ፣ ወደ ሃርድዌር እንሂድ።

ደረጃ 4: የሃርድዌር ኮድ መስጠት

እኔ ትንሽ ኮድ አሳይቼ ለምን እንደዚያ እንዳደረግኩ እነግርዎታለሁ።

እኔ ክር መጠቀምን ለመጀመር ፣ በዚህ ፕሮጀክት ውስጥ ምን ፍጹም መሆን አለበት። ክር ምንድን ነው ፣ እሺ ጥሩ ጥያቄ! በፓይዘን ውስጥ ጥሩ ማስፈራራት በአንድ ጊዜ ብዙ ፕሮግራሞችን ማካሄድ ነው። ስለዚህ ለምሳሌ ቀለሙን ከቀየሩ እርስዎም መቅዳት ይችላሉ። ለመጠቀም ቀላል ነው ፣ አይጨነቁ።

አስመጣ _threaddef function_name (የሆነ ነገር ፣ የሆነ ነገር_else): ለማሄድ ኮድ

_thread.start_new_thread (የተግባር_ስም ፣ tuple_w_functions_variables)

ፕሮግራሜን ከተመለከቱ logger.info ('…') አዩ። ይህ የህትመት ተግባር ግን በጣም የተሻለ ነው ፣ ምክንያቱም በ Pi ላይ ነገሮችን ማተም ስለማይችሉ ፋይል ሰርቼ እዚያ ውስጥ አተምዋለሁ። ኢዎ በዚህ ኮድ የምዝግብ ማስታወሻውን ፋይል ማዘጋጀት ይችላል።

logger = logging.getLogger (_ ስም _) logger.setLevel (logging. INFO) # የፋይል ተቆጣጣሪ ተቆጣጣሪ = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)

# የምዝግብ ማስታወሻ ቅርጸት ይፍጠሩ

formatter = logging. Formatter (' %(asctime) s - %(name) s - %(message) s') handler.setFormatter (formatter)

# አስተናጋጆቹን ወደ ምዝግብ ማስታወሻው ያክሉ

logger.addHandler (ተቆጣጣሪ)

logger.info ('ሃርድዌር ማስጀመር / n ----------------------------------------')

በተጨማሪ በኮዱ ራሱ ሁሉንም ነገር አብራራለሁ።

የሚመከር: