Investigations of XMPP and MQTT
  • To investigate the use of pubsub in publishing and collecting telemetry data from online laboratories (iLab experiments).
  • investigate the use of pubsub in providing distributed GUIs for collaborative access.
  • To investigate the use of chat rooms as an environment for collaboration around online laboratories.
  • To investigate the use of pubsub in a sensor network in the new Learning Innovation Building at UQ in 2011 onwards.

A set of recent blog posts by Yu Gao have been added to this group.  These posts detail the methods of installing various operating systems on different hardware platforms we work with in this lab.  This information will be useful for those looking to build their own sensor networks.

No items available.

My Plant now tells me how dry it is!!

I nearly killed my office pot plant over the Easter break, forgetting to water it for several days each side of Easter. So it was time to do something about this. I have had a Botanicalls module ( for some time.  This plugs into the soil and tweetes when it needs watering.   

Program Arduino Mega board in GCC

Program Arduino Mega by GCC

This idea came with the Contiki system needs more than 40K flash ROM to run the UIP but after searching it came up with no support for the AVR chip on Arduino Mega board. The Contiki only support mega128 but the Arduino Mega base on Mega1280.

However, I finished the testing of building Arduino application on GCC toolchains at the same time.

Thread for Porting Contiki on other platforms

One main problem for porting contiki with UIP function to EZ430-RF2500 platfrom is the controller on this board only have 32K Flash but the binary file generated by msp430-gcc is bigger than 32K. In the official contiki website they recommend more than 40K flash for basic network function.

However, the whole process give me several ideas for porting contiki to any platform witch build up with an microcontroller and a 2.4GHz transceiver.

Build an application on Mbed board under NXP library, Eclipse and GCC

The previous blog talked about how to build a simple blink application for Mbed board under Eclipse and GCC. In this project I will show you how to build a project by using the official library of LPC1768 from NXP.

You can download the library from LPC175x and LPC176x CMSIS-Compliant Standard Peripheral Firmware Driver Library (GNU, Keil, IAR) or from the attachment in this blog.

First I organize the file structure. The folder should like:

Build Mbed application under off-line compiler

Mbed is a rapid prototyping board based on NXP LPC1768.  It is basically a controller on ARM Cortex M3 architecture. The biggest advantage is the on-line compiler which simplifies the code of ARM chip and makes the coding experience most like an Arduino board. But for an advanced user it is best to know how their compiler works and use the Mbed board as a real ARM development board. In this method the programming on Mbed board become more professional coding experience and more close to the real development in industry.

Build a hello world application under contiki

The contiki already runs on EZ430-RF2500. An naked contiki runs on the board doesn‘t very useful the main purpose is to buidl an application on it.

Contiki is an multitask operation system by declearing several PROCESS in the code. The board can run multitask on it.

First, I declear three PROCESS

'PROCESS(hello_world_process, "Hello world process");' 'PROCESS(blink_on_process, "LED blink on process");' 'PROCESS(blink_off_process, "LED blink off process");'

Fix the contiki on EZ430-RF2500

Contiki is an open source operating system current meanly deployed in the area of sensor network. Our goal is to make contiki runs on TI’s ez430-rf2500.

There is an old verison of porting of contiki on ez430-rf2500 in this link:

REST to your wife

A conversational style description to HTTP and REST. Check out this fun article by Ryan Tomayko.

Report, Poster and Arduino sketch for the eZ430-RF2500 Arduino project

With this blog entry, I've attached a copy of the report and poster I produced for this project along with a simple sketch created to enable the Arduino to interact with the MSP430 board and publish the sensor data.

The poster may not be the final revision, but if there is an update to it, I will upload it as well.




Complete Arduino-MSP430 system

The project has finally been able to be finalised with the arrival of the long awaited headers. These were specially produced right angle male-male 6 pin header with a pitch of 1.27mm (0.05") by Mill-Max, and were shipped in from the states.

Update of work so far with the MSP430 and Arduino

For the moment, the general function of interacting the MSP430 containing an onboard temperature sensor with an Arduino via serial connection has been extremely successful. This was the alternative method for reading the temperature data out of the MSP430, rather than the USB connection. The reason for this choice will be explained in future posts with an upload of a short report outlining the entire project.

Visualising MQTT data on web page

A SproutCore GUI for iLab Microscope

A simple MQTT cient on node.js

Clicker MQTT Project Overview

This is a overview drawing about my summer clicker_mqtt project.

Basically it is about getting data from Turning point clickers and send through MQTT to the broker, with a specific topic.

One client will subscribe that topic and track all the coming datas, here is two value: clickerID and the input key.

Then the client will lookup the current database (or references),  and update the table "Tables" which has the colour values of each table. 

Control CSS by PHP

CSS is lovely, as it can easily format our web page with lots of more powerful features. 

But can we put variables into attributes and dynamically change it by other languages, like php or javascripts? The answer is surly yes!

For php it can simply done by the following two steps:

1. Rename your myCss.html to myCss.php.

2. Add an php header at the beginning: header("Content-type: text/css");

How XMPP Pub-Sub works and a simple example

How XMPP Pub-Sub works and a simple example

RFID over MQTT on mbed

MQTTClient for mbed - version 2.0


Research on RFID standard and products


Syndicate content