Project:HUGnet Software
From HUG Wiki
The HUGnet software is mostly written in PHP. It is an easy to write in, cross platform scripting language. It should run on any computer that will run PHP as a command line interface.
Contents |
System Overview
The system starts with the polling script, poll.php. This script is the PC interface to the endpoints. It polls endpoints for new readings as well as checking the configuration of endpoints, dealing with unsolicited packets and sending out packets that the user interface gives to it. It only deals with data local to the computer system that it is on so that even if the network connection dies it still keeps polling. It puts all of its data into a local SQLite database.
updatedb.php is the interface between that local SQLite database and the final SQL database. It moves data back and forth between the two, does the actual number crunching on the packets to interpret the data and fills in the history tables.
analysis.php is run periodically to check the data and to compute averages.
The user interface then takes the data and displays it. Currently this user inteface is web based built as components to the content management system Joomla.
Required Operating System
Any operating system that will run the external software needed should work with the HUGnet code. That is one of the advantages of the code being all interpreted instead of compiled.
External Software
This is software we are using from third parties. We didn't write it, which is a good thing. All of this software can be downloaded from the internet from the sites listed. HUGnet code should run on any OS that this software will run on.
Required Software
- PHP
- Script language. It must be compiled with:
- gd support
- mysql support
- socket support
- Perl Compatible Regular Expression (PCRE) support
- posix support
- sqlite support
- Must be compiled for both command line operation and embedded into the web server chosen.
- PHP Enabled web server
- Apache is tested. Others should work.
- Database Server
- MySQL is tested. Other SQL servers should work.
- ser2net
- A serial port server. It makes serial ports available on TCP sockets. Can be replaced with hardware. See External Hardware
- Joomla
- Web CMS. Required for the HUGnet user interface
- Subversion
- Source code version control software. This is used to check out the code. There currently isn't another way to get this code.
Other Useful Software
- OpenVPN
- If the Data Collector and the Database Server are not on the same machine and remote from each other. This program can create a virtual private tunnel between them so that data doesn't have to be transmitted over an insecure link.
License
All HUGnet software will be released under the GNU General Public License.
See Also
|
HUGnet Software
|


