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 asmake
. - 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 Packages
In 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 Database
The 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 Server
openAlerts 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-JSONMonitor Server
The 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
