=head1 NAME Device-Modbus version 0.02

This distribution aims towards implementing Modbus communications in Perl. It should make it possible to write Modbus TCP and RTU clients and servers.

In particular, servers should be able to execute arbitrary code to process requests. This will allow for applications such as Modbus gateways or database front-end applications that communicate directly with external devices. 

=head2 CURRENT STATUS

Currently, the distribution is under development, and it is in the process of being re-written. You can find more information at http://www.7mavida.com/tag/Device::Modbus

=head2 MILESTONES

=over

=item * Modbus TCP server

=item * Modbus TCP client

=item * Modbus RTU client

=item * Modbus RTU server

=item * Documentation

=item * Shared over CPAN

=back

As of today, the documentation is being written. Both RTU and TCP servers and clients work.

=head2 INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

=head2 DEPENDENCIES

The only requirement for the base Device::Modbus is Try::Tiny. The RTU and TCP variants have other requirements of their own, most notably Device::SerialPort for Device::Modbus::RTU and Net::Server for Modbus TCP.

=head2 SEE ALSO

The main documentation for the distribution is in L<Device::Modbus>. Please see L<Device::Modbus::RTU> and L<Device::Modbus::TCP> for serial or TCP/IP based communications.

In Perl, you can find other Modbus related distributions. I think the
leading one would be L<Protocol::Modbus>, by Cossimo, which implements
Modbus TCP clients. While there is code for RTU clients, it is not as
mature.

There are also some scripts that implement both a server and clients.
A couple worth looking at is formed by MBclient and mbserved. The
later is available in GitHub only and they were both written by the same
author, l.lefebre L<https://github.com/sourceperl>.

=head1 COPYRIGHT AND LICENCE

Copyright (C) 2015 by Julio Fraire

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.14.2 or,
at your option, any later version of Perl 5 you may have available.
