Go to documentation repository
Page History
Section | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Tip |
---|
General information
The The SL USBIO board is a an interface device designed for interfacing with integrating external sensors and external actuators (relays) as part of into video surveillance and fire alarm systems.
Key technical specifications:
- Galvanic isolation: 1000 V for inputs/outputs.
- Connection interface: USB 2.0 (cable length up to 5 meters).
- Polling interval of alarm inputs: 250 ms for all contacts (not configurable).
- Power supply: USB port or external power supply (9-50 V, 500 mA).
- Additional features: Real-time clock and offline ROM for event logging.
Adding the board to Axxon One
...
in Windows OS
In Windows OS, you You can add the SL USBIO board to the Axxon One configuration in one of the following ways:
- Using automatic device search (see Automatic search for see Searching, adding, configuring and removing IP devices). All available devices will be displayed in the search results.Do the following:
- In the Axxon One client, go to the Devices tab → Add device.
- In the Add device section:
- Click the Search button. Axxon One performs the search, and all available devices, including SL USBIO boards, are displayed in the Devices found (n) list.
- Select the found SL USBIO board.
- Click the button.
Manually. Do the Manually. To do this, you need to know the USB address of the board. The address can be determined using the WinObj utility. To obtain the USB address, do the following:
Open the Windows Device Manager.
Go to the USB Controllers tab.
Find the Stream Labs USB-IO 16|8OWDint device. If it is not listed, make sure that the board is inserted into the computer's motherboard and recognized by the system.
Right-click on the device and select .
Select Properties → Details
tab → → Hardware IDs.
Find the VID/PID values.
Run the WinObj utility utility.
- Open the GLOBAL?? folder.
Find the string with the required USB device by the PID value.
...
You will receive two types of USB address, any of which can be used to connect the board
...
to Axxon One, for example:
- \\?\USB#VID_13C0&PID_0070#5&521a615&0&10#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
- \\.\GLOBALROOT\Device\USBPDO-1
To add the board, do the following:
- Click on the Add device link located at the end of the Server device list (see Searching, adding, configuring and removing IP devices).
In the Add device manually section, select Vendor → StreamLabs, and Model → USBIO-16/8.
In the IP address field, specify any of the received addresses.
Click on the button to add the board.
The SL USBIO board is added to Axxon One.
- In the Axxon One client, go to the Devices tab → Add device.
- In the Add device manually section:
- In the IP address parameter, enter one of the received USB addresses.
- In the Device type parameter, select IP device from the drop-down list.
- In the Vendor parameter, select StreamLabs from the drop-down list.
- In the Model parameter, select USBIO-16/8 from the drop-down list.
- Click the button.
The board is added to the Axxon One configuration in Windows OS. The When a board is added to the Axxon One configuration, the current state of the relay on the board is read. This state is automatically displayed in the relay switch layout.
Adding the board to Axxon One in Linux OS
To add the SL USBIO board to the Axxon One configuration in Linux OS, do the following:
- Create the /sl_usb_io directory.
Code Block language bash sudo mkdir -p /sl_usb_io
- Go to the /sl_usb_io directory.
Code Block language bash cd /sl_usb_io
Download the
archive and unzip the contents into one folder.StreamLabs USB-IO.zip archive.
Unzip the archive to
Open the console window in the /sl_usb_io
directoryfolder.
Rebuild - Clear previous builds and compile the driver using the commands
- :
Code Block language bash sudo make clean sudo make
- Open an additional console window in any directory. This window will be used for the monitoring of the driver debug message monitoringmessages.
- Run the monitoring using commands:
- of system messages.
Code Block language bash sudo dmesg -C sudo dmesg -w
- Run Upload the driver using into the command:kernel.
"pathCode Block language bash sudo insmod
to"
Immediately after the driver is launched, messages about the registration of a new driver will appear in the monitoring window. For example:/sl_usb_io/sl_usb_io.ko
Code Block language bash usbcore: registered new interface driver sl_usb_io_driver
- To stop Stop the driver, run the command:.
"path to"/Code Block language bash sudo rmmod
/sl_usb_io.kosl_usb_io
- Configure automatic upload at system startup. Build the kernel module.Build the board kernel module using the command:
The sl_usb_io.ko kernel module will appear appears in the folder. It You can be loaded upload and unloaded stop it manually, but it is recommended to use the we recommend using the install_driver-1.sh script to automatically load the module when the system starts. To do this, place the .Code Block language bash sudo make -f Makefile
- Place install_driver-1.sh file
- in the same directory as
- with sl_usb_io.ko and run the command:
- .
- Set up automatic installation using the script.
Code Block language bash sudo sh install_driver.sh
- Reboot the system.
Launch the Axxon One Client.
- Add the SL USBIO device by selecting Vendor → StreamLabs, and Model → USBIO-16/8.
- In the IP address field, specify the path to the descriptor in the format /dev/sl_usb_io0, where 0 is the index of the first connected device. Next devices will have indexes 1, 2, and so on.
Info title Note - To check if the device is connected, run the command:
Code Block language bash sudo ls /dev
- If only one device is connected, you can specify the path to the descriptor in the format /dev/sl_usb_io0.
- To check if the device is connected, run the command:
- Click on the button to add the board.
Build the driver:
The SL USBIO board is added to Axxon One in Linux OS.
...
- Set access permissions using udev:
- Create a rule file
using the command: - .
Code Block language bash sudo touch /etc/udev/rules.d/50-slusbio.rules
Open file using command:- .
- Edit the file.
Code Block language bash sudo nano /etc/udev/rules.d/50-slusbio.rules
- Add the following text to the file:
Code Block language bash SUBSYSTEM=="usbmisc", KERNEL=="sl_usb_io[0-9]", RUN+="/usr/bin/chmod a+rw $env{DEVNAME}"
- Reload the
rule using the command:- Edit the file.
- udev rules.
Code Block language bash sudo udevadm control --reload-rules
- udev rules.
...
All /dev/sl_usb_sudo udevadm trigger
...
- io* devices will be granted read and write permissions
...
title | Note |
---|
- for all users. * is the serial number of the device. To automate the creation of
...
- the udev rule, you can run the set_sl_rule.zip script with superuser
...
- permissions:
Code Block language bash sudo ./set_sl_rule.sh
- permissions:
- Reboot the system.
Code Block language bash sudo reboot
- Check device detection.
Expected result:Code Block language bash ls /dev/sl_usb_io*
Code Block language bash /dev/sl_usb_io0
Info title Note - sl_usb_io0 is the first connected device.
- sl_usb_io1 is the second connected device, and so on.
- When only one device is connected, sl_usb_io0 is always used.
- sl_usb_io0 is the first connected device.
Launch the Axxon One client.
- In the Axxon One client, go to the Devices tab → Add device.
- In the Add device manually section:
- In the IP address parameter, enter the path to the descriptor in the form /dev/sl_usb_io*, where * is the index of the connected device.
- In the Device type parameter, select IP device from the drop-down list.
- In the Vendor parameter, select StreamLabs from the drop-down list.
- In the Model parameter, select USBIO-16/8 from the drop-down list.
- Click the button.
The board is added to the Axxon One configuration in Linux OS. The current state of the relay on the board is automatically displayed in the relay switch layout.
Problem diagnostics:
- Check uploaded kernel modules:
Code Block language bash lsmod | grep sl_usb_io
- View system messages:
Code Block language bash dmesg | grep sl_usb_io
- Check access permissions:
Code Block language bash ls -la /dev/sl_usb_io0