Giter Site home page Giter Site logo

elehuitouze / jeiscp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cljk/jeiscp

0.0 2.0 1.0 241 KB

Java implementation of Onkyo EISCP/ISCP-Protocol and simple application

License: GNU General Public License v3.0

Groovy 0.24% Shell 3.51% Java 96.26%

jeiscp's Introduction

jEISCP

jEISCP is a Java implementation of Onkyo (E)ISCP-protocol used by various network enabled (Onkyo-) receivers to control volume, source selection and so on.

ISCP is called the message format used by Onkyo for already previously available serial connections to the devices. EISCP is the ethernet (TCP/IP) encapsulation of ISCP - used for WLAN and LAN.

Usage

Check out the repository as usual

git clone https://github.com/cljk/jEISCP.git

and then checkout the used submodule

cd jEISCP

git submodule update --init

You need a working Maven installation to run this application.

run.bat

on Windows(TM) or

./run.sh

on nearly every other OS like Linux/OS X.

Both just call "mvn exec:java" with the main class.

Startup

After some output of maven the console will dump several log outputs like the autodiscover process... (assuming that at least one Onkyo device is available)

[DEBUG,EiscpConnector] send autodiscover datagram: !xECNQSTN
[INFO,EiscpConnector] wait for autodiscover answere
[DEBUG,EiscpConnector] answere from /192.168.2.111:60128
...
[DEBUG,EiscpConnector] autodiscovered: ECNTX-NR609/60128/XX/002719B23FAA
[DEBUG,EiscpConnector] connect to 192.168.2.111:60128
[DEBUG,EiscpConnector] connected

Then some status question commands will be sent and answeres of the receiver will be printed out (idented with >>).

[DEBUG,EiscpConnector] sendCommand: PWRQSTN
[DEBUG,EiscpConnector] sendCommand: MVLQSTN
[DEBUG,EiscpConnector] sendCommand: IFVQSTN
[DEBUG,EiscpConnector] sendCommand: RESQSTN
>> PWR00
>> IFV
>> MVL16
[DEBUG,EiscpConnector] sendCommand: MVL16
>> RES05
>> MVL16

Basically means: Asking for power status (PWRQSTN), main volume (MVLQSTN) and so on. Answere PWR00 means "power is off" and "MVL16" means "main volume is on 0x16 (hex)"

After initialization you have the possibility to enter ISCP-commands on the console - like MVL20 to change volume - and see the response. The application will build the datagram with checksum encapsulate it in EISCP and send it to the receiver.

Also a basic GUI with a volumeslider will show up.

Status/Version

pre-pre-pre-alpha 1.0-SNAPSHOT

Encoding/Decoding of EISCP-messages for my receiver (TX-NR609) is currently working including a simple autodiscovery mechanism.

For sure there is a lot of work to do - f.e. the application implementation is very basic and more or less only capable of switching on/off, control volume or to send/receive textual commands.

References

For (E)ISCP you can compare to the official Documentation (which this project is mainly based on). Also there are other projects with a comparable topic.

  • https://github.com/miracle2k/onkyo-eiscp (Python implementation with further references). This project is also used as submodule mainly for using the YAML file describing ISCP-command-capabilities of the different receiver models (to be done).

License

need further thinking on that - but for now and until different is stated the source code is licenced under GPL v3

jeiscp's People

Contributors

cljk avatar

Watchers

James Cloos avatar Erwan Le Huitouze avatar

Forkers

acepe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.