twitch said:
jebatty said:
With the Arduino or otherwise, a PC is needed to log, display, chart, communicate data. Is there a PC board with ports to do the same? and programming to make it work? or a packaged system at a fair cost to do the same? Does the wheel have to be reinvented (except for the learning experience)?
nofossil's system has these features. I don't know all the specifics of his board, but I think it is basically a linux PC and has a web server and the datalogging without having to be attached to a separate computer. He has a lot of info about his controller on his web site.
There are a few tradeoffs. Standard PCs have tons of computing horsepower and are pretty cheap, but very limited in their I/O capabilities. They also consume a lot of power and depend on cooling fans and other moving parts so long-term reliability is affected. They are pretty easy to program and have a nice built-in user interface.
For my system, I wanted very low power consumption - the NFCS is under 5 watts. I also wanted standalone operation (including datalogging) and very high reliability. The consequence is that I'm using more specialized and therefore more expensive boards. The system runs a stripped-down Debian Linux with Apache web server, telnet, ftp and a bunch of other useful goodies.
By default, I log all inputs, outputs, and internal states to an SD card every minute. The system stores a full year of logged data onboard. This is a good option since you don't lose data even if your network goes down. I also support logging to a remote SQL server - that's what I do to get my live graphs.
The challenge of using a small system like this is that the programming can be difficult and require fairly specialized skills. My approach was to develop a web-based interface for defining rules so that you don't have to deal with programming languages, cross-compilers, and downloading programs. It still takes some skull sweat, but you don't have to be a programmer. For those who haven't seen it, here are a couple of screen shots. A network connection is required to define or alter rules or to monitor the system, but it's not required for the system to operate. These screen shots show a few of the tabs.
The Physical I/O tab allows you to select which inputs and outputs you're going to use. You can select the type of sensor that's plugged in to each input and provide individual sensor calibration data.
The Logs tab has clickable links for each day (in MMDD format). Clicking the link downloads that day's data into a spreadsheet on your PC.
The Rules tabs lets you display, edit, and create rules. The rules here are a simple sample application that uses a switch and LEDs on the front panel. My hope is that the rule syntax is self-explanatory.