CREW offers Open Access

CREW is in continuous Open Access phase to support your experiments free of charge!

Final public event & Globecom tutorial

CREW will present its final results at the Wireless Community event (Leuven, Belgium, 29 October 2015, more info) and organises a hands-on tutorial at Globecom (San Diego, USA, 10 December 2015, more info)

CREW PORTAL: access the CREW facilities

Interested in using the CREW facilities?
[Start here] - [Browse by name] - [Overview images] - [Advanced info] - [WTA GitHub].

IMEC sensing engine in w-iLab.t office

Following w-iLab.t nodes are equipped with the IMEC sensing engine (currently, only one node is accessible to the general public):

  • node24 @w-iLab.t Office

Basic usage

From earlier experiments we could observe that the sensing engine can grab the 2.4 ISM band  (in 768 FFT bins) ca. 60 times a second. (This rate depends on the resources of the host machine, it is possible that the alix becomes a bottle neck here.) To reduce this rate we decided to scale back to 3 times a second with a software max-hold filter. 

w-iLab.t Office

  • The experimenter must run an iPlatform on the nodes where he/she wants to use the sensing engine.
  • He/she should invoke the /work/startImecSensing on the node itself from the command line or from the iPlatform start_mount_code.
  • The resulting data of the IMEC sensing engine is then stored in the seIMEC table of the mysql database wilabinfo.  If you don't have access please ask the maintainers of the lab.
  • The  information of seIMEC table can be used as any other information in the visualiser and analyser tools.

We experienced that the current code is consuming all the CPU resources of the alix.

Advanced usage

A more advanced use of the sensing engine is based on changing the code that can be found on the wilabfs file server at /work/imec-sensing/sensing_engine_20120210/. The two scripts located in this directory are essential, they are called setup.csh which should be used on wilabfs to build your code with the Makefile and the run.csh  which should be invoked on the node itself to start the sensing engine.

To be able to change the code you should copy the directory or at least the main.c to your local directory on wilabfs. After a successful setup.csh the resulting binary can only be executed on the nodes that are equipped with the IMEC sensing engine. More information on the API of the IMEC sensing engine can be found in the header files located at /work/imec-sensing/sensing_engine_20120210/library.  If you have more questions on this matter please do not hesitate to contact the maintainers of the lab.

Behind the scenes of the distributed sensing

... or streaming the data coming from the sensing engines towards a central database.

We used a recent version of ncat which you get here.

On the server

For the basic usage we create a table in the wilabinfo database as described in the attachment createTableSeIMEC.txt .

We define a script with name myServerScript like this:

#!/bin/bash
MYSQL_CMD='mysql -uwilabinfo -pwilabinfo wilabinfo -B -s -e'
while read data; do
    $MYSQL_CMD "insert seIMEC values ($data)";
done

We run this in command line on myServer, here we selected 25 as the number of maximum clients

ncat -m 25 -kvlu myPort -e myServerScript

On the client

Currently the stderr of the run.csh is redirected to /tmp/sensingData.dat which was setup with the following commands.

mkfifo /tmp/sensingData.dat
chmod 666 /tmp/sensingData.dat

We define a script with name myClientScript like this:

#!/bin/bash
while true; do
    cat  /tmp/sensingData.dat | while read line; do
        echo $line
    done
done

And we execute ncat and execute the IMEC code:

ncat myServer myPort -p myPort -ue myClientScript &
run.csh 2> /tmp/sensingData.dat
 
AttachmentSize
createTableSeIMEC.txt15.18 KB