Vivotek IO.XEC User manual

USER’S MANUAL
IO.XEC

2
1BEFORE STARTING 4
1.1 INSIDE THE BOX 4
1.2 GENERAL SPECIFICATIONS 4
1.3 IDENTIFYING THE COMPONENTS OF IO.XEC 5
1.4 WHAT IS NEEDED? 6
2INSTALLATION 6
2.1 CONNECTION BLOCKS 6
2.2 CONNECTING 6
2.2.1 POWER 6
2.2.2 DIGITAL INPUTS 6
2.2.3 DIGITAL OUTPUTS 7
2.2.4 ANALOG INPUT 8
2.2.5 ANALOG TEMPERATURE SENSOR 9
2.2.6 ANALOG OUTPUT 9
2.2.7 RELATIVE HUMIDITY AND TEMPERATURE SENSOR 9
3SETTING UP IO.XEC 10
3.1 WEB SERVER 10
3.2 NETWORK SETTINGS 11
3.3 HARDWARE CONFIGURATION 12
3.4 DYNAMIC DNS CONFIGURATION 13
4RETRIEVING STATUS OF IO.XEC 14
5FACTORY DEFAULTS 14
6HTTP API IO.XEC 15
6.1 INTRODUCTION 15
6.2 COMMUNICATIONS 15
6.2.1 SYSTEM PORT 15
6.2.2 AUTHENTICATION 15
6.2.3 PROTOCOL DESCRIPTION 16
6.3 DEVICE GENERAL INFORMATION 16
6.4 DEVICE HARDWARE CONFIGURATION 17
6.5 CURRENT STATUS 19
6.6 CHANGE IO.XEC CONFIGURATION 20

4
1Before starting
1.1 Inside the box
Inside the box, you must find IO.XEC and 5 wire connectors.
1.2 General specifications
The main electrical specifications are:
8 digital opto-coupled inputs, organized in 2 groups. The activation voltage is between
8V and 24V
4 relay digital outputs
4 open-collector digital outputs
1 analog input (0-10V)
1 analog input for temperature sensor
1 analog output (0-10V)
1 RS232 port
1 USB interface
expansion port

5
1.3 Identifying the components of IO.XEC
Terminal block A
Terminal block B
Terminal block C
Q1
Output 1
(relay)
V+
Power supply (12V)
SCL
Digital T+RH clock
Q1
GND
Power supply (0V)
3V3
Digital T+RH power
Q2
Output 1
(relay)
C1
Common of inputs 1-2
GND
Digital T+RH GND
Q2
C2
Common of inputs 3-8
SDA
Digital T+RH data
Q3
Output 1
(relay)
CO
Common of outputs 5-8
Q3
AT
Analog temp. sensor
Q4
Output 1
(relay)
AI
Analog input
Q4
AO
Analog output
Terminal block A
Terminal block B
Terminal block C
Expansion port
Ethernet port
RS232 port
USB connector
Terminal block E
Terminal block D
Status LED

6
Terminal block D
Terminal block E
Q5
Output 5
I1
Input 1
Q6
Output 6
I2
Input 2
Q7
Output 7
I3
Input 3
Q8
Output 8
I4
Input 4
I5
Input 5
I6
Input 6
I7
Input 7
I8
Input 8
1.4 What is needed?
To start, you’ll need:
A power supply. The minimum rating is 12Vdc/1A.
A working Ethernet network and an Ethernet cable, or alternatively, a cross-over
Ethernet cable.
A personal computer or any kind of device that can run a web browser.
2Installation
2.1 Connection blocks
2.2 Connecting
2.2.1 Power
Power should be connected in the V+ and GND terminals.
2.2.2 Digital inputs
The inputs are photocoupled, organized in 2 groups. The activation voltage, applied between
the terminal C1 (or C2) and the input terminal, is between 8V(RMS) and 24V(RMS). Here are
some examples of connection diagrams:

7
Please note that the activation voltage has no fixed polarization, therefore the terminal C1 can
be connected to a positive or negative voltage.
2.2.3 Digital outputs
There are two types of outputs: Q1 to Q4 are relay outputs, capable of switching 8A, and Q5 to
Q8 are open collector outputs.
The following diagram shows how to connect a lamp using Q1.

8
If needed, more relays can be added. The following diagram shows how to connect an external
relay to a open collector output.
2.2.4 Analog input
The analog input voltage must be connected to the AI terminal. The reference is GND.
When not in use, this feature should be disabled, in order to prevent erroneous behavior.
Please consult section 3.3.

9
2.2.5 Analog temperature sensor
The device supports 2 different sensors: LM35DZ and MCP9701. In both of them, the output
signal should be connected to the AT terminal. The reference is GND. Regarding power supply
to the sensor, the LM35DZ can be powered using terminals V+ and GND, while MCP9701 can
be powered using terminals 3V3 and GND. To choose between the two, you have to access the
IO configuration page. Please consult section 3.3.
When not in use, this feature should be disabled, in order to prevent erroneous behavior.
Please consult section 3.3.
2.2.6 Analog output
The analog output is connected to AO terminal. The reference is GND.
2.2.7 Relative humidity and Temperature sensor
IO.XEC supports Sensirion SHT75 RH and temperature sensor. Please consult the sensor
datasheet. The terminals to use are SDA, SCL, 3V3, GND.
When not in use, this feature should be disabled, in order to prevent erroneous behavior.
Please consult section 3.3.

