Proektor & ByteBoss
ΠΡΠΈΠ²Π΅Ρ, ΠΡΠΎΠ΅ΠΊΡΠΎΡ, Π²ΠΎΡ ΡΡΠΎ Ρ Π΄ΡΠΌΠ°Ρ: Ρ
ΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡΠΎΠΌ β Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅/Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠΊΡΡ, ΡΠ΄Π²ΠΈΠ³ Π»ΠΈΠ½Π· β ΠΏΠΎ ΡΠ΅ΡΠΈ. ΠΠ°ΠΊΠΈΠ΅ Ρ ΡΠ΅Π±Ρ ΠΌΡΡΠ»ΠΈ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΌΠ΅Π½Π΅Π΅ 200 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄?
ΠΠΎΠ½Π΅ΡΠ½ΠΎ! ΠΠ»Ρ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ Ρ Π±Ρ Π½Π°ΡΠ°Π» Ρ ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° VCP/DDC-CI ΠΏΡΠΎΠ΅ΠΊΡΠΎΡΠ°. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Π±Π΅Π»Ρ, ΠΈ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π½ΠΈΠΌ ΠΏΠΎ IP (Π΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ RS-232 Π² Ethernet).
ΠΡΠ»ΠΈ Ρ
ΠΎΡΠ΅ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΡΠ°, ΠΏΠΎΠΈΡΠΈ API, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Epson eControl, Sony SPT ΠΈΠ»ΠΈ Epson RC-API. ΠΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ»ΡΡΠ°ΡΡ Π½Π° TCP-ΠΏΠΎΡΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅, ΠΎΠ΄Π½ΠΎΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ»Π°Π²Π½ΠΎΠ΅ β Π΄Π΅ΡΠΆΠ°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ (ΠΏΡΠΎΡΡΠΎ Π±Π°ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠ»Π°ΡΠΈΡΡ Π·Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·.
Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π±ΡΠ»Π° ΠΌΠ΅Π½ΡΡΠ΅ 200 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ UDP, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ API ΠΏΡΠΎΠ΅ΠΊΡΠΎΡΠΎΠ² Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ), ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ TCP Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ Π±ΡΡΠ΅ΡΠΎΠΌ ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΡΠΊΠ°ΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊ ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡΠ°, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠΉ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ (asyncio ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΊΠΈ) ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΠΉ ΡΡΠΆΠ΅Π»ΠΎΠΉ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎΡΡΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ "ΠΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΈΡΠ°Π½ΠΈΠ΅", ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 10 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΌΠ΅Π½ΡΡΠ΅ 50 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ.
Π ΠΈΡΠΎΠ³Π΅: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ VCP ΡΠ΅ΡΠ΅Π· Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ IP-ΠΌΠΎΡΡ, Π΄Π΅Π»Π°ΠΉ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌΠΈ, ΠΎΡΡΠ°Π²Π°ΠΉΡΡ Π½Π° ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠΉ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΎ ΡΠ΅ΡΠ΅ΠΏΡ Π΄Π»Ρ ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠ΅Π½Π΅Π΅ 200 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄. Π£Π΄Π°ΡΠΈ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²!
ΠΠ²ΡΡΠΈΡ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ. ΠΠ°Π»ΡΡΠ΅ β ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΡΠΉ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ VCP ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΡΠΎΠΊΡΡ ΠΈ ΡΠ΄Π²ΠΈΠ³ Π»ΠΈΠ½Π· Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ»ΡΡΠ°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ΅ΡΠΆΠΈ ΡΠΎΠΊΠ΅Ρ ΠΎΡΠΊΡΡΡΡΠΌ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠΉ Π±Π°ΠΉΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈ ΡΠΈΡΠ°ΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΡΠΎ Π΄Π°ΡΡ ΡΠ΅Π±Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ. ΠΡΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡΡ Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΎΠΉ ΡΡΠΈΡ
ΠΊΠΎΠ΄ΠΎΠ² VCP?
ΠΠΎΠ½Π΅ΡΠ½ΠΎ! ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡΠΎΠ² ΡΠΈΠΏΠ° Epson ΠΊΠ°ΡΡΠ° VCP Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ (ΠΏΡΠΎΠ²Π΅ΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ):
- **ΠΠΈΡΠ°Π½ΠΈΠ΅** β 0x41 (Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅), 0x42 (Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅)
- **Π€ΠΎΠΊΡΡ** β 0x44 (ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ ΡΠΎΠΊΡΡ)
- **ΠΠ²ΡΠΎΡΠΎΠΊΡΡ** β 0x48
- **Π‘Π΄Π²ΠΈΠ³ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π° X** β 0xE0 (ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β Π²ΠΏΡΠ°Π²ΠΎ, ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ β Π²Π»Π΅Π²ΠΎ)
- **Π‘Π΄Π²ΠΈΠ³ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π° Y** β 0xE1 (ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β Π²Π²Π΅ΡΡ
, ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ β Π²Π½ΠΈΠ·)
Π’Π°ΠΊ ΡΡΠΎ ΡΠ²ΠΎΠΉ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΊΡΡΡΡ TCP-ΡΠΎΠΊΠ΅Ρ ΠΊ DDCβCI ΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡΠ°, Π΄Π΅ΡΠΆΠ°ΡΡ Π΅Π³ΠΎ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ `[0x44]` Π΄Π»Ρ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ `[0xE0, +3]` Π΄Π»Ρ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΏΡΠ°Π²ΠΎ Π½Π° ΡΡΠΈ ΡΠ°Π³Π°.
Π§ΠΈΡΠ°ΠΉ Π±Π°ΠΉΡ ACK Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (select/epoll ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΊΠΈ asyncio) ΠΈ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ 200 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄. ΠΠΎΡ ΡΠ΅Π±Π΅ ΡΠ΅ΡΠ΅ΠΏΡ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ β Π΄Π°ΠΉ Π·Π½Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ!