Monday, January 31, 2011

Panel Builder for Insignia Infocast

I've completed my latest Chumby app called Panel Builder. It let's you create a control panel on your Infocast, specifying the layout, buttons, labels and actions in an XML file served by your own web server. This sample XML file shows the different aspects you can control. For example, you can create rectangular, circular, triangular and ellipsoid shaped buttons. You control the button color, border color, position, size, text label (size, color & position). You can also create just plain labels and have the option to add status graphics (to show on/off state perhaps?). Actions are defined in the XML file as well and use a PHP script on your server to issue commands. You specify the "root" URL in the XML file, then specify individual actions for each button by specifying the rest of the URL which gets appended to the root URL. You can see the XML file above for examples. A sample PHP script can be viewed here. The app is waiting to get through the Chumby approval process, so I will provide the link when it's available. In the meantime, here's a screenshot showing the different elements that can be created and a YouTube video of the sample screen in use (If you listen closely, you may hear some X10 light switches going clunk in the background in response to button presses).


If you find this useful, donations are greatly appreciated :)

Update: Panel Builder was just approved 2/1 and is now available from the Chumby website.

Sunday, January 16, 2011

First Flash App - SageTV Controller on Insignia Infocast

I've written my first Flash app. It's a remote control panel for SageTV and it runs natively on our Insignia Infocasts (which are Chumbies under the covers). It was a bit of work for me to understand Actionscript and figure out everything to make it work, but I've gotten to a point where I can show my progress. I started off using the Chumby2MPD sample code and the FlashDevelop package for the development. Each button on the app fetches a URL to a PHP script running on my Apache webserver, while passing it the command to be issued. The PHP script in turn issues an xPL message directed to the SageTV xPL plugin, which interprets the message and controls SageTV.

Here's a screenshot of the interface on the Infocast:

And here's a video of it in action.

Monday, January 10, 2011

Samsung Epic 4G, What I Don't Like

I've been using an HTC Touch Pro for the past 2+ years. I had unlocked it and installed WinMo 6.5, which gave it a nice mid-life kick. With our 2 year contract with Sprint over, the wife and I recently sprung for the Samsung Epic 4G and in the process, upgraded our Sprint SERO plans from $30/mo to the SERO Premium plan w/ 4G data at $50/mo. A big percentage increase in our monthly rate, but with 500 minutes and unlimited m2m/SMS/data/roaming data it's still $20-30 lower than plans from competing cell providers.

I've had it about a week and I figured it's time to write up my thoughts on this new toy. Let's start with the annoyances.

- Bluetooth visibility goes away after 2 minutes making bluetooth proximity all but useless. It's built into the kernel this way making it difficult to change. A big step down from WinMo.
- Voice commands over bluetooth does not exist - this was something I used *ALL* the time in WinMo. It is supposedly coming in Froyo, but Sprint & Samsung are really lagging on this. By the time Froyo hits for the Epic, it'll be time to upgrade to Gingerbread.
- In WinMo, you can turn off the 3G data connection after you're done with it, but it'll turn back on when you launch an app that needs it. In Android, if you turn off 3G data and you later start an app that needs it, it bitches about there not being a data connection. You have to manually enable data.
- When you make an appointment using the built-in calendar, it will default to the phone's calendar, which won't sync to your Google Calendar. You have to manually select that you want this appointment to be in your GCal for it to sync. Never had this problem with OggSync and WinMo. Why is the Google integration here so lame?
- On the other hand, Latitude binds to the Google account you set up your phone with and you have no option to change it, unless you re-setup your phone. This is lame. On WinMo, I used a different Google account for my Latitude tracking.
- I really miss PocketPutty, WinMo's Remote Desktop and Hamachi2 that I had running on the TouchPro. I have found alternatives to Putty and RDP, but they're just not as good.
- The TTS voice on Google Maps navigation is HORRID. How does the Sprint navigation app have a voice 100x better? Bing's WinMo voice is also way better.

Tuesday, December 28, 2010

Most Downloaded of 2010

It's not quite year end, but close enough. So following on last year's list, here's this year's version:

1. EventGhost xPL Plugin - 161 times
2. BlueTracker - 110
3. BlueTrackerScript - 74
4. xScript - 38
5. t2mp3 - 35
6. xPLWebControl - 33
7. xPLSerial - 26
8. xPLGameport2 - 23
9. Blabber - 20
10. xPLSys - 15
10. xPL Plugin for SageTV6 - 15

The EventGhost xPL plugin is still the top download of the year...by far, but the gap is considerably smaller between it and #2 on the list. Bluetooth tracking was very popular this year with the xPL version of BlueTracker #2 and the scripting version #3. The rest of the list were far behind the top 3. This year's top 10 list totaled over 500 downloads compared to 289 for last year's list. It's good to see we've reached more users this year, and if you've found our software useful, click the donate button on our software page. Thanks for your support!

Wednesday, December 15, 2010

New Toy: Insignia Infocast

It's not really that new, as I've had one for a week already but haven't gotten around to blogging about it. The Infocast is a Chumby based device with an 8" color touchscreen. It's Linux based and it has all the potential to be a great hacking device, potentially replacing our 3Com Audreys that have served us well for a decade now. There is already a hack to get a browser running, but it needs work. There are supposed efforts to get Android running on it as well. We'll see how it develops. I got 2 at the recent $79 sale price in anticipation.

Saturday, December 4, 2010

More Asterisk Fun