10
3Setting up IO.XEC
All the configuration and setup of IO.XEC is made using a browser. There are no serviceable
parts inside the enclosure.
3.1 Web server
To reach IO.XEC web server, you have to use a browser like Microsoft Internet Explorer®,
Mozilla Firefox® or Google Chrome®. The checks if there is a DHCP server in the network. If
present, the IP address is updated with the address leased by the DHCP server. If not, IO.XEC
will address itself with 169.254.1.1.
In order to connect to IO.XEC, the computer running the browser must be in the same
network.
Weather the DHCP server is present, as IO.XEC has a NETBIOS name server built in, it will
always respond to a network name instead of an address. The default name is IOXEC. In
conclusion, you can access IO.XEC web server using this link: http://IOXEC

11
3.2 Network settings
In order to change the network settings, select the “Network settings” tab. After these settings
are validated, IO.XEC reboots to apply the new values.

12
3.3 Hardware configuration
Select “IO settings“to reach this page, where you can enable and disable some hardware
features of IO.XEC.

13
3.4 Dynamic DNS configuration
Dynamic DNS allows you to access your network using domain names instead of IP addresses.
The service manages changing IP addresses and updates your domain information dynamically.
This feature, along with proper port forwarding in place at the router, can enable global access
to this device behind a NAT router or firewall. Before setting up this feature, you must sign up
this service! To access this page, select the “Dynamic DNS” tab.

14
4Retrieving status of IO.XEC
The status of IO.XEC can be retrieved using a browser (see section 3.1). The “IO status” tab
should be selected. The status page refreshes itself automatically at time intervals of 500ms.
5Factory defaults
The factory defaults of IO.XEC are:
NetBIOS name: IOXEC
DHCP: on
IP address: 169.254.1.1
Subnet mask: 255.255.0.0
Gateway: 169.254.1.1
Primary DNS: 169.254.1.1
Secondary DNS: 0.0.0.0
Username: admin

15
Password: ioxec
To reset the settings to the factory defaults, do the following:
1. With IO.XEC turned on, push and hold the reset button. The with LED lights steady.
2. Hold the reset, until the LED starts flashing
3. Release the reset button, and IO.XEC will boot with the new settings.
6HTTP API IO.XEC
6.1 Introduction
This secion describes the HTTP API of IO.XEC devices. This Application Programming Interface
(API) permits the integration of this device in third party services and applications.
IO.XEC allows access to all its functionality via a proprietary HTTP API. Thought this API, third
party applications can control, if authenticated, the outputs of the device and retrieve the
status of the inputs.
The API implements a bridge between an automation application and physical inputs, outputs
and sensors.
6.2 Communications
Data is exchanged trough TCIP protocol. This HTTP API it is based on the HTTP protocol which
goes on top of TCP data links.
6.2.1 System port
The port used is the default for HTTP connections: 80.
6.2.2 Authentication

16
Authentication uses base64 encoding, generally called Basic Authentication1. The user name is
appended with a colon and concatenated with the password. The resulting string is encoded
with the Base64 algorithm.
Example:
User 'admin' with Password '1234'.These are concatenated into 'admin:1234' which
then gets encoded with base64. The final encoded string is “YWRtaW46MTIzNA==”.
All the requests (except for the one described in section 6.3) need the authentication
described above!
6.2.3 Protocol description
Data is passed on HTTP (GET) requests. Please note that integer variables and all other are sent
as ASCII text/strings as usual on HTTP requests.
The HTTP requests described use <address> to represent IO.XEC current IP address. The
network name (NetBIOS name) can also be used.
6.3 Device general information
The device general configuration can be obtained, retrieving the file home.xml from IO.XEC.
The location of the file is:
http://<address>/home.xml
No authentication is needed for this file.
Example:
<response>
<name>IOXEC</name>
<version>3.0.3LT</version>
<dhcp>1</dhcp>
<ip>192.168.1.119</ip>
<subnet>255.255.255.0</subnet>
<gateway>192.168.1.254</gateway>
<dns1>192.168.1.11</dns1>
<dns2>0.0.0.0</dns2>
<mac>00:04:A3:3A:F1:E8</mac>
<defuser>admin</defuser>
<defpassw>ioxec</defpassw>
</response>
1http://en.wikipedia.org/wiki/Basic_access_authentication

