User Tools

Site Tools


fluksoupdate

This is an old revision of the document!


If you are at ITWM HPC

If you work for the ITWM HPC department, you can use a machine specially prepared to allow Flukso updates. The machine is located at the corridor, close to the printer cpsG1a. Please, take the following steps.

  1. Login as user “flukso”, informing the mySmartGrid administrator's password.
  2. Connect the device to the cables available on the desk, properly labeled as “Flukso Power” and “Flukso Network”.
  3. Wait until the device right-most blue led starts blinking.
  4. Double click the shortcut named “Update Flukso” available at the Linux Desktop. A terminal window will open. Please, wait its execution to complete. Ignore any message requesting password.
  5. When the terminal window is closed, disconnect the cables. The Flukso device is up-to-date now.
  6. If you have more devices to be updated, simply repeat this procedure from step 2.
  7. When you finish, please don't forget to logout.

Update your Flukso to the for mySmartGrid adjusted version

For this method you need a POSIX compliant shell, ssh and expect installed.

The sourcecode is available at Mathias' github page: http://github.com/gonium/msg-flukso. Clone it to have your own local copy. The repository contains the three parts: Microcontroller firmware, Router board software (openwrt) and the code for the website. We're only interested in the openwrt part.

The update script is located at openwrt/package/luci/applications/mysmartgrid/luasrc/tools/flukso_update.sh in git. To update your Flukso make sure that it has access to the internet. If you want the Flukso to use the internet connection of your computer, enable IP-forwarding and change the IP in the update script.:

IP="192.168.255.254" # The IP of your computer

Now run the script while your computer is connected to the Flukso.

Update your Flukso to run the development version

The sourcecode of the Flukso is available at Bart's github page: http://github.com/icarus75/flukso. Clone it to have your own local copy. The repository contains the three parts: Microcontroller firmware, Router board software (openwrt) and the code for the website.

Updating the Flukso

For the local interface to work you have to update the Lua scripts installed in ”/usr/share/lua/flukso”. I suggest that you make a backup copy. Then you simply scp the updated files from the github repository to the Flukso (At time of this writing it is located under flukso/mote/v1/openwrt/package/flukso/src in git). If you're using mySmartGrid, you have to adjust the logging location afterwards. Open flukso.lua and edit the xmlrpcaddress entry to look like this:

xmlrpcaddress = 'http://dev2-logger.mysmartgrid.de/xmlrpc'

Open heartbeat.lua and change the xmlrpcaddress and server entry to:

server        = 'dev2-logger.mysmartgrid.de',
xmlrpcaddress = 'http://dev2-logger.mysmartgrid.de/xmlrpc',

After restarting the flukso daemon, you should have a ”/tmp/sensor” directory:

root@flukso:/tmp/sensor# ls
21dbb8a1b3b27e51d9b8384d6daf6a20  acff964b2308069847f02222bb3a6fd1

The last 60 seconds of measurements are stored there in JSON format:

root@flukso:/tmp/sensor# cat acff964b2308069847f02222bb3a6fd1 
[[1279099535,0],[1279099536,0],[1279099537,0],[1279099538,0],[1279099539,0],[1279099540,0],[1279099541,0],[1279099542,0],
[1279099543,0],[1279099544,0],[1279099545,0],[1279099546,0],[1279099547,0],[1279099548,0],[1279099549,0],[1279099550,0],
[1279099551,0],[1279099552,0],[1279099553,0],[1279099554,0],[1279099555,0],[1279099556,0],[1279099557,0],[1279099558,0],
[1279099559,0],[1279099560,0],[1279099561,0],[1279099562,0],[1279099563,0],[1279099564,0],[1279099565,0],[1279099566,0],
[1279099567,0],[1279099568,0],[1279099569,0],[1279099570,0],[1279099571,0],[1279099572,0],[1279099573,0],[1279099574,0],
[1279099575,0],[1279099576,0],[1279099577,0],[1279099578,0],[1279099579,0],[1279099580,0],[1279099581,0],[1279099582,0],
[1279099583,0],[1279099584,0],[1279099585,0],[1279099586,0],[1279099587,0],[1279099588,0],[1279099589,0],[1279099590,0],
[1279099591,0],[1279099592,0],[1279099593,0],[1279099594,0]]

In order to export these values create a symlink for the webserver:

# ln -s /tmp/sensor /www

Then the sensor readings can be queried from another machine like this:

$ curl http://192.168.2.102/sensor/acff964b2308069847f02222bb3a6fd1
fluksoupdate.1296207346.txt.gz · Last modified: 2012/10/30 10:40 (external edit)