Sheeva Revisited
It has been three months now since I posted a note on the Sheeva Plug Computer. I have been quite busy with the Sheeva all the time. Currently running three of them. Two in a full production environment and one as a development system. The three Sheevas make for my small data center.
The first one, as originally intended, runs MeteoHub. MeteoHub is a software, that collects and processes data from weather stations. In my case initially it was just one station - the Davis Vantage. MeteoHub was doing a perfect job with the Davis weather station. The configuration was very simple and everything was running smoothly from the very start. My appetite was growing. Davis has just one internal temperature sensor and I thought it would be nice to have temperature measured in many places around the house - the attic, the cellar, the garage and so on... I found a source of cheap (~$8) wireless temperature / humidity sensors manufactured by Oregon Scientific and bought 10 of them. Then I used a universal 433 MHz receiver by RFXcom (www.rfxcom.com) as a bridge between the wireless sensors and the Ethernet LAN. The RFXcom receiver is seen by the MeteoHub software as just another weather station and it works very well too. So well, that soon after I purchased another RFXcom and installed it in my country cottage, that by the way I have interconnected via IPSEC tunnel, so networks in both locations are bridged together. All in all there are 16 sensors reporting real time data to the Sheeva. That data is being archived on a 4GB SD card plugged into the Sheeva and once a week is being automatically backed up to the NAS server.
After having all that wealth of information collected I thought it would be nice to have at least some of it available from the Internet. And this requires setting up a web server. As the MeteoHub has to have access to other LAN devices for data collection, I had to prepare a separate server for web publishing. The reason has been security. Web server should sit in DMZ and be as locked down as possible. Another Sheeva was the obvious candidate. Sheeva by default runs Ubuntu 9.04 (Jaunty), and Ubuntu is a perfect environment to run a simple web server. Preparing it was a steep learning curve for me. I had to install and configure FTP server (MeteoHub uploads various graphs periodically to it), then install and configure Apache with SSL, which is not extremely difficult, but involves a number of steps causing a newbie like myself to sweat. It is working now as intended and has even passed security audit by an experienced system administrator - a major reward for my hard work :).
The deeper I dive into the world of small, screen-less Linux-based machines, the more ideas on what to do with them emerge. They are fantastic for learning (and in my case - coming back to) writing code. As I write this post, the Sheeva is compiling an updated version of bash... My first Linux compile ever... I keep my fingers crossed it will make it... And we will be returning to the subject here in future, as it gets more and more interesting as new application ideas emerge...
The first one, as originally intended, runs MeteoHub. MeteoHub is a software, that collects and processes data from weather stations. In my case initially it was just one station - the Davis Vantage. MeteoHub was doing a perfect job with the Davis weather station. The configuration was very simple and everything was running smoothly from the very start. My appetite was growing. Davis has just one internal temperature sensor and I thought it would be nice to have temperature measured in many places around the house - the attic, the cellar, the garage and so on... I found a source of cheap (~$8) wireless temperature / humidity sensors manufactured by Oregon Scientific and bought 10 of them. Then I used a universal 433 MHz receiver by RFXcom (www.rfxcom.com) as a bridge between the wireless sensors and the Ethernet LAN. The RFXcom receiver is seen by the MeteoHub software as just another weather station and it works very well too. So well, that soon after I purchased another RFXcom and installed it in my country cottage, that by the way I have interconnected via IPSEC tunnel, so networks in both locations are bridged together. All in all there are 16 sensors reporting real time data to the Sheeva. That data is being archived on a 4GB SD card plugged into the Sheeva and once a week is being automatically backed up to the NAS server.
After having all that wealth of information collected I thought it would be nice to have at least some of it available from the Internet. And this requires setting up a web server. As the MeteoHub has to have access to other LAN devices for data collection, I had to prepare a separate server for web publishing. The reason has been security. Web server should sit in DMZ and be as locked down as possible. Another Sheeva was the obvious candidate. Sheeva by default runs Ubuntu 9.04 (Jaunty), and Ubuntu is a perfect environment to run a simple web server. Preparing it was a steep learning curve for me. I had to install and configure FTP server (MeteoHub uploads various graphs periodically to it), then install and configure Apache with SSL, which is not extremely difficult, but involves a number of steps causing a newbie like myself to sweat. It is working now as intended and has even passed security audit by an experienced system administrator - a major reward for my hard work :).
The deeper I dive into the world of small, screen-less Linux-based machines, the more ideas on what to do with them emerge. They are fantastic for learning (and in my case - coming back to) writing code. As I write this post, the Sheeva is compiling an updated version of bash... My first Linux compile ever... I keep my fingers crossed it will make it... And we will be returning to the subject here in future, as it gets more and more interesting as new application ideas emerge...
Comments
Post a Comment