17
6.4 Device hardware configuration
The device configuration can be obtained, retrieving the file ioconfig.xml from IO.XEC. The
location of the file is:
http://<address>/protect/ioconfig.xml
Example:
<response>
<all_configs>
<anain option="0">
<option_name>Disabled</option_name>
<min_val>--</min_val>
<max_val>--</max_val>
<precision>--</precision>
</anain>
<anain option="1">
<option_name>Enabled</option_name>
<min_val>0.00</min_val>
<max_val>10.00</max_val>
<precision>0.01</precision>
</anain>
<anatemp option="0">
<option_name>Disabled</option_name>
<min_val>--</min_val>
<max_val>--</max_val>
<precision>--</precision>
</anatemp>
<anatemp option="1">
<option_name>LM35</option_name>
<min_val>0.0</min_val>
<max_val>150.0</max_val>
<precision>0.1</precision>
</anatemp>
<anatemp option="2">
<option_name>MCP9701</option_name>
<min_val>-40.0</min_val>
<max_val>125.0</max_val>
<precision>0.1</precision>
</anatemp>
<digtrh option="0">
<option_name>Disabled</option_name>
<min_val_t>--</min_val_t>
<max_val_t>--</max_val_t>
<precision>--</precision>
<min_val_rh>--</min_val_rh>
<max_val_rh>--</max_val_rh>
<precision>--</precision>
</digtrh>
<digtrh option="1">
<option_name>SHT75</option_name>
<min_val_t>-40.0</min_val_t>

18
<max_val_t>100.0</max_val_t>
<precision>0.1</precision>
<min_val_rh>0.0</min_val_rh>
<max_val_rh>100.0</max_val_rh>
<precision>0.1</precision>
</digtrh>
<anaout>
<min_val>0.00</min_val>
<max_val>10.00</max_val>
<precision>0.01</precision>
</anaout>
<din index="0">
<label>Input 1</label>
<group>0</group>
</din>
<din index="1">
<label>Input 2</label>
<group>0</group>
</din>
<din index="2">
<label>Input 3</label>
<group>1</group>
</din>
<din index="3">
<label>Input 4</label>
<group>1</group>
</din>
<din index="4">
<label>Input 5</label>
<group>1</group>
</din>
<din index="5">
<label>Input 6</label>
<group>1</group>
</din>
<din index="6">
<label>Input 7</label>
<group>1</group>
</din>
<din index="7">
<label>Input 8</label>
<group>1</group>
</din>
<dout index="0">
<label>Output 1</label>
<type>relay</type>
</dout>
<dout index="1">
<label>Output 2</label>
<type>relay</type>
</dout>
<dout index="2">
<label>Output 3</label>
<type>relay</type>
</dout>
<dout index="3">
<label>Output 4</label>

19
<type>relay</type>
</dout>
<dout index="4">
<label>Output 5</label>
<type>openc</type>
</dout>
<dout index="5">
<label>Output 6</label>
<type>openc</type>
</dout>
<dout index="6">
<label>Output 7</label>
<type>openc</type>
</dout>
<dout index="7">
<label>Output 8</label>
<type>openc</type>
</dout>
<dout index="8">
<label>Buzzer</label>
<type>buzz</type>
</dout>
</all_configs>
<current_config>
<anain>
<option>0</option>
</anain>
<anatemp>
<option>0</option>
</anatemp>
<digtrh>
<option>1</option>
</digtrh>
</current_config>
</response>
6.5 Current status
The device status may be obtained by getting the file iostatus.xml from IO.XEC. The location of
the file is:
http://<address>/protect/status.xml
The value of each digital input is concatenated in the field “in” of the above file. The same
operation is done with the outputs, in the field “out”. In this case, the status of the buzzer is
also concatenated, as if it were the 9th output.
The fields marked with “-- “ are inactive.
Example:
<response>
<in>00000000</in>

20
<out>000000000</out>
<anatemp>--</anatemp>
<anain>--</anain>
<anaout>0.00</anaout>
<digtemp>17.4</digtemp>
<digrh>78.8</digrh>
</response>
6.6 Change IO.XEC configuration
It is possible to change the hardware configuration of IO.XEC, as described on section 3.3. The
HTTP request has the following structure:
http://<address>/protect/ioconfig.cgi?anain=x&anatemp=y&temprh=z
The parameters x, y, z are the possible options present in the field “option” of ioconfig.xml.
Example:
To disable analogue input, enable LM35 temperature sensor and disable digital
temperature and relative humidity sensor:
http://ioxec/protect/ioconfig.cgi?anain=0&anatemp=1&temprh =0
6.7 Control IO.XEC outputs
6.7.1 Digital outputs
To change a digital output, issue the following HTTP (GET) request:
http://<address>/protect/set.cgi?outx=val
Where:
x: output identifier. The following identifiers can be used:
0..7: digital outputs
8: internal buzzer
val: resulting value. The following values can be used:
0: resets output
1: sets output
t: toggles output
Examples:
To reset output 0:
Table of contents
Popular Controllers manuals by other brands

Martin
Martin DMX Controller 2518 user manual

Emerson
Emerson Bettis RGS Q-Series Installation, operation and maintenance manual

EisSound
EisSound KBSOUND 60201 user manual

Honeywell Home
Honeywell Home TheraPro HR90 owner's guide

Novar
Novar NOVAR 300 Operation & maintenance manual

SUPMEA
SUPMEA U-SUP-EC8.0-EN2 user manual