Overview JNIOR
PRODUCT OVERVIEW
JNIOR is general purpose single board computing device designed to flexibly
interact with other devices, collect data, initiate complex actions, and to
support remote users and systems. Unlike the personal computer the JNIOR does
not utilize a screen, keyboard or mouse. It has been developed to be
integrated/embedded into other systems. One uses, maintains and programs
the JNIOR through the network using a web browser or other application. The
product line offers a number of JNIOR models and accessories.
The JNIOR is a highly stable and reliable product. It offers a low cost of
ownership with no intended obsolescence, no need of periodic replacement, and
no ongoing charges. It is ideal for incorporation into any system where you
need confidence that it is fully supported by the company and will be available
for years to come. In fact JNIORs shipped in 2005 (Series 3) are still in
operation today.
Support is both free and frustration-free in that no AI or contract support
people are ever involved. When you need help you are assisted by the actual
product and application developers. There is no need to elevate any issue as
there is no one better suited to address the problem than those helping you.
Your needs can be quickly addressed even if it requires a software/firmware
change.
Uniquely, JNIOR has been completely developed by INTEG and those people remain
directly involved today. The product is produced in our own facility. The
operating system (JANOS) for the Series 4 was developed by a single author and
involves absolutely no third party code or open source ensuring that any
(replicable) issue can be immediately corrected. Even the more complex random
concerns can be eventually hunted down and extinguished. There is just no where
to point fingers. No one else to blame.
The product reflects decades of experience with equipment interfacing, low-level
network communication protocols, monitoring and automation. As a result there
are numerous diagnostic capabilities built into the system providing the tools
you need to maintain the performance of any application. These include a
network sniffer (see
NETSTAT), I/O log, serial transmission logs, performance
monitors and more.
The JNIOR is a technologically advanced tool, an inexpensive Programmable Logic
Controller (PLC), that can be easily configured and optionally programmed by
the user to handle automation, control and data collection tasks. The product
has the capacity to handle multiple simultaneous tasks efficiently and to serve
custom websites robustly through its full-featured webserver. The JNIOR has
found a wide range of uses in locations all across the globe.
FUNCTION
The Series 4 JNIOR utilizes a single 32-bit microprocessor supported by a
variety of memory components creating an ideal environment for a general purpose
operating system. The JANOS operating system was developed to be optimized
for such a device and to be as consistent as possible with the earlier
Series 3 product.
There are various input and output (I/O) capabilities. Each JNIOR supports
4 to 12 low voltage signal
relays (1A/30V). These are available to make or
break external logic circuits as might be needed to cause action. Similarly
there are from 4 to 12 digital
inputs that generally accept a low voltage
to indicate either an ON or OFF state. These inputs can be used to status the
world around the JNIOR and each supports counting and metering capabilities.
Each JNIOR has 2 serial channels. These can be used to communicate with
other devices and systems. You might transmit a command to prompt another
device (such as a projector) into action. Or you might request/receive
information that can be passed on to other systems or used to trigger some
programmed action. One serial port (RS-232
COM) provides terminal access
to the JANOS command line. The command line is the heart of any operating
system.
Importantly the JNIOR has a 10/100 Mbit Ethernet LAN port. The product supports
a complete TCP/IP stack and is thereby accessible from the local network as
well as through the Internet if desired. JANOS supports a range of protocols
such as HTTP, HTTPS, FTP, SSH, and Telnet including the JNIOR Protocol and
the JANOS Management Protocol (JMP). INTEG supplies the Support Tool which
is an application for the PC that can greatly assist in the management of
any number of JNIORs at any one site.
And finally there is the Sensor Port or Expansion Bus that allows the JNIOR to
communicate with a number of external modules. Those accessories can provide
additional relays (10A/220VAC), 10V analog signals, and 4-20ma current loop.
There is also a 3-channel LED dimmer and a rack mounted switch panel with
indicators.
UNPACKING
The JNIOR is sold in quantity to integrators and system providers. It is not
sold in retail outlets. It is therefore not packaged in typical retail form.
The JNIOR is quite literally a
Black Box given that its enclosure is black
but also as according to the
Oxford Dictionary it is a "complex piece of
equipment, a unit in an electronic system, with contents that are mysterious
to the user". This book hopes to eliminate the mystery.
Each JNIOR should be accompanied by 5 screw-terminal connectors (1 4-pin and
4 8-pin) providing connection to the various I/O and power ports. These are
typically shipped in a separate bag. Care should taken to not lose those and
to keep them with each JNIOR.
The standard supply available from INTEG is 12VDC at 1A. As these units may
be incorporated in larger systems customers are allowed to provide their own
source of power. We recommend that the power source be capable of supplying
at least 1A to each JNIOR. The voltage may also vary in the range from 10V
to 24V. The 410, 412 and 414 models can be alternatively powered by an AC
voltage.
When powered a blue LED will be illuminated on the Series 4. A green power
LED was used on the Series 3.
OS CAPABILITIES
When power is applied the JANOS operating system boots. The boot procedure
initializes and starts the various background services required by the
product.
Multi-Tasking
JANOS is a preemptive multi-tasking system. It can run up to 16 individual
programs simultaneously. The boot process completes and becomes the
Idle
process. This is where the product spends its time when it has nothing to do.
A
System process is created to perform background tasks as might be needed
from time to time. And JANOS also creates a
Network process which gives
priority attention to the network and any communications that may be necessary.
Processes are created and terminated as required. For instance when a browser
opens a webpage on the JNIOR the
WebServer process is started. The JANOS
Web Server can handle multiple simultaneous connections from any number of
users and client systems. This one process works to service all of the
transactions required. The process is terminated after a few minutes without
a connection.
Applications provided by INTEG, or written by the customer, are created using
Java. JANOS can execute Java programs directly out of the JAR files created by
the Java compiler. These must be built against the JanosClasses.jar runtime
library. Applications may be started automatically at boot or run as needed
from the command line. Application programs can be written to perform
automation tasks, collect data, perform maintenance tasks, augment the set of
user commands or even implement a network server and custom protocol.
A command line connection or
Console Session is handled in its own process.
Multiple console sessions may be opened simultaneously since JANOS can
support multiple simultaneous logins. Up to 32 users can be defined and
given various permissions. Typically you only need the one main administrator
account.
Applications
Application programs are available from INTEG and can be easily developed by
users with available free interactive development environments (IDEs) like
Netbeans. In order to maintain stable and reliable performance, in the face
of software obtained potentially from many sources, a
managed language is
used. A managed language basically is one that generally handles all access
to memory for the programmer limiting the chance of error that might cause a
system breakdown. For instance there is no method by which a random memory
location, one that is used by other system activities, can be accessed by
an application. No
pointers as there are in the C language. JANOS uses the
Java programming language.
Java is a compiled language. Programs written in Java are compiled by the IDE
into library files with the JAR extension. Note that a
JAR file is the same
format as a
ZIP file. Tools for the latter can be used to examine the former.
The compiled program files contain
bytecode in the form of
classes which
are loaded and executed by the operating system when called upon to do so.
JANOS supports its own Java Virtual Machine (JVM). Each application runs in
its own process with its own instance of the JVM. From the command line you
can view the processes using the
PS command. Use the -V option for details.
Networking
The JNIOR supports a Local Area Network (LAN) connection and JANOS contains
a full-featured
network stack. The operating system can receive and send
packets (UDP) as the various services may require. This also supports incoming
and outgoing TCP/IP
connections. The OS and applications can configure the
network to listen for incoming traffic and process outgoing exchanges as
needed.
Security is critical these days. The JNIOR is challenged in that the industry
continues to strengthen the levels of required security and this becomes more
and more computationally expensive (i.e. slow to calculate). The Series 4 does
support TLSv1.2 and can establish encrypted channels. These are
secure even
though a browser might complain given that the
certificates supplied by the
JNIOR have not been
signed by a paid-for authority. JNIOR supports HTTPS
web access.
WEBSERVER CAPABILITIES
The Web Server supports both user authentication and public page services.
Both plain text and TLSv1.2 secure (encrypted) communications are possible.
The JNIOR is supplied with a default WebUI providing for configuration and
status of the product.
You can create your own custom websites to replace the default WebUI. The
WebUI would then be accessible through the /config subfolder. JANOS supports
a PHP-like server-side scripting language (compiled) for dynamically rendering
web pages. Websites rendered by server-side scripting that utilize JavaScript
can create a very powerful user experience. The WebUI is an example. Code
can be extracted from the ZIP file and reviewed for reference.
JANOS uniquely can serve an entire website out of a single ZIP library file.
The WebUI. for example, is distributed in the
/flash/www/config.zip file
which is not ever expanded. Each individual file required by the website is
read from the ZIP library as needed. This means that all of the files associated
with, and required by, a website implementation are kept together in a single
library file. This affords a level of source control ensuring that all of the
files for a particular website are of the correct version and never become
missing or fall out of sync.
The webserver supports
Websockets. This allows a standard web connection to
be
elevated beyond the HTTP protocol supporting a more general binary
exchange. JANOS by default offers the
JMP Protocol through this capability.
An application can be written to handle other protocols through Websockets.
The JNIOR can be completely managed through a web connection. External access
to the standard ports (80/443) is all that is needed. The supplied WebUI
relies upon and completely demonstrates this.
The capabilities of the JANOS WebServer are sufficiently robust that the JNIOR
has found use in network-facing applications in which the built-in digital I/O
are secondary.
THE BOOK OF JANOS
JANOS includes a
HELP system which is both accessible from the WebUI and the
command line. This text therefore requires minimal formatting so it can be
displayed in textual form at the command line. The content is contained in
the
/flash/manpages.zip file written in a document styling language. The
MAN command is an alias for HELP.
HELP content is broken down into
Categories and
Topics. There are hundreds
of individual topics and the system includes a
search facility to assist in
locating the information that you are seeking.
From the WebUI you can generate a
printable manual which renders all of the
HELP content in book form including a Table of Contents and Index. All of
this with functional links which can be saved/printed to a PDF for general
reference. Applications loaded on your JNIOR can supply additional help
detail which will be included in this manual. Each manual is customized to
configuration of its source JNIOR.
The Book of JANOS available from INTEG contains this users manual content
and includes a faux leather cover with this title. While the physical book
may be a novelty it does come in handy. It also adds considerable value to
any bookshelf.
SUMMARY
The Series 4 JNIOR running JANOS is highly capable and can be applied in a
very wide variety of situations. This was designed to be generic and not
developed specifically for any one market. In contrast application programs
have been created and are supplied at no charge some of which create the product
environment for a specific market (such as digital cinema).
There is additional information, and an online store, on the INTEG website
located at
integpg.com or
jnior.com.
SEE ALSO
HELP Topics:
JMPConnect,
websocket,
JProtocol,
Java,
Compiling
[/flash/manpages/manpages.hlp:137]