openAlerts requires a Linux computer and some type of PLC and sensors, GPS receiver, or weather station. An alternative is a single board computer (SBC) with GPIO and sensors.
Hardware requirements for the Server is minimal - 10MB disk space and TCP/IP communications. The processor and memory can be just about anything. openAlerts has tested successfully on a 200MHz ARM micro-processor with only 32MB RAM.
Requirements for the Nodes depends on the node. The node software may reside on the same computer as the Server, or a separate device. The only requirement is support for TCP/IP communications to the server.
The following is a list of software requirements for the server in the current openAlerts release:
- Linux Operating System
openAlerts has been developed on Linux. This does not mean it cannot be ported to other operating systems. When demand exists, other operating systems will be supported.
- ANSI-C Compiler and Build System
Make sure you have an ANSI-C compiler installed. The GNU C compiler (GCC) from the Free Software Foundation (FSF) is recommended. In addition, your PATH must contain basic build tools such as
- Perl Interpreter
The Perl 5 interpreter is also required. Perl is free software and is licensed under both the Artistic License and the GNU General Public License. Distributions are available for most operating systems.
- SMTP Server Access
In order to send text and e-mail alerts an SMTP server must be available. The SMTP server can reside on the same computer as the Server or a different computer. It may also be an e-mail hosting service.
- SQL Database
openAlerts supports SQLite, MySQL, and PostgreSQL. SQLite is the default database. If you plan on using openAlerts in an environment other then an embedded application, you will need either MySQL or PostgreSQL.
- Accurate Time Keeping
Time-of-day is important for reporting and command execution. Programs normally used for this purpose are based on the Network Time Protocol (NTP). Your computer's internal clock should also be set to UTC time.
Software PackagesIn addition to the above software there are a few software packages that may not be installed with the operating system. Using a package manager, check and install the following packages.
SQLite DatabaseThe SQLite database is the default database. SQLite is an embedded SQL database engine. It's perfect for embedded application. Install the following software packages:
SQLite database and development files Version >= 3.5.9 URL: http://www.sqlite.org/ DEB: sqlite3, libsqlite3-dev RPM: sqlite3, libsqlite3, sqlite3-devel SQLite database interface Version >= 1.14 CPAN: DBD-SQLite DEB: libdbd-sqlite3-perl RPM: perl-DBD-SQLite
NOTE: SQLite may not be powerful enough for a true multi-user environment. For a more robust database we suggest MySQL or PostgreSQL found in the Optional software.
Web ServeropenAlerts requires some Perl extensions used within the web server. Install the following software packages:
CGI sessions Version >= 4.35 CPAN: CGI-Session DEB: libcgi-session-perl RPM: perl-CGI-Session HTML templates Version >= 2.9 CPAN: HTML-Template DEB: libhtml-template-perl RPM: perl-HTML-Template SOAP implementation Version >= 0.710.08 CPAN: SOAP-Lite DEB: libsoap-lite-perl RPM: perl-SOAP-Lite JSON encoder/decoder Version >= 2.07 CPAN: JSON DEB: libjson-perl RPM: perl-JSON
Monitor ServerThe Monitor server determines alerts from sensor readings. SMTP is used to send out e-mail and text message alerts. For SMTP communications install the following software package:
SMTP library Version >= 1.0.4 URL: http://www.stafford.uklinux.net/libesmtp/ DEB: libesmtp-dev RPM: libesmtp-devel