September 22, 2017

Squeezebox IR remote control app for Android

Posted at September 22, 2017 02:16 AM in Software .

   In a typical way many products or features that I enjoy are either discontinued, modified, or closed down. This application brings together two instances of this. Samsung has seemingly stopped supplying IR blaster feature on their flagship smartphones and tablets. Logitech discontinued the Squeezebox product line. So, let's bring them together and make an app for that!

More info after the click.

The rest of this post will describe the products, features, and making of the app.

Squeezebox

The Squeezebox is a product line that Logitech acquired from Slim Devices and maintained for a few years and then discontinued several years ago. They do maintain the Squeezebox servers, so the existing devices can function without a private server. The product shown above is the Squeezebox Boom which came out in 2008. More info about this can be learned by visiting the Wikipedia

IR Blaster

IR Blaster is a term I learned when searching for some consumer electronics which have remote control hardware feature contained on them. The list I came across is also hosted on a Wikipedia.

Observed that the Samsung devices stopped including after the S6 and Note 4. However, I have a lot of their devices which include it and decided to create the app.

Making of the app

Two main software tools were used to make the app. One is a compiler to turn code into a program that runs on Android. The other was a vector graphics program allowing me to draw scalable icons.

The compiler and IDE

The compiler and my development environment is unconventional for most application developments, but since the project is small it was manageable. Most people develop applications with an Integrated Development Environment (IDE) on a computer. For this application I developed it using a smartphone. It was developed on my Note 4 using a software package called Android IDE (AIDE). Not affiliated with them and am only a customer who purchased the pro key.

The Graphics Program

I've never used a vector graphics program before, so this application gave me a great opportunity to learn some of the basics. I researched about which offerings are available and decided to use Inkscape, which is a multi-platform open source vector graphics program. During researching saw some nice tutorials and great works produced by other talented users. The application only required me to learn basic concepts in order to mimic the icons on the remote control for usage in the application.

The IR Blaster

Phones tend to have the IR blaster at the top of a portrait orientation and tablets tend to have them at the top of a landscape orientation. Most remotes tend to be of portrait orientation. Decided to make the remote familiar shaped when run on a tablet or a phone. Here's screenshots taken from a Galaxy S4 mini smartphone and a Galaxy Note 8 tablet.

Android introduced an API to control IR Remotes in some 4.4 version. Prior to that version others have figured out how to control the IR blaster on the Samsung devices. This application both methods implemented and tested. It's been run on only a subset of Samsung devices with an IR blaster and none of the other brands listed on the aforementioned wikipedia.

The Testing for Functional Verification

The testing was done on:

Smartphones:


  • Galaxy S4 mini

  • Galaxy Note 3

  • Galaxy Note 4


Tablets:


  • Galaxy Note 8

  • Galaxy Note 10.1 2014 edition

  • Galaxy Note Pro 12.1 2014 edition

The IR Codes

The IR codes were learned using an IR receiver hooked up to a computer. This product is called the USB-UIRT. In order to get the codes to transmit from the application a computer application was needed. This application was written interfacing with USB-UIRT API and then output codes after learning the Squeezebox remote control button presses. The computer application was written as a console app and using the TCC lightweight compiler.

Trackback

You can ping this entry by using http://www.wanderinghuman.com/cgi-bin/mt-tb.cgi/118 .

Comments

Post a comment










Remember personal info?