Friday, 29 January 2016

ActivInspire and Linux

At school we have a number of ActivInspire Boards installed, and when they were “new” we had Windows XP machines running them. Now they are run on staff laptops running Windows 7, but I wanted to get them running on Linux.

From an older blog, I found some instructions:

Firstly, install the libjpeg62 library:
sudo apt-get install libjpeg62

(Edit: as I’m running 64-bit Ubuntu 14.04, I had to install the libjpeg62:i386 package instead ...)

Next, add the following into the ‘Other Sources’ in the Software Centre:
deb http://activsoftware.co.uk/linux/repos/ubuntu trusty oss non-oss

Now add the Promethean key:
wget http://www.activsoftware.co.uk/linux/repos/Promethean.asc && sudo apt-key add Promethean.asc

I found that I had to install ia32-libs, as ActivInspire requires it (even though it is a deprecated library ... sigh). I followed these instructions:

sudo dpkg --add-architecture i386 
cd /etc/apt/sources.list.d 
sudo echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" > ia32-libs-raring.list 
sudo apt-get update 
sudo apt-get install ia32-libs
sudo rm ia32-libs-raring.list

... and now I can finally install ActivInpire!

sudo apt-get install activinspire activtools activdriver

Easy ...

Wednesday, 27 January 2016

Deleting Files

Sometimes, you want to delete all but one of a file from a folder. Using a GUI, it’s fairly straightforward—Ctrl-A will normally select the files, Ctrl-click on the file you don’t want to delete to de-select it, and ... delete.

What about from the command line? Sometimes (like on a headless server or when you ssh into the computer at work) you need to do the same thing from a shell. Here’s the best way I’ve found to do that:

find . ! -name 'file.txt' -type f -exec rm -f {} +

This will delete every file from the current directory except file.txt.  Nice and easy.

Raspberry Pi and Weather

I’ve just set up my new Raspberry Pi as a web server for the weather station my wife got me for my birthday last year.

The initial setup was very straightforward:
  • Plug the Raspberry Pi into the TV and power up
  • Configure the Pi to start into console mode (as I’m running the Pi as a headless server) and install ssh
  • Log on, startx and set up the USB wifi module.
... and the first interesting problem was that I couldn’t access the Pi using its name; ssh (and ping and everything else) could only use the IP address. Running
sudo apt-get install avahi-daemon
 got around this problem—I can now ssh to dave@raspberrypi.local :-)

Next issue—while the time had been set once the wifi had been set up, the time zone was all wrong. Running
sudo dpkg-reconfigure tzdata
allowed me to set the timezone correctly. Now I could shut down, move the Pi to where the weather station console is, restart and set up Cumulus. Again, it was fairly straightforward following the instructions:
  • Install mono-complete
  • Unzip the CumulusMX installation files into ~/CumulusMX
  • Run Cumulus using sudo mono CumulusMX.exe
At this stage, I haven’t plugged in the weather station. I was then able to set up the location, units etc using the web interface from my laptop. Once correctly set up, I then stopped Cumulus.

As the weather station was installed before Christmas, I wanted to ensure that all te data was downloaded. I edited the newly-created file Cumulus.ini:
StartDate=Monday, 21 December 2015
and created the file data/today.ini:

[General]
Date=21/12/2015
Timestamp=2015-12-21T00:00:00
CurrentYear=2015
CurrentMonth=12
CurrentDay=21

Running Cumulus again downloaded all the data from 21 Dec, and we were in business!

Last thing to set up was ensuring Cumulus kept running evening when I exited ssh, so I used the script kindly provided by slashmusic—this worked perfectly, and I now have my Pi running as a little webserver collecting weather information continuously!