A tiny server that acts as a proxy between a client and a JVC projector such a projector. JVC projectors insist on an additional 3-way handshake (PJ_OK, PJREQ, PJACK) in addition to the normal TCP 3-way handshake. This means that certain home automation appliances may have timing difficulties communicating with the projector as they lack the protocol knowledge to implement the additional handshake.
See JVC Projector Control codes for the actual codes to effectively manage a JVC projector.
Using the server
Start the server, proxy between localhost and ‘my-projector’ on the usual JVC control port number (20554).
$ jvc_proxy -l DEBUG -r 2 -t 1 my-projector
Binds the server to an IP address / hostname that is accessible external to the machine (i.e. not localhost). Set logging level to DEBUG (will log the actual bytes proxied). Will retry failed connections to the projector twice. Allows 1 second timeout on network operations.
$ jvc_proxy --proxy_host my-pc -l DEBUG -r 2 -t 1 my-projector
Available arguments:
usage: jvc_proxy.py [-h] [--jvc_port JVC_PORT] [--proxy_host PROXY_HOST]
[--proxy_port PROXY_PORT] [-t TIMEOUT] [-v VERBOSE]
[-l {ERROR,WARNING,INFO,DEBUG}] [-r RETRIES]
[-w RETRY_WAIT]
jvc_host
positional arguments:
jvc_host JVC host to proxy to. Default: 20554.
optional arguments:
-h, --help show this help message and exit
--jvc_port JVC_PORT JVC port number to connect to.
--proxy_host PROXY_HOST
Proxy server host/IP to bind to. Default: localhost.
--proxy_port PROXY_PORT
Proxy server port number to listen on. Default: 20554.
-t TIMEOUT, --timeout TIMEOUT
Timeout for network operations (seconds). Default: 2.
-v VERBOSE, --verbose VERBOSE
Whether or not to output proxied data. Default: False.
-l {ERROR,WARNING,INFO,DEBUG}, --loglevel {ERROR,WARNING,INFO,DEBUG}
Logging level. Default: ERROR.
-r RETRIES, --retries RETRIES
Number of retries to allow in connection to the JVC
host. Default: 0
-w RETRY_WAIT, --retry_wait RETRY_WAIT
Seconds to wait between connection retries. Default:
5.
Starting the server by default
Use the included jvc_proxy.service to start the server as a systemd unit.
Metadata
Release files for jvc-proxy 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jvc_proxy-0.0.1.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jvc_proxy-0.0.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 15.7 kB
Release files / jvc_proxy-0.0.1.tar.gz
| Download URL | jvc_proxy-0.0.1.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
76cab61a4dbe3382fbab0bf8b83ecefce54184f61c19c58b08604d3981d52799
|
|
BLAKE2b-256 checksum How to use checksums |
05c2bf4313315a57045bd908dd6b4088ceff98113daa0e8189584087d6310a3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / jvc_proxy-0.0.1-py2.py3-none-any.whl
| Download URL | jvc_proxy-0.0.1-py2.py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
d903e3e4d109fc52295cb1628fe48a0b7faf15c6b8a02050f419cbf8a794a028
|
|
BLAKE2b-256 checksum How to use checksums |
ca7af130f65935413a60994fff57567ed4c525af80b4524375bcad6ca8ba24e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |