π· Π£ΡΠΈΠΌ Raspberry Pi ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ ΠΌΠ°ΡΠΊΡ Π½Π° Π»ΠΈΡΠ΅
Π Π°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π° Π±Π°Π·Π΅ Raspberry Pi Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΊΠΈ Π½Π° Π»ΠΈΡΠ΅ Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠ΅ΠΉ Π·ΡΠΌΠΌΠ΅ΡΠ°. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ°Π½Π΄Π΅ΠΌΠΈΠΈ ΠΊΠΎΡΠΎΠ½Π°Π²ΠΈΡΡΡΠ° ΡΡΠΎ Π±ΡΠ΄ΠΆΠ΅ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°ΠΌ.
ΠΠ΄Π½Π° ΠΈΠ· Ρ ΡΠ΄ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΉ Π² ΠΌΠΈΡΠ΅ β ΡΡΠΎΡΡΡ Π½Π° Π²Ρ ΠΎΠ΄Π΅ Π² ΡΠΎΡΠ³ΠΎΠ²ΠΎΠΌ ΡΠ΅Π½ΡΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π»ΡΠ΄ΡΠΌ Π½Π°Π΄Π΅ΡΡ ΠΌΠ°ΡΠΊΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Raspberry Pi.
ΠΡΠ΄ΠΆΠ΅ΡΠ½ΡΠΉ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ, Π½Π°Π΄Π΅Π»ΠΈ Π²Ρ ΠΌΠ°ΡΠΊΡ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» Π²Π΄ΠΎΡ Π½ΠΎΠ²Π»Π΅Π½ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· ΡΠΎΡΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π½ΡΡΠ° Π² ΠΠ·ΠΈΠΈ, Π³Π΄Π΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π²Π΅ΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Ρ ΠΌΠ°ΡΠΊΠΈ Π½Π° Π»ΠΈΡΠ΅.
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΎΠΊ Π½Π° Raspberry Pi
ΠΠΎΠ³Π΄Π° ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π΅ΡΡΡ ΠΊ Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅ΡΠ΅, ΠΊΠΎΠ΄ Π½Π° Python ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π½Π°Π΄Π΅Π» ΠΎΠ½ ΠΌΠ°ΡΠΊΡ ΠΈΠ»ΠΈ Π½Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ TensorFlow, OpenCV ΠΈ imutils. ΠΡΠ΄ΠΈ Π±Π΅Π· ΠΌΠ°ΡΠΎΠΊ Π±ΡΠ΄ΡΡ ΠΎΠ±Π²Π΅Π΄Π΅Π½Ρ Π² ΠΊΡΠ°ΡΠ½ΡΡ ΡΠ°ΠΌΠΊΡ Ρ Π½Π°Π΄ΠΏΠΈΡΡΡ Β«ΠΠ°ΡΠΊΠ° Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π°Β» (No Face Mask Detected), Π° Π»ΠΈΡΠ° Π² ΠΌΠ°ΡΠΊΠ°Ρ ΠΎΠΊΠ°ΠΆΡΡΡΡ Π² Π·Π΅Π»Π΅Π½ΠΎΠΉ ΡΠ°ΠΌΠΊΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ Β«Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ. ΠΠ°ΡΠΊΠ° Π½Π°Π΄Π΅ΡΠ°Β» (Thank You. Mask On.).
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΠΉΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠΎΠΊ Π½Π° Raspberry Pi?
ΠΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΡΠ°ΠΏΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ‘ Raspberry Pi, Π·Π°ΠΉΠΌΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 5 ΡΠ°ΡΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ ΡΠΈΡΠ°Π»ΠΈ ΡΡΠ°ΡΡΡ Β«Π£ΡΠΈΠΌ Raspberry Pi ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π»ΠΈΡΒ», ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠΎΡΠ° ΡΠ°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ OpenCV ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΡΡΠ°Π·Ρ ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΎΠΊ Π½Π° Raspberry Pi.
Π§ΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ
- Raspberry Pi 3 ΠΈΠ»ΠΈ 4 (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Raspberry Pi Zero W Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ);
- ΠΠ°ΡΡΠ° microSD Π½Π° 16GB ΠΈΠ»ΠΈ Π²ΡΡΠ΅ Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΠΠ‘ Raspberry Pi;
- ΠΠ»ΠΎΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ/ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°/ΠΌΡΡΡ/ΠΌΠΎΠ½ΠΈΡΠΎΡ/HDMI ΠΊΠ°Π±Π΅Π»Ρ (Π΄Π»Ρ Raspberry Pi);
- USB Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅ΡΠ°;
- ΠΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ: ΡΠ°ΡΡΠΊΡΠΈΠ½ 7β Raspberry Pi;
- ΠΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ: ΡΠ΅Ρ ΠΎΠ» Π΄Π»Ρ ΡΠ°ΡΡΠΊΡΠΈΠ½Π° Pi.
ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π³Π°ΠΉΠ΄Π° ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅.
Π§Π°ΡΡΡ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠ° ΠΌΠ°ΡΠΎΠΊ Π½Π° Raspberry Pi
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ OpenCV, imutils ΠΈ TensorFlow.
- OpenCV β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ;
- Imutils β ΡΡΠΎ ΡΠ΅ΡΠΈΡ ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ OpenCV Π½Π° Raspberry Pi;
- TensorFlow β ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Raspberry Pi Ρ ΠΊΠ°ΡΡΡ microSD.
2. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅ΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ΄ΠΈΠ½ ΠΈΠ· USB-ΠΏΠΎΡΡΠΎΠ² Π½Π° Π²Π°ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π»ΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Raspberry Pi Π²ΠΌΠ΅ΡΡΠΎ Π²Π΅Π±ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π»Π΅Π½ΡΠΎΡΠ½ΡΠΉ ΠΊΠ°Π±Π΅Π»Ρ. ΠΠ°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ Raspberry Pi.
Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² ΠΈ Π·ΡΠΌΠΌΠ΅ΡΠ°. ΠΠ΅Π»Π°ΡΡ ΡΡΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
3. ΠΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅ΡΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ Pi, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π΅Π΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Raspberry Pi (Camera: Enable). ΠΠ°ΠΆΠΌΠΈΡΠ΅ OK ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
4. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡ Ctrl+T.
5. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ OpenCV. ΠΡΠΎ Π·Π°ΠΉΠΌΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 2-Ρ ΡΠ°ΡΠΎΠ². ΠΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Β«Π£ΡΠΈΠΌ Raspberry Pi ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π»ΠΈΡΒ». ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
6. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ TensorFlow. ΠΡΠΎ Π·Π°Π½ΡΠ»ΠΎ Ρ ΠΌΠ΅Π½Ρ 5-10 ΠΌΠΈΠ½ΡΡ.
7. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ imutils. ΠΠ°ΠΉΠΌΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ ΠΌΠΈΠ½ΡΡΡ.
Π§Π°ΡΡΡ 2: Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠΊΠΈ (ΡΡΠΊΠΎΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄)
Π ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΌΡ ΠΏΡΠΎΠΏΡΡΡΠΈΠΌ ΡΡΠ°ΠΏ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Π»ΠΈΡΠΈΡ ΠΌΠ°ΡΠΊΠΈ Π½Π° Π»ΠΈΡΠ΅.
1. ΠΡΠΊΡΠΎΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡ Ctrl+T.
2. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠ΄ Ρ GitHub.
3. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ 1000 ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ. Π ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ (cd) Π½Π° ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ· GitHub.
4. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ Python 3, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΎΠΊ.
Π ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΠ½Π΄ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅ΡΡ Ρ Π·Π΅Π»Π΅Π½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΎΠΉ, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅ΠΉ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΌΠ°ΡΠΊΠΈ.
ΠΠ»ΠΈ Ρ ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΎΠΉ, Π΅ΡΠ»ΠΈ ΠΌΠ°ΡΠΊΠ° Π½Π΅ Π½Π°Π΄Π΅ΡΠ°.
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΌΠ°ΡΠΊΠ°ΠΌΠΈ, Π½Π°Π΄Π΅Π²Π°Ρ ΠΈΡ , ΠΊΠ°ΠΊ Π²Π°ΠΌ ΡΠ³ΠΎΠ΄Π½ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°ΡΠΊΠ°, ΡΠ²ΠΈΡΠ°ΡΡΠ°Ρ Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΡ Π° ΠΈΠ»ΠΈ Π½Π΅ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠ°Ρ Π½ΠΎΡ).
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Esc, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ.
Π§Π°ΡΡΡ 3: ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΊΠΈ (ΠΠΎΠ»Π³ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄)
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ ΠΌΠ°ΡΠΊΠΈ Π½Π° Π»ΠΈΡΠ΅ Π·Π°ΠΏΡΡΠ΅Π½, Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅: βΠ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?β
ΠΠ»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ detect_mask_webcam.py
, Π±ΡΠ»ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ ΡΠ²ΡΡΠ΅ ΡΡΡΡΡΠΈ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ.
Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΡΠΎ, ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
Π‘Π½ΠΈΠΌΠΊΠΈ Π±ΡΠ»ΠΈ ΡΠ°Π·Π±ΡΠΎΡΠ°Π½Ρ ΠΏΠΎ 2-ΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ Π²Π½ΡΡΡΠΈ dataset, with_mask (Π² ΠΌΠ°ΡΠΊΠ΅) ΠΈ without_mask (Π±Π΅Π· ΠΌΠ°ΡΠΊΠΈ), Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π» ΠΌΠΎΠ΄Π΅Π»Ρ mask vs. no mask (Π΅ΡΡΡ ΠΌΠ°ΡΠΊΠ° / Π½Π΅Ρ ΠΌΠ°ΡΠΊΠΈ) Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ . ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ Π² ΠΏΠ°ΠΏΠΊΠ΅ dataset, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ Ρ GitHub, ΡΡΠΎ ΠΌΠΎΠΈ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ.
Π ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΡΡΠΈ ΡΠΎΡΠΎ ΠΌΡ Π±Ρ ΠΎΠ±ΡΡΠ°Π»ΠΈ Π½Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Π³ΠΎ 20 ΡΠ½ΠΈΠΌΠΊΠΎΠ²? Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ Python 3 ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ face_mask_detection Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅ΡΡ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΈΠ· 20 ΡΠΎΡΠΎ.
Π§Π΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π·Π΅Π»Π΅Π½ΡΡ ΠΈΠ»ΠΈ ΠΊΡΠ°ΡΠ½ΡΡ ΡΠ°ΠΌΠΊΡ. Π‘ΡΠ°Π½Π΅Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΡΠ½Π°Ρ.
ΠΠ°ΠΊ ΠΎΠ±ΡΡΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΊΠΈ Π½Π° Raspberry Pi ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ
ΠΠΈΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΎΡΠΎ.
ΠΠ° Π²Π°ΡΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ dataset Π²Π½ΡΡΡΠΈ face_mask_detection Π½Π°ΠΉΠ΄ΠΈΡΠ΅ Π΄Π²Π΅ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ: with_mask ΠΈ without_mask.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° Π²Π°ΡΠΈΡ ΡΠ½ΠΈΠΌΠΊΠ°Ρ (ΡΠ΅Π»ΡΠΈ), ΠΏΡΠΎΡΡΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ΄Π° ΡΠ²ΠΎΠΈ ΡΠΎΡΠΎ ΠΈ ΡΠΎΡΠΎ ΡΠ»Π΅Π½ΠΎΠ² ΡΠ΅ΠΌΡΠΈ.
Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠΎΡΠΎ Π½Π° Raspberry Pi
1. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡ Ctrl+T.
2. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΠΏΠ°ΠΏΠΊΡ face_mask_detection.
3. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ Python, ΡΡΠΎΠ±Ρ ΡΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΠΌΠ°ΡΠΊΠΈ ΠΈ Π±Π΅Π·.
4. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΡΠΎΠ±Π΅Π», ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ.
5. ΠΠ°ΠΊ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅, Π½Π°ΠΆΠΌΠΈΡΠ΅ q.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠΎΡΠΎ Π² Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ: with_mask ΠΈ without_mask. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ. ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅, ΡΡΠΎ ΠΌΠΎΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π½Π΅ ΡΠ°ΠΊΠ°Ρ, ΠΊΠ°ΠΊ Ρ ΡΡΠ°ΡΠΈΠΎΠ½Π°ΡΠ½ΠΎΠ³ΠΎ. Raspberry Pi ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠΎ ΠΈΠ·-Π·Π° Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΠΠ£. ΠΠ° Raspberry Pi 4 8GB ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠΊΠΎΠ»ΠΎ 1000 ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ, Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°Π½ΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ 2-Ρ ΡΠ°ΡΠΎΠ².
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΊΠΈ Π½Π° Raspberry Pi
ΠΡΠΈΡΡΡΠΏΠ°Π΅ΠΌ ΠΊ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ dataset, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ Π½Π°Π΄ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠΎ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ train_mask_detector.py
, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ»Π°ΡΡ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΠ°ΠΌΡΡΠΈ.
1. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΡΠ΅ΡΠ΅Π· Ctrl+T.
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ sklearn ΠΈ matplotlib Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
3. ΠΠ±ΡΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Ρ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΡΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ dataset, ΡΠ΅ΠΌ Π΄ΠΎΠ»ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ΄ΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΠ»ΠΈ Π²ΡΡΠΊΠΎΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ° βout of memoryβ (Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΠΌΡΡΠΈ), ΡΠΌΠ΅Π½ΡΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ Π² ΠΏΠ°ΠΏΠΊΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° Python.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ 1000 ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΠΎΡΠ½ΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ 2-Ρ ΡΠ°ΡΠΎΠ²
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ 20 ΡΠΎΡΠΎ, ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎΡΡΠ°Π²ΠΈΠ» 67%.
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ face_mask_detector: my_mask_detector.model
.
4. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΠΎ ΠΌΠ½Π΅Π½ΠΈΡ Pi. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ mymodelplot.png
ΠΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΡΡΠΈ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΊΠΈ Π½Π° Raspberry Pi
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠ±ΡΡΠ΅Π½Π°, ΠΏΡΠΈΡΡΡΠΏΠ°Π΅ΠΌ ΠΊ ΡΠ΅ΡΡΡ!
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΎΡ ΠΆΠ΅ ΡΠΊΡΠΈΠΏΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π²Π°ΡΡ.
Π ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅:
Π§Π°ΡΡΡ 4: ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² ΠΈ Π·ΡΠΌΠΌΠ΅ΡΠ°
ΠΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠ° ΠΌΠ°ΡΠΊΠΈ Π½Π° Π»ΠΈΡΠ΅ ΠΎΠ±ΡΡΠ΅Π½Π°, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π²Π»Π΅ΡΡΡΡ.
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π·ΡΠΌΠΌΠ΅Ρ ΠΈ 2 ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Ρ ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΌΠ°ΡΠΊΠΈ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°Π³Π° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ:
- ΠΌΠ°Π»Π°Ρ ΠΌΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ°;
- 2 ΡΠ΅Π·ΠΈΡΡΠΎΡΠ° 330 ΠΠΌ;
- 1 ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄;
- 2 Π·Π΅Π»Π΅Π½ΡΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°;
- 1 Π·ΡΠΌΠΌΠ΅Ρ.
1. ΠΡΠΎΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ ΠΈ Π·ΡΠΌΠΌΠ΅Ρ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅ (Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ GPIO Π½Π° Pi).
a. ΠΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ GPIO14;
b. ΠΠ΅Π»Π΅Π½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ GPIO15;
c. ΠΡΠΌΠΌΠ΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ GPIO 21;
d. ΠΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ GND ΠΊ GND Π½Π° Π²Π°ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΠ΅.
2. ΠΡΠΎΡΠ΅ΡΡΠΈΡΡΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠ² ΠΈ Π·ΡΠΌΠΌΠ΅ΡΠ°, Π·Π°ΠΏΡΡΡΠΈΠ² LED-buzzer.py. ΠΡΠΊΡΠΎΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄:
ΠΡΠ»ΠΈ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ ΠΌΠΎΡΠ³Π°ΡΡ ΠΈ Π·ΡΠΌΠΌΠ΅Ρ ΠΈΠ·Π΄Π°Π΅Ρ Π·Π²ΡΠΊ, Π·Π½Π°ΡΠΈΡ Ρ Π²Π°Ρ Π²ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΊΡ.
3. ΠΡΠ»ΠΈ Π·ΡΠΌΠΌΠ΅Ρ Π½Π΅ Π·Π°ΠΌΠΎΠ»ΡΠ°Π» ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Ctrl+C, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ LED-buzzer-OFF.py
, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π·Π²ΡΠΊ ΡΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌΠΈ.
4. ΠΡΠΎΡΠ΅ΡΡΠΈΡΡΠΉΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΊΠΈ Π½Π° Raspberry Pi Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
ΠΡΠ»ΠΈ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ, ΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡ ΡΠ²ΠΈΠ΄ΠΈΡ Π½Π°Π΄Π΅ΡΡΡ ΠΌΠ°ΡΠΊΡ, Π·Π°Π³ΠΎΡΠΈΡΡΡ Π·Π΅Π»Π΅Π½ΡΠΉ ΡΠ²Π΅Ρ. ΠΡΠ»ΠΈ ΠΌΠ°ΡΠΊΠΈ Π½Π° Π»ΠΈΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ, Π·Π°Π³ΠΎΡΠΈΡΡΡ ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ Π² ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° Π·ΡΠΌΠΌΠ΅ΡΠ°.
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π±Π΅Π·Π³ΡΠ°Π½ΠΈΡΠ½Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π·Π°Π³ΡΡΠΆΠ°Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΡΠΎ, ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Ρ/ΡΠ»ΡΠ·Ρ, ΠΊΠΎΠ³Π΄Π° Π½Π° Π»ΠΈΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΌΠ°ΡΠΊΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΡ ΠΈΠ΄Π΅Ρ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΈΡΠ΅ΠΌ ΠΈΠ· ΡΡΠ°ΡΡΠΈ Β«Π£ΡΠΈΠΌ Raspberry Pi ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π»ΠΈΡΒ» ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΎΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΊΡΠΎ-ΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π±Π΅Π· ΠΌΠ°ΡΠΊΠΈ.
ΠΠ°ΠΊ Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Python ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ?
Π ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ ΡΡΠ΅Π΄ΠΈ Π΄ΠΆΡΠ½ΠΎΠ², ΠΏΠΎΠΉΡΠΈ ΡΡΠΈΡΡΡΡ Π½Π° ΠΊΡΡΡΡ Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»ΡΠΌΠΈ β ΡΠ°ΠΌΡΠΉ ΠΏΡΠ°Π³ΠΌΠ°ΡΠΈΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π±ΡΡΡΡΠΎ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ²ΠΎΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ 5 ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ. ΠΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΡΠΎΠ²Π΅ΡΠ°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄Π±ΠΎΠ΄ΡΠΈΡ ΠΈΠ»ΠΈ Π΄Π°ΡΡ Β«Π²ΠΎΠ»ΡΠ΅Π±Π½ΠΎΠ³ΠΎΒ» ΠΏΠΈΠ½ΠΊΠ°.
ΠΠ° ΠΊΡΡΡΠ΅ Β«ΠΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° PythonΒ» Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ Π²Ρ Π½Π°ΡΡΠΈΡΠ΅ΡΡ:
- ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π΄Π²ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β PyCharm ΠΈ Jupyter Notebook;
- ΠΏΠ°ΡΡΠΈΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ;
- ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΡΠΎΠ² Π΄Π»Ρ Telegram ΠΈ Instagram;
- ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°;
- ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄.
ΠΠ»ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ 5 ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ.