I’ve been working like mad for last couple of weeks to get the ‘drawingBreath’ software going. Main issues:
- working with the sense-os API, more specificly formatting the string to be send to and retrieved from the server
- getting the custom software to work on the various PCs
- making the software work for five sensors in stead of one
From the above you can tell that I’m just an artist struggling to program without proper education. But I have learned a lot again especially about JSON in Java and iterations. And was happy I finished my two Java courses, at least now I had a good idea of what I was doing. The software can now do the following:
- Login to the sense-os platform and get a session id
- List all the ids of the 5 sensors
- Read data from the serial port
- Format (JSON) and send that data with a time stamp
- Retrieve the data from all 5 sensors
- Calibrate all 5 sensors
- Make a drawing for every sensor
- Make sounds for every sensor
- The different tasks are all conducted by separate timers
I only want to fine tune the drawing and the speed of the drawing but for the most part it’s finished(!).
I’ve conducted some test sessions with a smaller group but yesterday evening was the first time there was four of us. It went surprisingly well. No problems with the server, it was a bit unreliable lately. And the visual and audio results were promising:
Last week I visited the nice people of Sense OS. They offer a very powerful platform for working with sensor data: CommonSense. I talked to them about hosting my breathing_time performance on their system.They are enthusiastic about the project and want to take on the challenges that they’re up against.
The idea is that I make an account especially for breathing_time that will include the 5 wind sensors. The main challenges are: synchronisation of the different data streams and the real time aspect. As for synchronisation all the participants will have to install Network Time Protocol (NTP) software. This will ensure that all the computers use exactly the right time.
The data will be near real time. Every device will send an array with 5 data points every 500 milliseconds. And every second it’ll retrieve the 10 most recent data points for visualisation. We will use threads to make sure that hiccups in the connection or the network won’t disturb the flow of data. A local time stamp will be used to ensure every device always has the most recent data.
This sounds like a sound strategy the ensure flow through and speed. We’ll have to test of course to see how quick the data is send.
It’s been very nice talking to experts in this field. I feel the server side aspect of the performance is in safe hands with them.
Last week a major hurdle was taken for this project.
1) I held my presentation for a very interested audience of around 200 students from the Design Academy in Eindhoven, the Netherlands. I was very nervous but once I got started things went OK. I only had 10 minutes so I focussed on the design process. The audience was also design orientated so I didn’t want to bother them with too much technique.
Presentation at Design Academy
Opcacity and outline change depending on data
2) I finished the website www.aqab.nl I’m still amazed by the swiftness with which I realised this project. I’m very happy with the Flash app. Even though the data is fake (for now) it does give a good insight into the power of the app. I think I’m most proud of the icon and the way in which the outline colour changes to indicate good, bad or neutral smell. It’s just so easy to work with the Google Maps for Flash API. Great job, good documentation too! You can just use all the build in functionality in a very simple way by using the classes. Also check out the check boxes with which you can select all the days of a month, not as simple as it looks to program…
3) I’ve edited the video and put it online as a Flash flv file and you can play in from the homepage using the simple player. There wasn’t very much useful material for the motorway scene, so I’ve had to improvise a little. I think the rest of the video runs smooth enough. It gives a good impression of how to use the wearable.
There are still some things to be done: the displays don’t light up more then four rings per gas at the same time, I’ll have to change that for more pollution. Maybe just light up the smallest and the largest. The Nickle Cadmium don’t supply enough power either and I don’t want to use more batteries. I’ll have to work on the Bluetooth connection. And I’ll have to interpret the Arduino values and recalculate them to ppm for every gas.
So keep an eye on this blog. All announcements will go through the website, the five most recent entrees of this blog are listed there as well.