Linux Reef Controller – NSLU2 Sensor Server

The Linksys NSLU2 Network Storage Link device can easily be hacked with a modified firmware and used as a sensor server for your LRC. Here’s how!

  • First you gotta find one! Since they are not manufactured anymore this can be tough or expensive!
  • Download the latest Unslung firmware from here.
  • Follow the firmware flashing instructions provided in the Unslung Firmware README
    • Make sure to follow the instructions TO THE LETTER!!

  • After you have sucessfully flashed your NSLU2, ssh into it and perfrom the following commands to update it:

  • After the device reboots install some necessary packages
    • Follow the guide here to fix an issue with the hardware clock and ntpclient

  • Setup OWFS
    • Add the following to the owfs-feed.conf file:
    • Save the file and run the following commands:
    • You should be able to access the owfs server from the built in web interface.
      • http://DEVICEIP:3001/

  • Your Linksys NSLU2 is now ready to serve as a OWFS sensor server
  • Get yourself one of these and some sensors, plug them in and reboot the NSLU2 for the correct modules to load on boot.
  • Once the device is rebooted you should be able to see the sensor Id’s listed in the web interface.
  • You can also view all of the devices by using the following owfs commands in an ssh session
    • List the one wire directory tree:
    • List a sensor directory:
    • Read sensor data:
      • A temperature sensor read example in Farenheit

  • Your Slug is now ready to be polled by the webserver via cron jobs and perl scripts!

Linux Reef Controller – Example Script & Cron Entry

This page will run through a perl script that is used on the Web Server in order to process polled data from sensors attached to Sensor Servers on your sensor network.

The script can be stored anywhere as long as it can be called by cron. It can also be reused for each sensor on your network by just making a few small modifications. This script is the heart of the project and provides sensor polling, website updates, graph generation and updating, email alerts, and logging.

To have the script run every 5 mins setup a cron entry:

  • Append the following line to your crontab to have the script run every 5 mins:
  • Restart Cron
  • This will create a cron job that runs the script at every 5 mins and logs any runtime errors to