aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 151a2556cdf19fbcea8ce96f1c065b8674a80687 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
pre { line-height: 125%; margin: 0; }
td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Gene
modbuslog - 2012/02/20
--------------------

modbuslog is a program designed to read from a modbus device at predefined 
intervals and store the output to file.


Compilation:
--------------------
modbuslog requires the libconfig (>=1.4.8) and libmodbus (>=3.0.1) libraries, 
and will not function without these libraries installed. Neither of these 
libraries are currently available (or if they are, are not of sufficient 
version) in the current Debian Stable release codenamed "Squeeze". This 
means that these dependencies must be manually fulfilled.

libmodbus: 	It should be sufficient to backport the current version of 
		libmodbus from Debian Testing codenamed "Wheezy"
		http://packages.debian.org/wheezy/i386/libmodbus5/download
		http://packages.debian.org/wheezy/i386/libmodbus-dev/download

libconfig:	An older, incompatible version of libconfig currently exists
		in Debian Squeeze (right the way up to Sid). An updated package
		has been created and will hopefully be included in the next
		Debian Stable release. In the mean time it is available here:
		http://mentors.debian.net/package/libconfig
		When it gets accepted, it will be available here:
		http://packages.debian.org/source/testing/libconfig

modbuslog uses a Makefile to ease compilation, and as such, can be compiled
by simple navigating to the directory and running "make". This will recompile
any files that need to be compiled.

These files can then be moved to the required directories on the target system.

Alternatively, if the code is being compiled on the target system itself,
"make install" can be used to both compile and install the software.

Required files:
--------------------

/usr/sbin/modbuslog			executable program
/usr/bin/ftpupload			ftp upload script
/usr/bin/ftphelper			ftp upload script helper
/etc/modbuslog.cfg			configuration file
/var/modbuslog/				output directory where logs are stored
/var/modbuslog/interval/interval.txt	textfile storing unique interval
/var/modbuslog/archive/			directory containing archived log files
/var/www/				webserver directory for php scripts

Configuration:
--------------------

The configuration file for modbuslog is stored in /etc/modbuslog.cfg, and is 
arranged in a hierarchical structure suitable for libconfig.

The modbus section defines the standard operating parameters for the modbus 
device, These include:
	1) device	serial port in use
	2) baud		baud rate in use
	3) data_bits	number of data bits, commonly 8.
	4) parity	parity, commonly E (even) or N (None).
	5) stop_bits	stop bits, commonly 1.
	6) retry	number of retries for each failed reading.

The ftp section defines the parameters for the ftp upload function. The
required parameters are:
	1) server	address of remote ftp server
	2) username	ftp username
	3) password	ftp password
	4) directory	directory on ftp server files will be uploaded to

The reading section defines the unique reading times that the program is 
required to log at. Each entry must contain:
	1) slaveid		modbus slave id
	2) registertype		type of modbus reading
	3) startaddress		register to start reading from
	4) numregisters		number of registers to read
	5) intervalvalue	read register every x
	6) intervalunit		(m) minutes or (h) hours

The -d argument can also be passed to modbuslog to enable a verbose debugging
mode.