ዝርዝር ሁኔታ:

Keysorter: 6 ደረጃዎች
Keysorter: 6 ደረጃዎች

ቪዲዮ: Keysorter: 6 ደረጃዎች

ቪዲዮ: Keysorter: 6 ደረጃዎች
ቪዲዮ: Immersion In The Spirit | The Foundations for Christian Living 6 | Derek Prince 2024, ሀምሌ
Anonim
ቁልፍ ተጫዋች
ቁልፍ ተጫዋች
ቁልፍ ተጫዋች
ቁልፍ ተጫዋች

በአሁኑ ጊዜ NMCT ን በሃውስት እያጠናሁ ነው። ለመጨረሻው ሴሚስተራችን አንድ ፕሮጀክት መሥራት ነበረብን። ስለዚህ እኔ Keysorter ሠራሁ።

ምን ያደርጋል?

በቤት ውስጥ ብዙ የመኪና ቁልፎች አሉን እና ሁሉም ተመሳሳይ ናቸው። ስለዚህ ይህንን ጉዳይ ለመፍታት ቁልፍ ሰሪ አዘጋጅቻለሁ።

በ RFID በኩል በቁልፍ ውስጥ መቃኘት እና በሳጥኑ ውስጥ ቦታ መስጠት አለበት። ተመሳሳዩን ቁልፍ እንደገና ብቃኝ ቀደም ሲል የተመደበበትን ቦታ ያሳያል። እንዲሁም የመጨረሻውን የታጠበ መኪና ለማሳየት አንድ ቁልፍ አለ።

ይህ በፍላንክ በኩል አንድ ድረ -ገጽ የማከል አማራጭ ያለው በ Raspberry Pi ላይ ይሠራል።

በገጹ ላይ ሁሉንም ቁልፎች ማየት ፣ በቁልፍ ላይ ስም ማከል እና ቁልፍን ማስወገድ መቻል አለብኝ።

ደረጃ 1: ደረጃ 1: ምን እፈልጋለሁ?

ደረጃ 1: ምን እፈልጋለሁ?
ደረጃ 1: ምን እፈልጋለሁ?
ደረጃ 1: ምን እፈልጋለሁ?
ደረጃ 1: ምን እፈልጋለሁ?

ይህ ነገር እንዲሠራ የሚያስፈልጉኝን ክፍሎች ዝርዝር በማዘጋጀት ጀመርኩ።

ክፍሎች:

  • Raspberry pi
  • 2 x Shift መዝገብ (74hc595)
  • 3 x አዝራር
  • 9 x አረንጓዴ መሪ
  • የ RFID ስካነር (MFRC522)
  • 12 x resistor 220 ohm

ከዚያ ይህንን ሁሉ ወደ ፍርፋሪ እቅዴ ውስጥ አገባለሁ።

አንዴ ይህንን ካደረግሁ በእውነተኛ ህይወት ውስጥ አደረግሁት።

ደረጃ 2 - ደረጃ 2 - የውሂብ ጎታ መርሃግብር ማዘጋጀት

ደረጃ 2 የውሂብ ጎታ መርሃግብር ማዘጋጀት
ደረጃ 2 የውሂብ ጎታ መርሃግብር ማዘጋጀት

ሁሉንም የእኔን ውሂብ ለማስቀመጥ በእኔ ፒ ላይ ሊሠራ የሚችል የውሂብ ጎታ መፍጠር ነበረብኝ።

እኔ በ Mysql ውስጥ አደረግሁት።

የጠረጴዛ መኪና;

  • የመኪና መታወቂያ
  • የተጠቃሚው መለያ
  • የምርት ስም (የመኪና ምልክት)
  • ዓይነት
  • የመጨረሻው ታጥቧል
  • ቁልፍ
  • RFID_ID

ደረጃ 3 - ደረጃ 3 - ኮድ መስጠት

ደረጃ 3 ኮድ መስጠት
ደረጃ 3 ኮድ መስጠት

ይህ ሁሉ ዝግጁ ሲሆን ኮድ መስጠት እጀምራለሁ።

