ዝርዝር ሁኔታ:
- ደረጃ 1: ደረጃ 1: ምን እፈልጋለሁ?
- ደረጃ 2 - ደረጃ 2 - የውሂብ ጎታ መርሃግብር ማዘጋጀት
- ደረጃ 3 - ደረጃ 3 - ኮድ መስጠት
- ደረጃ 4 - ደረጃ 4 - አል ኮዱን በእኔ Raspberry Pi ላይ ማድረግ
- ደረጃ 5 - ደረጃ 5 - መኖሪያ ቤት መሥራት።
- ደረጃ 6 - ደረጃ 6 - ሁሉንም ነገር በቤቱ ውስጥ ማስቀመጥ።
ቪዲዮ: Keysorter: 6 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
በአሁኑ ጊዜ NMCT ን በሃውስት እያጠናሁ ነው። ለመጨረሻው ሴሚስተራችን አንድ ፕሮጀክት መሥራት ነበረብን። ስለዚህ እኔ Keysorter ሠራሁ።
ምን ያደርጋል?
በቤት ውስጥ ብዙ የመኪና ቁልፎች አሉን እና ሁሉም ተመሳሳይ ናቸው። ስለዚህ ይህንን ጉዳይ ለመፍታት ቁልፍ ሰሪ አዘጋጅቻለሁ።
በ RFID በኩል በቁልፍ ውስጥ መቃኘት እና በሳጥኑ ውስጥ ቦታ መስጠት አለበት። ተመሳሳዩን ቁልፍ እንደገና ብቃኝ ቀደም ሲል የተመደበበትን ቦታ ያሳያል። እንዲሁም የመጨረሻውን የታጠበ መኪና ለማሳየት አንድ ቁልፍ አለ።
ይህ በፍላንክ በኩል አንድ ድረ -ገጽ የማከል አማራጭ ያለው በ Raspberry Pi ላይ ይሠራል።
በገጹ ላይ ሁሉንም ቁልፎች ማየት ፣ በቁልፍ ላይ ስም ማከል እና ቁልፍን ማስወገድ መቻል አለብኝ።
ደረጃ 1: ደረጃ 1: ምን እፈልጋለሁ?
ይህ ነገር እንዲሠራ የሚያስፈልጉኝን ክፍሎች ዝርዝር በማዘጋጀት ጀመርኩ።
ክፍሎች:
- Raspberry pi
- 2 x Shift መዝገብ (74hc595)
- 3 x አዝራር
- 9 x አረንጓዴ መሪ
- የ RFID ስካነር (MFRC522)
- 12 x resistor 220 ohm
ከዚያ ይህንን ሁሉ ወደ ፍርፋሪ እቅዴ ውስጥ አገባለሁ።
አንዴ ይህንን ካደረግሁ በእውነተኛ ህይወት ውስጥ አደረግሁት።
ደረጃ 2 - ደረጃ 2 - የውሂብ ጎታ መርሃግብር ማዘጋጀት
ሁሉንም የእኔን ውሂብ ለማስቀመጥ በእኔ ፒ ላይ ሊሠራ የሚችል የውሂብ ጎታ መፍጠር ነበረብኝ።
እኔ በ Mysql ውስጥ አደረግሁት።
የጠረጴዛ መኪና;
- የመኪና መታወቂያ
- የተጠቃሚው መለያ
- የምርት ስም (የመኪና ምልክት)
- ዓይነት
- የመጨረሻው ታጥቧል
- ቁልፍ
- RFID_ID
ደረጃ 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 - መኖሪያ ቤት መሥራት።
እንደገና ጥቅም ላይ ማዋል
መኖሪያ ቤቴን ለመሥራት እናቴ ርቃ የምትሄድበትን አሮጌ ቁም ሣጥን እጠቀም ነበር።
መሠረት
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 አንባቢውን እና የዳቦ ሰሌዳዎቹን ከጉዳዩ ጋር አጣበቅኩ።
እና እንደዚህ ነው ቁልፍ ሰሪ የሚያደርጉት!
የሚመከር:
በ Flick ውስጥ የጨዋታ ንድፍ በ 5 ደረጃዎች 5 ደረጃዎች
በ 5 ደረጃዎች ውስጥ በ Flick ውስጥ የጨዋታ ንድፍ -ፍሊክስ ጨዋታን በተለይም በእውነቱ እንደ እንቆቅልሽ ፣ የእይታ ልብ ወለድ ወይም የጀብድ ጨዋታ የመሰለ ቀላል መንገድ ነው።
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማስጠንቀቂያ ስርዓት - ደረጃዎች በደረጃ: 4 ደረጃዎች
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማንቂያ ስርዓት | ደረጃዎች በደረጃ-በዚህ ፕሮጀክት ውስጥ አርዱዲኖ UNO እና HC-SR04 Ultrasonic Sensor ን በመጠቀም ቀላል የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ዳሳሽ ወረዳ እቀዳለሁ። ይህ በአርዱዲኖ ላይ የተመሠረተ የመኪና ተገላቢጦሽ የማስጠንቀቂያ ስርዓት ለራስ ገዝ አሰሳ ፣ ሮቦት ሬንጅንግ እና ለሌላ ክልል አር
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 ደረጃዎች 3 ደረጃዎች
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 እርከኖች-በዚህ መመሪያ ውስጥ የሹንያፊትን ቤተመፃሕፍት በመጠቀም ከ Rasyaberry O/S ጋር Raspberry Pi 4 ላይ የፊት ለይቶ ማወቅን እናከናውናለን። ሹነፊታ የፊት መታወቂያ/ማወቂያ ቤተ -መጽሐፍት ነው። ፕሮጀክቱ ፈጣን የመለየት እና የማወቅ ፍጥነትን ለማሳካት ያለመ ነው
በ GameGo ላይ በ ‹GoGo› ላይ ማለቂያ ከሌላቸው ደረጃዎች ጋር የመሣሪያ ስርዓት - 5 ደረጃዎች (ከስዕሎች ጋር)
በ GameGo ላይ በ MakeGo Arcade የመጫወቻ ማዕከል ላይ ገደብ የለሽ ደረጃዎች ያለው የመሣሪያ ስርዓት - GameGo በ TinkerGen STEM ትምህርት የተገነባ የ Microsoft Makecode ተኳሃኝ የሆነ የሬትሮ ጨዋታ ተንቀሳቃሽ ኮንሶል ነው። እሱ በ STM32F401RET6 ARM Cortex M4 ቺፕ ላይ የተመሠረተ እና ለ STEM አስተማሪዎች ወይም የሬትሮ ቪዲዮ ጨዋታን መፍጠር መዝናናትን ለሚወዱ ሰዎች ብቻ የተሰራ ነው
ቀላል ደረጃዎች (DID Strip Lights በመጠቀም) DIY Vanity Mirror - 4 ደረጃዎች
DIY Vanity Mirror በቀላል ደረጃዎች (የ LED ስትሪፕ መብራቶችን በመጠቀም) - በዚህ ልጥፍ ውስጥ በ LED ሰቆች እገዛ የ DIY Vanity Mirror ን ሠራሁ። በእውነቱ አሪፍ ነው እና እርስዎም እነሱን መሞከር አለብዎት