Requirements

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 make.

  • 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-JSON

Monitor 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
Last edited 2012-03-02 22:26 UTC