በፓይዘን 3.5 ውስጥ ለአነፍናፊዬ ኮዱን በማዘጋጀት ጀመርኩ።

ኮዱን ለማውረድ እዚህ ጠቅ ያድርጉ።

ፕሮጀክቱን ለማጥበብ አገናኙን ይጠቀሙ።

ደረጃ 4 - ደረጃ 4 - አል ኮዱን በእኔ Raspberry Pi ላይ ማድረግ

ጥቅሎችን በመጫን ላይ

ይህንን ሥራ ለመሥራት የሚያስፈልጉኝን ሁሉንም ጥቅሎች በመጀመሪያ ጫንኩ።

እኔ@my-rpi: ~ $ sudo ተስማሚ ዝመና

እኔ@my-rpi: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3

ምናባዊ አካባቢ

እኔ@my-rpi: ~ $ python3 -m pip install --upgrade setuptools wheel virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system- ጣቢያ-ፓኬጆች እኔን@የእኔ-አርፒኤን ~ Flask-MySQL mysql-connector-Python passlib

ፒካርምን በመጠቀም ፕሮጀክቱን በ Pi ላይ ይስቀሉ

Pycharm ን ይክፈቱ እና ወደ VCS> ከሥሪት ቁጥጥር አስመጣ> Github ይሂዱ እና የ github ፋይልን ያጥሩ።

የማሰማራት ውቅሩን አሁን ባደረጉት ማውጫ ላይ ያድርጉት። (/ቤት/እኔ/ፕሮጀክት 1)። ይጫኑ ተግብር!

ወደ ተርጓሚ ቅንብሮች ይሂዱ እና አሁን ያደረጉትን ምናባዊ አካባቢ ይምረጡ። (/ቤት/እኔ/ፕሮጀክት 1/env/bin/pyhon)

የመንገድ ካርታ ትክክለኛ ከሆነ ያረጋግጡ።

አሁን Pycharm ን በመጠቀም ኮዱን ወደ ማውጫዎ መስቀል ይችላሉ።

የውሂብ ጎታ

የመረጃ ቋቱ እየሰራ መሆኑን ያረጋግጡ። እንደዚህ ያለ ነገር ማግኘት አለብዎት-

እኔ@my -rpi: ~ $ sudo systemctl status mysql ● mariadb.service - MariaDB የውሂብ ጎታ አገልጋይ ተጭኗል: ተጭኗል (/lib/systemd/system/mariadb.service; ነቅቷል ፤ የአቅራቢ ቅድመ -ቅምጥ: ነቅቷል) ንቁ: ንቁ (ከሩቅ) ጀምሮ 2018-06-03 09:41:18 CEST; ከ 1 ቀን ከ 4 ሰዓት በፊት ዋናው PID: 781 (mysqld) ሁኔታ “አሁን የ SQL ጥያቄዎችዎን መውሰድ…” ተግባራት 28 (ገደብ 4915) ቡድን//system.slice/mariadb.service └─781/usr/sbin/mysqld

ጁን 03 09:41:13 my-rpi systemd [1]: MariaDB የመረጃ ቋት አገልጋይ በመጀመር ላይ… Jun 03 09:41:15 my-rpi mysqld [781]: 2018-06-03 9:41:15 4144859136 [ማስታወሻ] / usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) Jun 03 09:41:18 my-rpi systemd [1]: ማሪያ ዲቢ የመረጃ ቋት አገልጋይ ተጀመረ።

እኔ@my -rpi: ~ $ ss -lt | grep mysql LISTEN 0 80 127.0.0.1:mysql *: *

ተጠቃሚዎችን ይፍጠሩ እና የውሂብ ጎታውን ያክሉ

እኔ@my-rpi: ~ $ sudo mariadb

አንዴ በመረጃ ቋቱ ውስጥ ከገቡ ይህንን ያድርጉ።

