Thursday, June 11, 2009

A Damn Small Media Server



Last year I had to build a few Bluetooth beamer box, a standalone picoITX PC that does OBEX push of images and videos to any cellphone that has bluetooth turned on. I am left with one extra ARTIGO
unit. I have decided to build a simple media server with it this weekend. Quite a bit of my media files are already in the digital format, will need to convert the rest sometime in the future.

The VIA's picoITX based ARTIGO is suprisingly a very small unit. The whole thing is smaller than a paberback book. Got some pics of it.




Thats the top side of the picoITX mobo, it has standard headers for USB/PS2, frontpanel lights etc and also Hiroshe connectors for DVI.





The bottom part of the mobo PCB, has a slot for RAM and has IDE connectors on the right edge, though it requires an adapter to connect to a standard notebook IDE HDD, btw this adapter is shipped with the pack.



A simple psu board that converts the standard power brick voltage to the picoITX standard voltage outputs, the size is just amazing!



The shot of the front panel, it has 4xUSB, a mic and headphone output. The back panel has DC in, VGA and Ethernet connectors.



The full mugshot of the unit with the power brick.

I have tried booting it with Fedora and Ubuntu via a USB flash disk, with 1GB RAM, it was quite a performer for its spec. Next step I am going to load up MythUbuntu via an internal HDD which would also host my collection of media files.




Rapid Wi-Fi Spot Scanning

As part of a larger project I had to build a WLAN scanner that would grab the BSSID of the available hotspots and their respective RSSI in the nearby area. The initial plan was to use the WLAN API in Windows XP. This was quite an issue as some of the cards were not using a NDIS wrapper driver and rather had their properitery driver. Netstumbler was a good option, but we needed to customise the interface and feed the scan data into another program. So eventually we ended up using code from the InSSIDer project. Btw, this has a neat set of .NET wrapper or P/Invoke libraries to access the XP WLAN API.

Despite having built a simple console based WLAN scanner, the scanning speed was limited by the Windows XP's inherent constraints. Any subsequent scan did not refresh the BSSID table untill like 60 seconds have passed after the previous scan. Damn! this is a problem, if we are doing warchalking in a car, we would have passed a few meters in 60 seconds! The next option is to use a linux distro and do a shell script to capture the data but then we would need to have another netbook run XP for someother programs.

Eventually I decided to resort to a hardware based solution to this. I purchased a serial WLAN module from Roving Networks (via SparkFun online shop) along with a SiLabs TTL to UART to USB bridge. Hooked these two of them and viola! now I have a USB based WLAN scanner module.

The CP2102 USB to serial bridge, the cool thing about it is the XP device driver sets it up as a 115200bps virtual serial port and it has a on-board 3.3V to power the WLAN module.




The CP2102 is wired to the Serial Wi-Fly module from Roving Networks, just nicely the Wi-Fly module can be powered by 3.3V



Ooh..blinky lights! The combo in action. The USB powers both the CP2102 and the Wi-Fly module, notice that the WLAN module has a 1/4 wave antenna!



This is the output on the hyperterminal window. You would need to issue "$$$" which puts the WLAN module in command mode. Since I am basically using the module to do scans and not associate it with any access point, I just issue a scan 30 command, where the 30 is the number of miliseconds to scan a channel. I have tried lower than 30 but like 10 often 'hangs' the module and found 30 to 50 do a nice job. Next task, write a C# program to interface to the module, parse the command output and store them onto a SQL database.



Mechanical T-Rex Jr in Tampines


As i was heading off to a meeting, I spotted a strange creature staring at the tree near my residence. As the lift upgrading program is going on in the vicinity, some construction worker has cleverly wrapped a grass cutter in black rubbish bag. The end result the machine appeared like a Jr. T-Rex and to make it more interesting it was left under a tree. It so looks like an animal looking at the tree.