Recently, I was contacted by a student who expressed interest in this project. I've updated the installation process to make it easier and created a new post on my website highlighting the process. Since I've run in to website stability problems in the past, here's a rehash of the steps.
Step 1 get the software
cd ~
wget http://www2.vernier.com/download/GoIO-2.53.0.tar.gz
tar zxvf GoIO-2.53.0.tar.gz
Step 2 Install dependencies and build
sudo aptitude install build-essential automake1.9 dpkg-dev libtool libusb-1.0-0-dev
sudo apt-get install git uuid-dev
cd GoIO-2.53.0
./build.sh
Step 3 Check
cd ~/GoIO-2.53.0/GoIO_DeviceCheck
./build.sh
./GoIO_DeviceCheck
Step 4a Build Library
cd ~
git clone https://github.com/bobthechemist/VernierPi
cd VernierPi
mcc -o vernier vernier.c vernier.tm -I/usr/include/GoIO -lGoIO
Step 4b Check that library works
link = Install["/home/pi/VernierPi/vernier"]
getDeviceInfo[]
getSimpleMeasurement[]
Step 4c Create simple display
link = Install["/home/pi/VernierPi/vernier"];
(* set up some limits. Low and high for visualization and crazy to
indicate that the reading is probably an error *)
low = 200; high = 5000; crazy = 10^6;
(*initialize the output variable*)
out = getSimpleMeasurement[];
(*The current version of the vernier link doesn't always read the sensor properly;the function below ignores bad readings*)
f := Module[{t}, t = getSimpleMeasurement[]; If[t > crazy, out, t]];
task = CreateScheduledTask[out = f, 2];
StartScheduledTask@task;
AngularGauge[Dynamic@out, {low, high}]
Here's what the notebook looks like with a carbon dioxide sensor attached. I'm exhaling on the sensor.