Using I/O Interfaces in FLOW

Learn more about I/O interfaces thank to which FLOW can remotely operate a variety of electronic devices.

DataFromSky avatar
Written by DataFromSky
Updated over a week ago

If you have any device that can be turned on and off or otherwise operated by switching the electric current in its wires, we have good news for you: Any device from the FLOW family can operate it too! This includes embedded units, smart cameras, servers and more. All that is thanks to the addition of input/output interfaces. With them, you'll be able to do things like:

  • switching highway signs based on traffic density or detection of a traffic jam,

  • starting and stopping a video advertisement playback based on the presence of people in an area, or

  • raising a barrier or opening a gate based on the presence of a vehicle with a whitelisted license plate.

Basically, if you can switch something ON and OFF, you can let it be controlled by FLOW based on the outputs from video detection. So let's take a closer look at what I/O interface are, how to get one, and how to work with them. If you already know how to work with your I/O interface learn how to use it for adaptive traffic control in this article.

What are I/O interfaces?

They're a piece of hardware that primarily receives commands on their ethernet interface and, according to their contents, switches electronic relays on their outputs. The outputs can be seen in the picture above–each output has an upper and a lower port. The relay can connect or disconnect these two ports, so if you connect wires to them, the interface can control the flow of electricity between them.

I/O interfaces come with a different number of inputs and outputs. Currently, FLOW doesn't support reading inputs from interfaces.

Getting an I/O interface

The easiest way to obtain one is from DataFromSky. It can come already seamlessly integrated with your new embedded unit, or separately, which allows you to deploy the I/O interface at a different site from a FLOW device and connect them over an ethernet network. We handle each request individually–contact us for more information and quotes.

I/O Interface communication options

From FLOW version 1.15.8, it is possible to control one IO Interface with multiple FLOW devices, as the communication protocol has changed internally from TCP to WEB. Both options are available from FLOW 1.16.

Types of Communication:

1. TCP / Spinnel = the QUIDO can be controlled only by one FLOW device. This communication protocol is reliable but not secure (it is the default for FLOW versions <= 1.15.8 but it is not included in higher 1.15 versions). It is again available in FLOW 1.16 as an option alongside the next two options.

2. WEB = I/O interface can be controlled using multiple FLOW devices - possible control collisions are not solved internally; thus avoid controlling one RELAY from multiple FLOW devices (default for >= 1.15.9 available in 1.16).

3. SECURED WEB = same as for WEB, but the authorization header is used; IO interface has two user accounts: USER and ADMIN; FLOW uses a USER account, thus use this password in FLOW input field; available in 1.16.

How to set up communication with the Quido I/O interface

1. Connect to the QUIDO I/O Interface via browser. The default Quido IP address is: 192.168.1.254

NOTE: When trying to set up multiple Quido Interfaces at the same time, connect them to the network one at a time and change their IP address in the web interface before connecting the next one.

2. Click Settings in the top right corner

3. Select the Network page, go to the Device mode section and select TCP server or WEB Communication mode. To use a secure web (option 3), define USER password in the Security tab (use the same password in FLOW). To do so use the Administrator password: admin. We recommend changing the password upon your first log in.

4. Log in to the device via FLOW insights where you want to configure the I/O interface. Go to Interfaces (BLOCK level) and add a new I/O interface. Then select the appropriate type + communication mode. Please note this cannot be changed once the interface is added. To change the communication mode of the already added interface you need to remove it and add it again if you want.

5. For secure WEB communication, go to the I/O Interface, go to the Security page and enable the Secured option and set up your QUIDO USER password

6. Configure individual outputs as described in the following section. Make sure to avoid collisions between FLOW devices.

Working with I/O interfaces

Once you've set up a FLOW device and I/O interface and, if they're separate, connected them to a network, the only thing remaining is to let them talk to each other. This section will demonstrate how to do that with a simple example.

Let's say we have a camera watching a perimeter and an on-site alarm siren that we want to turn on when a person enters the perimeter. We've connected the siren's activation wire to the I/O interface. In FLOW Insights, we've also created an analytic by supplying it with an RTSP stream address.

First, we need to set up the analytics. We draw a zone, drag it onto the canvas, and set its time mode to Now. Then we attach a value widget to it and also set its time mode to Now. Thanks to the widget, we now have an output of how many people are currently in the zone.

Now we need to connect this output to the I/O interfac. To do this, we go to the Interfaces menu, add a new interface and select the type that corresponds to our I/O interface, in this case, the Quido ETH 4/4.

Let's edit the interface by selecting the pencil icon on the right.

We fill out the name and network address of the interface, then add a new output and edit it.

There we fill in the output's name and ID–this decides which output on the I/O interface the signal will be sent to. In our case, we select Digital Output 1 (DO01), because that's where we connected the alarm siren.

Finally, we need to define an expression whose result will decide whether the output relay will be switched on or off.

In the upper part, we see all analytics and all widgets that have been defined in each of them. In our case, we have just one analytics called Demo Analytics and the Intruder count widget.

By selecting the Intruder count widget, its representation is embedded into the expression string as $3-0-15"Intruder count". We manually add > 0 to make it explicit. The meaning of the whole expression could be translated as: "If the value of the widget 'Intruder count' is greater than zero, set the result as true." Whenever the expression is evaluated as true, the corresponding output relay on the I/O interface is switched on, otherwise, it's switched off.

The expression uses the Javascript syntax. See the dedicated article for more information about expressions.

Once we save the expression, we can see its results change in real-time on the interface detail screen. The interface's output is set accordingly.

Supported I/O interface types

Currently, FLOW supports these types of I/O interfaces:

  • Quido ETH 0/2

  • Quido ETH 4/4

  • Quido ETH 8/8

  • Quido ETH 2/16

  • Quido ETH 2/32

  • Quido ETH 10/1

  • Quido ETH 30/3

  • Quido ETH 60/3

  • Quido ETH 100/3

  • Quido ETH 2/16OC

  • Quido ETH 4/32 OC

  • Papago TH 2DI DO ETH

However, we're open to requests for more supported types.


We'll be happy to answer any questions you may have. Contact us!

Did this answer your question?