'ተጠቃሚ1' ፕሮጀክት 1-አስተዳዳሪ '@' localhost 'በ' adminpassword 'ተለይቶ ፣ ተጠቃሚን' ፕሮጀክት 1-ድር '@' አካባቢያዊ መንፈስ 'በ' የድር የይለፍ ቃል 'ለይቶ ፤ በ ‹አነፍናፊ የይለፍ ቃል› ተለይቶ የሚታወቅ ተጠቃሚ ‹ፕሮጀክት1-አነፍናፊ›@‹localhost› ን ለይቶ ማወቅ ፤

የውሂብ ጎታ ፕሮጀክት ፍጠር 1;

በፕሮጀክት 1 ላይ ሁሉንም መብቶች ይስጡ። ስጦታ ይስጡ ፣ ያስገቡ ፣ ያዘምኑ ፣ በፕሮጀክት 1 ላይ ይሰርዙ። ስጦታ ይስጡ ፣ ያስገቡ ፣ ያዘምኑ ፣ በፕሮጀክት 1 ላይ ይሰርዙ። የፍላጎት ግኝቶች;

ሰንጠረዥ ፍጠር 'ተጠቃሚ' ('idUser` int (11) NotULUL,' Password 'varchar (45) DEFAULT NULL, PRIMARY ቁልፍ (' idUser`)) ENGINE = InnoDB DEFAULT CHARSET = utf8

TABLE 'መኪና' ('idCar` int (11) አይደለም NULL AUTO_INCREMENT ፣' idUser` int (11) NOT NULL ፣ 'Brand` varchar (45) DEFAULT NULL ፣' Type` varchar (45) DEFAULT NULL ፣ 'LastWashed') datetime DEFAULT NULL ፣ 'RFID_Number` varchar (15) DEFAULT NULL ፣' Key` varchar (5) DEFAULT NULL ፣ PRIMARY KEY ('idCar` ፣' IDUser ') ፣ ቁልፍ' fk_Car_User1_idx` ('IDUser' ') የውጭ ቁልፍ (“ፈላጊ”) ማጣቀሻዎች “ተጠቃሚ” (“ፈላጊ”) በማዘመን ላይ ምንም እርምጃ የለም እርምጃ) ENGINE = INNDB AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8

የውሂብ ጎታዎን ከ Pycharm ጋር ያገናኙ

በቀኝ በኩል ባለው የውሂብ ጎታ ትር ላይ ጠቅ ያድርጉ። ትር የሚከፈተው ከሌለዎት ይህንን ያድርጉ - ይመልከቱ> መሣሪያ ዊንዶውስ> የውሂብ ጎታ።

ግንኙነት አክልን ጠቅ ያድርጉ። የውሂብ ምንጭ> MySQL ን ይምረጡ (አንድ አዝራር አውርድ ሾፌር ይጫኑት።)

ወደ SSH/SSL ይሂዱ እና SSH ን ይፈትሹ። የእርስዎን Raspberry pi ምስክርነቶች (አስተናጋጅ/ተጠቃሚ/የይለፍ ቃል) ይሙሉ። ወደብ 22 መሆን አለበት እና የይለፍ ቃሉን ያስታውሱ የሚለውን ማረጋገጥ አይርሱ።

ወደ ጄኔራል ተመለስ። አስተናጋጅ አካባቢያዊ መንፈስ መሆን እና የውሂብ ጎታ ፕሮጀክት 1 መሆን አለበት። ግንኙነቱን ለመፈተሽ ከፕሮጀክት 1-አስተዳዳሪ የምስክር ወረቀቶችን ይሙሉ።

ግንኙነቱ ደህና ከሆነ ወደ ትሩ መርሃግብሮች ይሂዱ እና ፕሮጀክት 1 መፈተሹን ያረጋግጡ።

የመረጃ ቋቱ ትክክል ከሆነ ያረጋግጡ

እኔ@my-rpi: ~ $ echo 'ማሳያ ሰንጠረ;ች;' | mysql project1 -t -u project1-admin -p የይለፍ ቃል ያስገቡ- + --------------------------- + | ጠረጴዛዎች_በፕሮጀክት1 | + ---------------------------+ | ዳሳሽ | | ተጠቃሚዎች | +---------------------------+

የማዋቀሪያ ፋይሎች

