chemicaloliver

experimentation, criticism and geekyness

Graphing ti ez430 Chronos watch data in Linux

Recently my Texas Instruments ez430 Chronos watch arrived, I preordered it the day I read about it on engadget back in November 2009, so it was nice to receive it after all this time. As a dedicated Linux user I found it disappointing that there was little in the way of Linux support provided by TI, however this was not unexpected and a linux application is currently being developed, although progress seems to be somewhat slow. However in the last week breakthroughs have been made, uguryildiz in a post on the TI forum revealed the protocol used to request data from the acceleration sensors and also for setting of the time allowing custom applications to be built using this data on Linux or any other operating system able to use usb serial.

Continue reading Graphing ti ez430 Chronos watch data in Linux…

Internet Speed Monitoring with BT (2Wire) Homehub 1800HG

For a few years now at home we have used the BT (rebadged 2Wire) 1800HG which has provided good service for the whole time but it’s only now I’ve investigated into its workings a bit more closely.

Recently I had cause to be looking through the router web interface and came across a primitive “Speed Meter” monitoring current upload/download speed usage so of course the first thing that occured to me was how can I get at the data so I can build my own more funky version.

After some investigation I found the graph was being generated using a java applet embedded into the page. I then downloaded from /base/web/speedmeter/MeterApplet.class and subsequently decompiled using the java decompiler JAD. This led me to find that the applet was requesting data from /base/web/speedmeter/speedmeter_data which provides an xml file with the current upload and download speeds in in the form:

<?xml version="1.0"?>
<tw_bb_in_speed>1</tw_bb_in_speed><tw_bb_out_speed>0</tw_bb_out_speed>

Parsing this data will require some modification as this is not really valid XML as it has no root node but that is easily rectified. I’m currently working on integrating this with an mqtt system