As a side project I am writing a controller for the Sonos Music System to run on BlackBerry. Sonos produce a controller for the iPhone and the iPod Touch – which is really neat, but I need it on my BlackBerry. This page is about tiggit controller.
i have set up a new blog page for this project, and the most up to date information can be found at tiggitcontroller.wordpress.com
tiggit controller has now been released and can be downloaded from http://www.mobihand.com and the BlackBerry App World.
The project is in the early stages, and requires me to reverse engineer the interaction with the Sonos devices, which appear to be web service – like running over http. I am planning three phases for the project
Phase 1 – basic control of a number of un-linked zone players
Phase 2 – provide the infrastructure to allow a non-wifi BlackBerry to control Sonos
Phase 3 – handle the complexity of linked zone players.
Here are some pictures of the work in progressPictures updated 7 June 2009 to show album art displayed on zone viewer
Things needed for phase 1 – those in bold are already done
- Zone Player list
- Basic zone player control functions – play, pause, skip foward, skip back, enable shuffle, repeat.
- Set volume, set equalizer, mute.
- Load queue, add to queue, remove from queue, re-order queue, clear queue.
- Display play status, including artwork, receive updates of status
- Download library, albums, artists, genres, composers, tracks
- Radio service
- Playlist service
- Line-in service
- License management
- Persist setup/config
Update 12th June
Sonos uses some quite straight forward web services to provide status and control. The tricky part is that it uses http methods that are not supported within the standard BlackBerry http libraries, which means it has been necessary to write my own simplistic http library. This will be fine on WiFi, but should any kind of proxy be needed it will undoubtedly fail.
The more I think about this project, the more I realise that the ‘inside the firewall’ proxy is both an important part of the developer kit and the implementation. The proxy allow a connection from the BlackBerry, over the public internet to the proxy. The proxy would then manage the web-services interactions with the Sonos Zone Player. The connection with between the BlackBerry and the proxy will be over SSL with a shared secret such as a password and the BlackBerry PIN entered into both the tiggit contoller and the proxy.
13th June 2009
Looking for small group of testers.
I am now looking for a small group of trial users to take the current (pre-alpha) build and feedback how well it works. Testers will need to have a WiFi enabled blackberry and (of course) a Sonos ZonePlayer. If you are interested email email@example.com
Latest installation and operating instructions
Instructions to download and install the latest version of tiggit controller can be found here
Download is restricted to those that have been accepted to the early adopter programme.