በማውጫው conf ውስጥ 4 ፋይሎችን ያገኛሉ። የተጠቃሚ ስሞችን ወደ የተጠቃሚ ስምዎ መለወጥ አለብዎት።

በስርዓት

ሁሉንም ነገር ለመጀመር እነዚህን ትዕዛዞች መፈጸም አለብዎት።

እኔ@my-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/

እኔ@my-rpi: ~/project1 $ sudo systemctl ዳሞን-ዳግም ጫንልኝ@my-rpi: ~/project1 $ sudo systemctl start project1-* me@my-rpi: ~/project1 $ sudo systemctl status project1-* ● project1- flask.service-uWSGI ለምሳሌ የፕሮጀክት 1 የድር በይነገጽን ለማገልገል ተጭኗል-ተጭኗል (/etc/systemd/system/project1-flask.service ፤ ተሰናክሏል ፤ የአቅራቢ ቅድመ-ቅምጥ: ነቅቷል) ከገበያ 2018-06-04 13 ጀምሮ ንቁ: ንቁ (እየሮጠ) 14:56 CEST; ከ 1 ዎች በፊት ዋናው ፒአይዲ 6618 (uwsgi) ተግባራት 6 (ገደብ 4915) ቡድን//system.slice/project1-flask.service ├─6618/usr/bin/uwsgi --ini/home/me/project1/conf/ uwsgi-flask.ini ├─6620/usr/bin/uwsgi --ini /home/me/project1/conf/uwsgi-flask.ini ├─6621/usr/bin/uwsgi --ini/home/me/project1/ conf/uwsgi-flask.ini ├─6622/usr/bin/uwsgi --ini /home/me/project1/conf/uwsgi-flask.ini ├─6623/usr/bin/uwsgi --ini/home/me/ ፕሮጀክት 1/conf/uwsgi-flask.ini └─6624/usr/bin/uwsgi --ini /home/me/project1/conf/uwsgi-flask.ini

ጁን 04 13:14:56 my-rpi uwsgi [6618]: ካርታ 383928 ባይቶች (374 ኪባ) ለ 5 ኮር (ጁን)

● project1-sensor.service-ፕሮጀክት 1 አነፍናፊ አገልግሎት ተጭኗል (/etc/systemd/system/project1-sensor.service; ተሰናክሏል ፤ የአቅራቢ ቅድመ-ቅምጥ: ነቅቷል) ንቁ: ንቁ (ሩጫ) ከሰኔ 2018-06-04 13: 16:49 CEST; ከ 5 ዎች በፊት ዋናው ፒአይዲ: 6826 (ፓይዘን) ተግባራት 1 (ገደብ 4915) ቡድን//ስርዓት.slice/project1-sensor.service └─6826/home/me/project1/env/bin/python/home/me/project1 /ዳሳሽ/ዳሳሽ

ጁን 04 13:16:49 my-rpi systemd [1]: ፕሮጀክት 1 ዳሳሽ አገልግሎት ተጀመረ። ጁን 04 13:16:49 my-rpi python [6826]: DEBUG: _ main _: የተቀመጠ ዳሳሽ process_count = b'217 / n 'ወደ የመረጃ ቋት Jun 04 13:16:55 my-rpi python [6826]: ደብል: _ main_: የተቀመጠ ዳሳሽ process_count = b'218 / n 'ወደ የውሂብ ጎታ

nginx

እኔ@my-rpi: ~/project1 $ ls -l/etc/nginx/sites-*

/etc/nginx/sites-available: total 4 -rw-r-r-- 1 root root 2416 Jul 12 2017 default

/etc/nginx/sites-enabled: ጠቅላላ 0 lrwxrwxrwx 1 root root 34 ጃን 18 13:25 ነባሪ->/etc/nginx/sites-available/default

ሁሉንም ነገር ነባሪ ለማድረግ እነዚህን ትዕዛዞች ያስፈጽሙ።

