Skip to content

python application permitting the control of a cambridge audio receiver (azur 340R and maybe others)

License

Notifications You must be signed in to change notification settings

roeme/rs232server

 
 

Repository files navigation

INTRO

The Cambridge Audio Azur series HDMI receivers (it seems pre HDMI receivers do not have them) have RS232 serial ports that can be used to control most if not all of the functionality.

COMPATIBILITY

Azur 340R (tested on SW version 1.3, protocol version 1.1)
Azur 540R version 3 (untested but assumed to work)
Azur 640R (tested on SW version 1.5, protocol version 1.0)
Azur 650R (unknown but basic protocol appears unchanged from doc)
Azur 551R (unknown but has rs232 port)

Personally I use the 340R (upstairs) and 640R (downstairs). The 340R uses miniclient with a bash script and the HTPC with the 640R uses the xbmc plugin. Both systems are fairly reliable, and I run git HEAD. Please send me any issues/improvements/comments you may have! I'd love to hear if you are using the SW even if you disliked it ;-)

PROGRAM

The program runs in two parts. A python daemon runs in the background and responds to queries from the cli using dbus.
The hope is to decouple the two sufficiently so that other clients can be written. The hope is to eventually have the script
listening to the users media player in order to switch on when neccessary, replace alsa as the volume controller, etc...

INSTALL

Just like a standard python module use:
sudo ./setup.py install
or to install it locally, use:
./setup.py install --user

The script requires python2, python-pyserial and dbus

To connect the Amplifier (Azur 340R), use a null modem cable to a serial port or USB->serial controller

USE
The ampserver can be started like any python program just run ./ampserver.py. Run ./ampserver.py --help for further info. A tty can be set if ttyUSB0 is not what your amplifier is connected to.

You will need to place rs232.conf in /etc and configure the correct ttys for the services. To disable a service simply comment out the service in the .conf

The ampserver has 3 modes of operation. One is with the cli application provided which also serves as a reference dbus client implementation. Provided with a simple argument it will execute a command using the ampserver over dbus. See ./ampclient.py --help

Also provided is an xbmc (eden/11.x) service addon (see http://github.com/arfoll/script.madeo.ampserver)

THANKS
Tom Carlson - original creator of the python script to control Azur 340R
Jon Smith - blog post on lgtv serial communication
Suan-Aik Yeo - developer of libLGTV_serial where I get all my lgtv commands from

About

python application permitting the control of a cambridge audio receiver (azur 340R and maybe others)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 72.9%
  • C 19.5%
  • Shell 7.6%