Как использовать скрипт Python для управления проектором jvc с тройным рукопожатием tcp и шестнадцатеричным - PullRequest
0 голосов
/ 08 февраля 2019

Я использую Home assistant (Hassio) на Raspberry Pi и хотел бы управлять моим JVC-проектором с помощью сценария Python, используя передачу TCP.У меня нет опыта кодирования

У меня есть JVC D-ILA DLAX500R.Я хотел бы иметь возможность включать и выключать его и видеть, в каком состоянии он находится. Мне не нужно использовать другие команды, потому что я не переключаю входы.

В руководстве пользователя говорится, что оно использует рукопожатие, гдеВы:

Сначала ПК или контроллер должен запросить соединение TCP / IP с помощью стандартного трехстороннего рукопожатия TCP / IP с проектором через порт 20554

Когда получен запрос на сетевое соединение,проектор немедленно ответит «PJ_OK», чтобы подтвердить, что он доступен.

Чтобы поддерживать сетевое соединение, внешний контроллер должен затем ответить на проектор в течение 5 секунд с помощью «PJREQ».

Затем проектор немедленно ответит «PJACK», чтобы подтвердить, что он готов принять команду.

Теперь команда может быть отправлена.Эта команда может быть любой из шестнадцатеричных команд, показанных на страницах 3-13, или любого из запросов ответа подтверждения на страницах 15-18.Команда должна быть отправлена ​​в течение 5 секунд после получения «PJACK» от проектора, в противном случае проектор закроет сетевое соединение.

Выключение питания: 21 89 01 50 57 30 0A Включение питания: 21 89 0150 57 31 0A

Я не видел код для запроса состояния, но мог пропустить его, не зная точно, что искать.Вот руководство:

http://support.jvc.com/consumer/support/documents/DILAremoteControlGuide.pdf 1

В руководстве пользователя рекомендуется использовать программу под названием Hercules (http://www.hw -group.com / products / hercules / index_en.html ) для проверки кодов.Я загрузил это на свой ноутбук с Windows и успешно управлял проектором.Я обнаружил, что если я «установлю соединение», подожду 3 секунды, нажму «PJREQ», подожду 3 секунды, затем нажму «Command», похоже, это работает хорошо.

Заранее спасибо за вашу помощь

...