እኔ@my-rpi: ~/project1 $ sudo cp conf/nginx/etc/nginx/sites-available/project1me@my-rpi: ~/project1 $ sudo rm/etc/nginx/sites-enabled/default me@my- rpi: ~/project1 $ sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 me@my-rpi: ~/project1 $ sudo systemctl nginx.service ን እንደገና ያስጀምሩ

ራስ -አጀማመር

ሁሉም ነገር በራስ -ሰር መጀመሩን እናረጋግጥ።

ወደ conf ማውጫ ይሂዱ እና እነዚህን የመጨረሻ ትዕዛዞች ያስፈጽሙ እና ጨርሰዋል!

እኔ@my-rpi: ~/project1 $ sudo systemctl ፕሮጀክት ያንቁ 1-*

የእርስዎን ፒ ዳግም ካስነሱ በራስ -ሰር መጀመር አለበት።

ደረጃ 5 - ደረጃ 5 - መኖሪያ ቤት መሥራት።

ደረጃ 5 መኖሪያ ቤት መሥራት።
ደረጃ 5 መኖሪያ ቤት መሥራት።
ደረጃ 5 መኖሪያ ቤት መሥራት።
ደረጃ 5 መኖሪያ ቤት መሥራት።
ደረጃ 5 መኖሪያ ቤት መሥራት።
ደረጃ 5 መኖሪያ ቤት መሥራት።
ደረጃ 5 መኖሪያ ቤት መሥራት።
ደረጃ 5 መኖሪያ ቤት መሥራት።

እንደገና ጥቅም ላይ ማዋል

መኖሪያ ቤቴን ለመሥራት እናቴ ርቃ የምትሄድበትን አሮጌ ቁም ሣጥን እጠቀም ነበር።

መሠረት

4 ሳንቆችን አየሁ (34 ሴ.ሜ x 26 ሴ.ሜ)። (ስለዚህ ከ 34 x 34 x 26 የሆነ ኩብ ነው)።

ከታች በኩል እንደ አንድ ቀጭን እንጨትን ጨመርኩ።

ከመሪ ጋር ቦርድ

በመሃል ላይ በሁለቱም በኩል 2 ትናንሽ እንጨቶችን ከላይ ከ 9 ሴንቲ ሜትር ላይ አስቀምጫለሁ። ይህ መሪዎቹ የሚቀመጡበትን ሰሌዳ ይይዛል።

ከመሪው ጋር ያለው ሰሌዳ ትንሽ ሰሌዳ (32 ሴ.ሜ x 32 ሴ.ሜ) ነው።

መሪዎቹ እንዲወጡ 9 ጉድጓዶችን ቆፍሬያለሁ።

መከፋፈል

ክፍሉን እንደ ታችኛው እና ቦርዱ በእርሳስ ተመሳሳይ ቁሳቁስ አድርጌአለሁ።

እያንዳንዳቸው 4 ቁርጥራጮች በ 10.3 ሴ.ሜ (9 ሴ.ሜ x 31 ሴ.ሜ)። አሁን እነሱን አንድ ላይ ማዋሃድ ችያለሁ።

አዝራሮች እና የ RFID አንባቢ

የእኔን የ RFID አንባቢ እና አዝራሮችን ለማስገባት ከመሠረቱ ውስጥ ቀዳዳ ሠራሁ። ለ RFID ን ንፁህ እንዲመስል ከፊት ለፊቱ አንድ ቀጭን ሰሌዳ አኖራለሁ።

ደረጃ 6 - ደረጃ 6 - ሁሉንም ነገር በቤቱ ውስጥ ማስቀመጥ።

ይህ እንዴት ማድረግ እንደሚፈልጉ ላይ የተመሠረተ ነው። የእኔን Raspberry Pi እንደገና መጠቀም መቻል ስለምፈልግ እኔ በግሌ ብዙ ኬብሎችን ያለ ብየዳ እጠቀም ነበር።

የመሪዎቹን በቦታው አጣበቅኩ እና የ RFID አንባቢውን እና የዳቦ ሰሌዳዎቹን ከጉዳዩ ጋር አጣበቅኩ።

እና እንደዚህ ነው ቁልፍ ሰሪ የሚያደርጉት!

የሚመከር: