Controlling lights with TI ez430 chronos, home easy, arduino and processing

Now that the protocol for basic communication with the TI chronos ez430 has been worked out (see previous posts) I needed to work on something useful. So I set out to try and control my wireless light switch with the watch. Sadly the RF receiver supplied with the chronos does not use a protocol which is likely to ever be compatible with the arduino so this example requires a computer.

The Hardware

Recently I’ve acquired a Home Easy HE217 remote light switch which consists of a unit placed between the light bulb and ceiling rose and a wireless switch to switch the light on and off from anywhere within about 10m. I purchased this with some form of hackery in mind but this is the first real attempt to do anything useful outside of the functionality of the supplied package. The system uses RF at 433MHz and a simple authentication protocol, which is conveniently documented at the Home Easy Hacking Wiki.

Home Easy HE217
Read more ▼

Receiving TI ez430 Chronos Button Presses in Processing (and Python)

Another currently badly documented feature of the chronos is the facility to get button presses from the watch when in Powerpoint (PPT) mode, so again after a code example from Sean Brewer (available below) I’ve produced a processing version.

The process of acquiring the data, the same request string is sent however in PPT mode the return is different, the third byte determining which button has been pressed in the case of my watch the buttons return the values below:
Read more ▼

Graphing ti ez430 Chronos watch data in Processing

Thanks to a helpful comment on my previous post Graphing ti ez430 Chronos watch data in Linux Sean Brewer posted the help I’d been looking for to get the chronos working with processing.

Following on from the sample code posted by Sean (pastebin or my mirror) I have made the code into a more conventional processing style and added simple graphing functionality in processing to allow the simultaneous graphing of xyz data and my updated code can be found below.
Read more ▼

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.

Read more ▼

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

face tracking for virtual reality

Whilst studying for my masters I came accross various videos of the Nintendo wiimote being used for motion tracking to control 3d movement, and subsequently webcams being used for the same application. However there had been no work on how effective the webcam is at creating a 3d effect in comparison to traditional input methods such as the conventional mouse. Based on this I decided to design, build and test such a system for my masters thesis

The project can be considered in two discreate parts, the design, implementation and testing of the software and the testing of usefulness of the webcam in the system as an input device.

system structure

The development of the software can be divided into three discreet systems:

interfacing hardware and software

The system requires that images are captured from the webcam at high speed, to perform this OpenCV provides a simple cross platform interface which is able to grab images in all common formats from a video stream. DirectX based options were also explored for this task but they proved to be much more complex, requiring many more lines of code to achieve the same result.

Read more ▼

twitterpop

After buying an arduino and some 8×8 LED matrices I really needed a project to make good use of them. At a similar time I also had become a bit addicted to twitter and had been reading up on the API with the intention of doing something cool with it,somehow these ideas all got rolled into one to give a twitter popularity meter. The system uses a PHP script to search twitter for a predefined term, #tag or @reply and then presents the result of this as a webpage with number of results. The page is then read by an arduino with associated Ethernet shield and displayed on a bar graph format on the LED matrix.

Read more ▼