JANOS Help System: [Commands] [Topics] [Tech Support] [Printable Manual] [Search]
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]