I put a phone in each kid's room connected to the PAP2T, and I set up Blink softphones on my & my wife's laptops (which are almost always on when we're home). Now we have a simple intercom system running. The kids (7 & 9) are really enjoying the novelty of having phones in their rooms. Now, I just need a softphone out in the garage. I have a Dockstar out in the garage that I'm using for a special automation project which I'll discuss when it's further along. Since it's a headless client, I need a command-line softphone for Linux. I figure I'd control it with a gamepad, using the buttons to dial preset numbers and a USB soundcard for the mic & speaker.

Saturday, November 27, 2010

Dockstar Now a PBX

I just finished configuring dock #1 to be a PBX. The recently acquired Linksys PAP2T has 2 phone jacks, and each is configured as an extension in Asterisk. I used this link to configure it to use Sipgate (free incoming calls) as the incoming call provider. Google Voice is used for dialing out. It does this by calling the number that was dialed, then calling the configured incoming number (Sipgate) and connecting the two. All for the price of free. This isn't going to be our main landline since we already have MagicJack. Instead it's going to be used mainly as an in-house intercom system. So, now dock #1 runs Asterisk, Motion, bluetooth proximity and contact closure over IP.

Friday, November 26, 2010

Dockstar Surveillance

I finally stopped being lazy and finished up deploying 2 Dockstars. The first one has been set to replace a HP T5700 thin client that was mainly being used with xPLGameport for contact closure over IP. I connected the T5700's gameport to the Dockstar and it was plug & play. It's also running as a bluetooth proximity sensor and a webcam interface using the cheap (and often hated) $9 EasyCap USB video adapter which I got from Amazon (see below). I used these drivers and installation was a breeze. I'm using Motion to provide a webcam interface. Right now, it's connected to one of my old, unused surveillance cameras. Finally, I found a Linksys PAP2T on Craiglist for $15. I've installed Asterisk on this dock and want to use it to set up an intercom so we can call the kids from downstairs. I may do some VOIP integration. We'll see how far I get with that.

The 2nd dock is also being used as a webcam with Motion and another old camera. This one I'm actually using the motion detection to generate events when an area has activity. Motion divides a screen into 9 zones and I've specified 2 of them. It's sending out xPL messages with xPL Perl's xpl-sender app. It works really well, much better than the motion sensor I have in that location, which picks up bushes blowing in the wind. It also has a bluetooth dongle.

I also picked up a couple WRT54G routers from Craigslist, loaded them with Tomato firmware and I'm using them as bridges for the cheap Squeezeboxes I found earlier. Since the gen 1 squeezeboxes don't support WPA, I needed the bridges so I wouldn't have to run a router with WEP "security".

Finally, there is no Black Friday aftermath this year for me. Surprisingly, there really wasn't anything I wanted to get. It's the first time in many years where I didn't get up at 3AM to do some online shopping or hit stores in the wee hours of the morning. I do want to upgrade our cellphones, but there's no hurry. Plus, I'm holding out for some decent Android tablets. The Pandigital Novel got returned again as I just couldn't stand how slow it was, even for $80.



Sunday, November 7, 2010

Dockstar USB Sound Tip

Just wanted to add a quick post with some of the problems I had with getting a USB soundcard working reliably after rebooting the dock. Make sure to install alsa-base and the supporting modules using apt-get. Also, in /etc/modprobe.d/alsa-base.conf, look for the line that says options snd-usb-audio index and change its value from -2 to -1. This makes sure it will assign the USB device as soundcard 1. Otherwise, you may have issues with applications like mpg123 using it. Another thing that may cause problems for you is a missing /dev/dsp. Squeezeslave needs this to work. I found a site that said to do apt-get install oss-compat. I did this, the install won't work, but /dev/dsp gets created. Hope this helps some avoid headaches getting sound working.

Tuesday, November 2, 2010

My Now Daily Dockstar Update

I've now gotten Bluetooth proximity working. It appears the xPL-bluetooth code isn't right so I've made my own changes and now it works. Also, after installing mpg123, the dock is now an MP3 player. It was using about 50% of the CPU and sounded pretty bad until I found this post. I made the suggested changes and the CPU utilization dropped to 2-3% and it sounds just fine. I also installed the Squeezebox emulator Squeezeslave (there is a native binary) and it works great. I can stream last.fm to it, but Pandora refuses to stream to Squeezeslave (a old, known issue).

Monday, November 1, 2010

Voice Recognition on the Dockstar??

Yup. It works too! I've connected an old USB SoundBlaster to the Dockstar and installed Sphinx, an open source VR program. Installation was straight forward and worked right away. VR is a little much for the Dockstar, especially long sentences, which can peg the CPU at nearly 100% for a few seconds. Simple commands, however, work fairly well. Hopefully, I can find out how to restrict the subset of VR commands to reduce the load on the CPU. In any case, it's a great start.

However, I didn't have much luck getting bluetooth proximity working with xpl-perl's xpl-bluetooth. My testing with webcams was mixed. I have 1 UVC camera and 2 old Logitechs and none of them would come up using mjpg-streamer and one of the Logitechs worked with motion.

I ended up ordering 2 more Dockstars. In the meantime, I'm going to keep playing around with Sphinx. Oh, and how about those World Series Champion San Francisco Giants!

Sunday, October 31, 2010

xPL Dockstar

Installing xPL-Perl was uneventful. I wanted to install the Linux::Joystick package for Perl, but that required make and some other Linux tools. That wasn't much of a problem since using apt-get to install everything worked flawlessly. Installation was quick and the joystick package compiled fairly fast. Even installing the full Emacs distribution was easy. This is unlike my experience with the Linksys NSLU2 (aka slug), which has a processor that's 4.5 times slower than the Dock. With Linux::Joystick installed, a cheap $5 USB gamepad from DealExtreme and a free 4GB flash drive, I now have a $30, 10 input IP based contact closure device. Best of all, it uses only 3 watts of power. I am contemplating replacing my 2 Slugs with Docks and maybe getting a few more to have just in case I find something to use them for - so you better buy some before I do! ;)