xPL4Java
- Server, Tools,
Applications and Framework for Java
xPL4Java
is a collections of applications,
tools and framework for running xPL
applications on any platform that supports Java. xPL4Java
is both the collective name for all these items and the name of the
underlying framework (something developers need to create new xPL
applications). A well written xPL4Java based application should
run on any platform with no changes.
xPL4Java requires a modern version of Java. Specifically, any
Java version 1.5 or later (sometimes called Java 5). You can
download this Java for Windows, Linux and Solaris from the Javasoft web site. Do note that
there are a lot of different download -- you only need the Java Runtime
Environment (also known as the JRE). The other downloads are
geared for developers and are enormous and full of cruft most users
will never use. For Mac OSX users, you can download it from the Apple Java Website.
There are likely other implementations of Java out there for other
platforms if you look around.
xPLHub (also available a a tgz file)
This is a Java
based, standalone, ready-to-run xPL Hub (you do not need
to have xPL4Java installed to run this). All computers running
xPL applications need to have a hub running on them or they will NOT
work. There are a number of hubs available for download at the xPL
Hubs download site that you can
use. However, you may find
there there is no hub for your particular platform or you just want a
hub that is written in Java. Source is available and
included in the download.
xPL4Java
-- Version 1.4a
This is the
"core" of xPL4Java. Any application that is meant to
be installed in the xPL4Java server needs this running on your
computer. In short, if you were directed to this page and are
not interested in the other things listed, this is what you came for.
This also includes a powerful scripting engine that allows you to write
simple scripts to react to xPL devices and control them.
xPL4Java 1.4 adds support for a fully compliant xPLHAL engine.
This lets you create determinators, events, etc in the xPLHALMgr and
have the engine/server run on any platform you want. NOTE: Right
now, you need windows to run the client side -- xPLHALMgr -- but only
when making changes. You can then shut it down and the xPL4Java
xPLHAL engine will continue to work. You MUST use the latest
xPLHALMgr application -- older ones will not work with this xPLHAL
engine.
xPL4Java also folds in previously optional modules (scripting, xPLio,
etc) into the base release. However, non-escential modules are
not enabled by default. Read up on how to enable such modules in
the CHANGELOG.txt that accompanies the download.
For developers,
xPL4Java includes a complete implementation of the xPL
protocol, including device configuration, filters and groups. It
also provides a handy server for running multiple xPL4Java applications
under a single Java JVM instance. Writing your xPL applcations to
work in this server is very eay and documented. The xPL4Java
server is not for GUI applications as the server itself is designed so
it can run as a service under windows or on a computer with now GUI
available. However, GUI apps do benefit tremendously from the
rest
of the xPL4Java framework. There are also examples of creating
xPL4Java modules (that plug into the server) and GUI apps that use
xPL4Java.
UPB4Java -- Version 1.2b
Included as part
of UPB4Java, this is an xPL4Java server module that
acts as a gateway between the UPB (Universal Powerline Bus) automation
protocol and the xPL network. via the xPL lighting schema. As with all
items here, it includes a pre-built module jar file and source.
DCM -- Version 1.1d
(also available as
a tgz file)
DCM is short for
Device Configuration Manager. DCM will list all
the xPL devices on your network and will let you configure them to your
needs (if they are, in fact, configurable). Many xPL devices and
applications can be configured and tailored to meet your particular
installation, but they require an application to let you work with that
configuration. DCM is similar to the xPLHAL program, though
xPLHAL provides many more functions than just device
configuration. But as xPLHAL is only available for Windows, other
folks had no other configuration tools before DCM. Even Windows
users may find the interface of DCM more to their liking (slightly
different take on configuring devices than xPLHAL).
DCM is, of
course, Java based and a standalone, ready-to-run
application. You do not need to have xPL4Java installed on the
computer before running it. DCM also allows you to log xPL
messages and to send xPL messages to devices.
XPE -- Version 1.0c
(also available as
a tgz file)
XPE is short for
xPL Plugin Editor and is a Java based tool for
creating and editing xPL plugin files. These files are used
by programs like xPLHAL to tailor their behavior appropriate to each
xPL device. This allows other tools to learn how to control your
xPL device and what options can be offered to a user. This is
primarily a xPL developers tool.
XPE is, if
course, java based and a standalone, ready-to-run
application. You do not need to have xPL4Java installed on the
computer before running it.
jRGBLED --
Version 1.2 (also
available as a tgz
file)
jRGBLED is both
a GUI configuration tool and an xPL4Java module for
controlling and using the RGBLED
controller. This controller allows you to control upto 13 RGBLEDs
on a single board (and you can hook up multiple boards for a max of
over 2500+ RGBLEDs). LEDs can be set to anyone one of 16.7
million colors or have animation defined (like gently wash from a
bright red to a dull red over 1 second to give a pulsing effect).
The xPL module allows controlling the lights, defining the animations
and all other functions the boards protocol allows.
Page last
updated March 22, 2008
xPL4Java is copyright 2007, Gerald R Duprey Jr
xPL4Java is
licensed under the Apache License, Version 2.0 (the
"License"); you may not
use this file
except in compliance with the License. You may obtain a
copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required
by applicable law or agreed to in writing, software
distributed
under the
License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR
CONDITIONS OF
ANY KIND, either express or implied. See the License for
the
specific
language governing permissions and limitations under the
License