User Tools

Site Tools


chumbysoftware

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

chumbysoftware [2010/07/09 11:41]
gonium
chumbysoftware [2012/10/30 10:27] (current)
Line 1: Line 1:
-=== Installation of the Chumby Software === +=== Update your Flukso ===
-You need a recent version of the Chumby Software Image, as described here: [[ChumbyImageHowto]]. The image contains various Ruby scripts to retrieve data from external sources and exposes it to Flash frontends. All software is installed to /mnt/storage so that it runs from the internal SD card.+
  
-=== Setting up the environment for internal use ===+NOTE: This should not be needed anymore, as the Flukso has an automated update process. 
 + 
 +The Chumby software relies in part on the availability of the Flukso local interface. If you have a "/tmp/sensor" directory with some sensor hashes in it, you're good to go. Otherwise, you need to update your Flukso Installation. See [[FluksoUpdate]]. 
 + 
 +PLEASE NOTE: The current Flukso does not provide the local interface. It can be installed by replacing the LUA scripts in /usr/share/lua/flukso with the ones from the Flukso Git Repository. Then: "ln -s /tmp/sensor /www/sensor". Stay tuned. 
 + 
 +=== Installation of the chumby software (the new way) === 
 +  * Go to the mySmartGrid website and select "Download chumby image" from the website. 
 +  * Fill in and submit the form. 
 +  * Download the created image. 
 +  * Unzip the image to an usb stick 
 +  * Plug the usb stick in your chumby 
 +  * Restart your chumby 
 + 
 +With a control panel version %%<=%% 2.8.74 the usb stick with the file profile.xml has to be present whenever you want to see the visualizations. 
 + 
 +=== Installation of the Chumby software (the old way) === 
 +== Get the software package == 
 +See [[ChumbyImageDownload]]. 
 + 
 +== Installation of the Chumby Software == 
 +You need a recent version of the Chumby Software Image, as described here: [[ChumbyImageHowto]]. The image contains various Ruby scripts to retrieve data from external sources and exposes it to Flash frontends. All software is installed to /mnt/storage so that it runs from the internal SD card. By convention, this is the filesystem layout for our components: 
 + 
 +<code> 
 +/mnt/storage/usr                     # where all mysmartgrid components live 
 +/mnt/storage/usr/etc                 # configuration files 
 +/mnt/storage/usr/{bin|lib|...}       # the obvious unix filesystem layout 
 +</code> 
 + 
 +Some special files for initializing the environment: 
 +<code> 
 +/mnt/storage/environment.sh          # shellscript to set up the environment for interactive use 
 +/mnt/storage/usr/etc/msg-init.rc     # init script to hook into userhook2 
 +</code> 
 + 
 +== Setting up the environment for internal use ==
 If you log into the Chumby via SSH, run  If you log into the Chumby via SSH, run 
 <code> <code>
 $ /mnt/storage/environment.sh $ /mnt/storage/environment.sh
 </code> </code>
-to get an interactive shell with an updated environment. +to get an interactive shell with an updated environment. If you don't have this script - its very simple: 
- +<code> 
-=== Configuring the daemon ===+export LD_LIBRARY_PATH=/mnt/storage/usr/lib:$LD_LIBRARY_PATH 
 +export PATH=/mnt/storage/usr/bin:$PATH 
 +ash 
 +</code> 
 +Since the integrated ash does not support sourcing files, it opens a new shell in the end. 
 +== Configuring the daemon ==
 The Ruby daemon "msg-chumby-daemon" retrieves the current power consumption from your Flukso. It depends on an configuration file which you need to adjust. A template can be found in "/mnt/storage/usr/lib/ruby/gems/1.8/gems/msg-chumby-display-0.2.0/etc/msgchumbydaemonrc" (depending on the version of the gem). Copy it to "/mnt/storage/usr/etc" and edit it to reflect your local Flukso settings. For example: The Ruby daemon "msg-chumby-daemon" retrieves the current power consumption from your Flukso. It depends on an configuration file which you need to adjust. A template can be found in "/mnt/storage/usr/lib/ruby/gems/1.8/gems/msg-chumby-display-0.2.0/etc/msgchumbydaemonrc" (depending on the version of the gem). Copy it to "/mnt/storage/usr/etc" and edit it to reflect your local Flukso settings. For example:
  
Line 23: Line 62:
 </code> </code>
  
