Samstag, 10. März 2012

DUL Radio

(scroll all the way to the bottom for a link to the code)

At TEI2012 met a group of people from Aarhus University, demoing their new little wireless board.

http://www.digitalurbanliving.dk/news/news/dul-radio.php

Its called a DUL Radio and, well... its pretty cool. They where kind enough to give me a sample, and I have been playing around with the processing library they provided. I am also writing a small signal processing library, since I have noticed that there are certain functions I tend to re-use a lot.

Both libraries are used in following video:



*

So what can these things do?
- Up to 4 green sensorBoards can connect to on receiver.

Each sensorBoard has:
- a slot for a coin battery
- One 3 axis accelerometer built in
- Two analog inputs
- One of these inputs can in future be used as a PWM output.

This gives you a total of 4 Accelerometers, 8 Analog Inputs and 4 PWM outputs for your project!

*

Below you can see the receiver board on the left, one sensor board in the middle and an xBee pro module on the right. Note that the xBee pro does not have an accelerometer built in, nor does it come with its own powersource. Oh, and the DUL radio is much easyer to use :-)



 Just comparing their size with an arduino
And a closer look...











(thanks to Johanna Rannula for taking the pictures)
*

So how do you get these to work?


To clarify how simple this is: My biggest problem with getting this set up was, that I did not realize how easy it is. Becouse of this, I tried solving problems which did not exist.

So, for windows 7, 32bit, this is what you do:

a) Install driver


  • - Download it:
http://dl.dropbox.com/u/350755/AT90USBnRF-AT90USB162-usbdevice_cdc_rf-1_0_0-doc.zip
  • - Plug in the receiver
  • - go to Device Manager
  • - find Bootloader & Gateway USB Stick
  • - click Update Driver Software
  • - click Browse My Computer For Driver Software


Its not completely obvious where in that zip it actually is. This is the correct path:
AT90USBnRF-AT90USB162-usbdevice_cdc_rf-1_0_0-doc\...
...AT90USBnRF-AT90USB162-usbdevice_cdc_rf-1_0_0-doc\...
...demo\...
...AT90USBnRF-AT90USB162-usbdevice_cdc_rf\

I also had a wierd issue with my file encryption. When I tried to install the driver, I was told that "Access is Denied". I figured out that it was some wierd encryption issue. If you have that problem as well, you can solve it by:
RightClick on folder / General / Advanced / uncheck "encrypted" and apply to all folders

b) Do something with it

It appears, that the software of choice for interfacing with the DUL radio is Cycling74s Max/MSP/Jitter. If you are like me and graphical programming frustrates you, then you might want to check out their processing library:

http://dl.dropbox.com/u/350755/DULRadio.zip

How to install the library:


  • - Find your Processing Sketchbook
  • - Find or create a folder "libraries" in your sketchbook
  • - Create a folder called DULRadio and copy the content of the zip file there.


The library is still under development, so its sort of bumpy. The most important thing to realize is that dul.getDULData() returns an array of the datatype Object. You need to "cast" it into integers in order to work with it.

The way it is done in the example did not work for me. What I had to do is this:


int[] values = new int [4]; //create an int array for storing your data

// request data from the DUL radio
objData = dul.getDULData();
//use this to see the values which are coming in, prior to any manipulation:
println(objData);

//parsing objData
if (objData != null) { //only do this if there is data to work with
for (int i = 0; i < values.length; i++){
values[i] = (Integer) objData[i]; //cast the Objects as Integers
}
}

all the sensor data is now in the values array and should be easy to work with.

*

If you have any questions e-mail me. You can download the code here: www.paulstrohmeier.info/DUL_Processing.zip

p.

Keine Kommentare:

Kommentar veröffentlichen