-Access token and sensor id are needed to retrieve longterm values from the website. The FLUKSO_* variables describe where the Flukso lives on the local LAN, and what sensor ID should be queried. +Access token and sensor id are needed to retrieve longterm values from the website. The FLUKSO_* variables describe where the Flukso lives on the local LAN, and what sensor ID should be queried. Copy this template to "/mnt/storage/usr/etc" and edit it.
  
-=== Linking the software into the startup process ===+== Running the daemon == 
 +For interactive use, you can start the daemon like this: 
 +<code> 
 +# /mnt/storage/environment.sh 
 +# msg-chumby-daemon -c /mnt/storage/usr/etc/msgchumbydaemonrc 
 +</code> 
 + 
 +== The Flash Widgets == 
 + 
 +The widgets for presenting the current power consumption are distributed as a part of the Ruby gem. You can find them in "/mnt/storage/usr/lib/ruby/gems/1.8/gems/msg-chumby-display-0.2.0/widget". To run a widget manually, follow these steps: 
 +<code> 
 +# Kill the running control panel 
 +/usr/chumby/scripts/stop_control_panel 
 +# Run the desired widget 
 +/usr/bin/chumbyflashplayer.x -i <path/to/widget> 
 +</code> 
 + 
 +== Linking the software into the startup process == 
 + 
 +For demos I configure the Chumby so that the standard control panel is not started. Instead, before the control panel ist started, I run the widgets manually. You can adjust the userhook2 to do this, see [[http://wiki.chumby.com/mediawiki/index.php/Chumby_Rootdisk_-_RFS1_(analyzed)]]. A startup script looks like this  
 +(usually stored in "/mnt/storage/usr/etc/msg-init.rc"): 
 +<code> 
 +#!/bin/sh 
 +# init script for the chumby demo mode - no integration in chumby runtime. 
 +BASEPATH=/mnt/storage/usr 
 +DAEMON_BIN=$BASEPATH/bin/msg-chumby-daemon 
 +DAEMON_CONFIG=$BASEPATH/etc/msgchumbydaemonrc 
 +FLASHPLAYER_BIN=/usr/bin/chumbyflashplayer.x 
 +WIDGET_SWF=$BASEPATH/lib/ruby/gems/1.8/gems/msg-chumby-display-0.2.0/widget/currentpower/currentpower.swf 
 + 
 +if [ -x $DAEMON_BIN ]; then 
 +        if [ -e $DAEMON_CONFIG ]; then 
 +                $DAEMON_BIN -c $DAEMON_CONFIG & 
 +        else 
 +                echo "Daemon config not found - aborting." 
 +                exit 
 +        fi 
 +else 
 +        echo "Daemon executable not found - aborting." 
 +        exit 
 +fi 
 + 
 +stop_control_panel 
 +# give the ruby stuff some time for startup 
 +sleep 15 
 + 
 +if [ -x $FLASHPLAYER_BIN ]; then 
 +        if [ -e $WIDGET_SWF ]; then 
 +                $FLASHPLAYER_BIN -i $WIDGET_SWF & 
 +        else 
 +                echo "Widget not found - aborting." 
 +                exit 
 +        fi 
 +else 
 +        echo "flashplayer executable not found - aborting." 
 +        exit 
 +fi 
 + 
 +# Do not leave the script to prevent the control panel to be restarted automatically 
 +while :                                                                                         
 +do                                                                                              
 +        sleep 360                                                                               
 +done  
 +</code> 
 + 
 +You can start this during the boot process using a "debugchumby" file on an USB stick. Just create a debugchumby script like this: 
 +<code> 
 +#!/bin/sh 
 +/mnt/storage/usr/etc/msg-init.rc 
 +</code> 
 +Put it in the root directory of the USB stick, and make it executable. Then, put the USB stick into the Chumby and cycle the power. The script gets executed after the Chumby is booted.
  
-For demos I configure the Chumby so that the standard control panel is not started. Instead, before the control panel ist started, I run the widgets manually. You can adjust the userhook2 to do this, see [[http://wiki.chumby.com/mediawiki/index.php/Chumby_Rootdisk_-_RFS1_(analyzed)]]:+HINT: You can also create an empty file "start_sshd" on the USB stick to have the SSH server started automatically.
chumbysoftware.1278668484.txt.gz · Last modified: 2012/10/30 10:41 (external edit)