Форум: Техническая поддержка

Тема: Linux Astra и LTR-EU-16-1

Вы не вошли.

 Поиск | Регистрация | Вход 

22.06.2022 13:52:34
#1

Участник
Здесь с 12.12.2016
Сообщений: 72

Linux Astra и LTR-EU-16-1

Здравствуйте!
Хочется узнать можно ли работать с LTR-EU-16-1 крейтом из Linux Astra, есть ли драйверы и т.п.

22.06.2022 14:23:06
#2

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,254

Re: Linux Astra и LTR-EU-16-1

Добрый день.
Если имеется ввиду наличие готовых библиотек, чтобы писать свое ПО, то да. Есть готовые пакеты (см. описание https://www.lcard.ru/download/lcard_lin … tions.pdf), для Astra подойдут из ближайшего Debian или Ubuntu (входит служба ltrd и библиотеки ltrapi, драйвера не нужны, т.к. для USB используется стандартная библиотека libusb - по необходимому софту см. https://www.lcard.ru/download/ltr_soft_ … arted.pdf).

Если про законченный софт, то LGraph2 только под Windows.
Возможно создание версии LMS под Linux по запросу при покупки лицензии.

10.07.2023 15:45:47
#3

Участник
Здесь с 12.12.2016
Сообщений: 72

Re: Linux Astra и LTR-EU-16-1

Алексей L Card пишет:

для Astra подойдут из ближайшего Debian или Ubuntu (входит служба ltrd и библиотеки ltrapi, драйвера не нужны, т.к. для USB используется стандартная библиотека libusb - по необходимому софту см. https://www.lcard.ru/download/ltr_soft_ … arted.pdf).

Крейт LTR-EU-16-1 переход из Windows в Linux Astra.

Нельзя ли попросить уважаемый LCard выложить С++ исходник простого консольного приложения на C++, демонстрирующий работу с крейтами. Главное Хотелось бы сначала понять, что нужно чтобы заставить пример компилироваться, линковаться и работать. L-Card модуль для демо может быть любой, например LTR27.

PS:
Предполагается что программирование будет на Qtcreator.
Репозитарий http://download.opensuse.org/repositori … Debian_10/ установлен.

10.07.2023 17:15:27
#4

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,254

Re: Linux Astra и LTR-EU-16-1

Из подключенного репозитория у Вас должны быть установлены пакеты ltrd и libltrapi1-dev (с последним должны автоматом поставится и все репозитории libltrapiXXapi1 как  его зависимости). Не обязательно, но полезно также поставить ltrmanager для возможности посмотреть, какие крейты подключены к ПК, управления подключением по Ethernet и т.п. (либо ltrctl для работы из консоли, если нет графического интерфейса на машине)

Новые консольные примеры на C под MSVC написаны таким образом, что их код из main.c можно собрать и под Linux с помощью gcc. Правда под LTR27 судя по всему еще на сайте выложен только старый, но можно взять из git (https://gitlab.com/l-card/acq/devices/l … ecv/main.c)

В общем случае для сборки программы на C/C++ для работы с LTR  достаточно просто подключить нужные библиотеки и заголовки стандартным образом (далее указано для трех вариантов - опции прямого вызова gcc из консоли, в проекте на qmake (.pro файл) и cmake (CMakeLists.txt файл)):
1. Подключить путь к заголовочным файлам (gcc: -I<путь>, qmake: INCLUDEPATH += <путь>, cmake: include_directories(<путь>)). Но это если пути не стандартные, если у Вас стоят пакеты библиотек, то они уже кладут заголовки по стандартному пути (/usr/include и дальше поддиректория ltr) поэтому этот пункт не нужен.
2. Подключить путь к библиотекам (gcc: -L<путь>, qmake: LIBS += -L<путь>, cmake: include_directories(<путь>)).  Но это нужно также, если пути не стандартные, если у Вас стоят пакеты библиотек, то они уже кладут библиотеки по стандартному пути (/usr/lib или /usr/lib64), поэтому этот пункт не нужен.
3. Подключить сами библиотеки  (gcc: -l<имя библиотеки>, qmake: LIBS += -l<имя библиотеки>, cmake: target_link_libraries(<имя проекта> <имя библиотеки>), который должен быть после add_executable(<имя проекта> <исходные файлы>)). Тут маленькая L написана, а в первом пункте была заглавная i. Имя библиотеки ltr27api для LTR27. Если несколько модулей используется в программе, то должны быть перечислены все библиотеки под каждый используемый модуль. Если используются общие функции управления крейтами, то также нужно подключить ltrapi.


Т.е. если установлены пакеты, то остается только пункт 3.
Для ltr27 собрать указанный main.c из консоли можно просто вызвав:

gcc -lltr27api main.c

Для QtCreator зависит от системы сборки, что будете использовать. Он стандартно поддерживает как qmake, так и cmake (QBS опустим, это экзотика и Qt сами от него отказались уже).
Пошаговое создание может быть такое:
1. Создаете новый проект типа "Проект без Qt" на C или C++, выбираете систему сборки (qmake или CMake).
2. После заменяете содержимое main.c или main.cpp на содержимое из main.c примера для msvc (https://gitlab.com/l-card/acq/devices/l … ecv/main.c для LTR27).
3. Для qmake добавляете в .pro файл строку:

LIBS += -lltr27api 

Для cmake в CMakeLists.txt после add_executable добавляете строку:

target_link_libraries(${PROJECT_NAME} ltr27api)

В общем этого должно быть достаточно, должно собраться.

Для выбора модуля с которым работать, консольные примеры принимают первым параметром номер слота в крейте (если крейтов больше одного, то вторым параметром можно передать серийный номер крейта).

11.07.2023 10:58:29
#5

Участник
Здесь с 12.12.2016
Сообщений: 72

Re: Linux Astra и LTR-EU-16-1

AC> Из подключенного репозитория у Вас должны быть установлены пакеты
AC> ltrd и libltrapi1-dev (с последним должны автоматом поставится и
AC> все репозитории libltrapiXXapi1 как его зависимости).

Операционная система: Astra Linux 1.7_x86-64
Версия Qt: 5.15.2
Версия ядра: 5.4.0-110-generic (64-бита)
Процессоры: 4 ? Intel® Core™ i3-2100 CPU @ 3.10GHz

При попытке установить ltrd:armhf (из http://download.opensuse.org/repositori … Debian_10/ используя менеджер пакетов Synaptic): выдается сообщение

ltrd:armhf:
Зависит: libc6 (>=2.28) but it is not installable
Зависит: libdaemon0 (>=0.13) but it is not installable
Зависит: libusb-1.0-0 (>=2:1.0.9) but it is not installable
Зависит: libxml2 (>=2.7.4) but it is not installable

В системе установлены:
Libc6: 2.28-10+deb10u2+ci202302271750+astra5
libdaemon0: 0.14-7
libusb-1.0-0: 2:1.0.26-1
libxml2: 2.9.4+dfsg1-7+deb10u5+ci202304041547+astra1

В каком месте мне проверить?

11.07.2023 11:45:32
#6

Участник
Здесь с 12.12.2016
Сообщений: 72

Re: Linux Astra и LTR-EU-16-1

Попробовал установить LCARD софт вручную без Synaptic - вроде все прошло без ругани. Главное что /etc/apt/sources.list
заполнил правильно.

sudo apt-get update
sudo apt-get install ltrd ltrmanager libltrapi1-dev

Буду пробовать что-то написать и скомпилировать.

11.07.2023 14:43:12
#7

Участник
Здесь с 12.12.2016
Сообщений: 72

Re: Linux Astra и LTR-EU-16-1

Кстати как вы думаете, если убрать драйверы и софт Lcard из Windows, то можно ли опрашивать по USB крейт из системы Linux Astra которая работает на этом же компьютере как виртуальная машине VMware? Иметь работающий виндовс было бы удобно для справочных целей и т.п.

11.07.2023 16:50:12
#8

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,254

Re: Linux Astra и LTR-EU-16-1

Удалять софт на Windows для этого не нужно, он на это не влияет.
В самой виртуальной машине по идее должен быть выбор, какие USB устройства виртуальная машина захватывает. Тогда они не будут видны в основной ОС, а будут только в виртуальной машине, пока не отключите захват.
Ну или можете просто отдельно поставить вторую ОС с выбором куда загружаться при старте, чтобы везде работать с крейтом напрямую.

12.07.2023 08:53:39
#9

Участник
Здесь с 12.12.2016
Сообщений: 72

Re: Linux Astra и LTR-EU-16-1

Алексей L Card пишет:

Здесь с 17.04.2014
Сообщений: 1,222
Удалять софт на Windows для этого не нужно, он на это не влияет.
В самой виртуальной машине по идее должен быть выбор, какие USB устройства виртуальная машина захватывает. Тогда они не будут видны в основной ОС, а будут только в виртуальной машине, пока не отключите захват.
Ну или можете просто отдельно поставить вторую ОС с выбором куда загружаться при старте, чтобы везде работать с крейтом напрямую.

Да, lcard на виртуальной астре работает и отключения драйверов в windows не требуется. По крайне мере у меня сейчас отлично работает ltrmanager и он показывает и крейт и все его модули.
Вторая OC (перегружаемые поочередно) неудобно - я собираюсь взять значительную часть софта своего OPC сервера и сделать MQTT сервер. Быстрый доступ к windows (прямо из астры) ускоряет процесс.

12.07.2023 09:02:13
#10

Участник
Здесь с 12.12.2016
Сообщений: 72

Re: Linux Astra и LTR-EU-16-1

Правда, мне пришлось работать с IP интерфейсом - linux_ltrmanager не работает с USB интерфейсом. Мне пришлось запустить windows_ltrmanager и там переключить на приём по TCP/IP, после этого linux_ltr_manager заработал.

12.07.2023 13:21:12
#11

Участник
Здесь с 12.12.2016
Сообщений: 72

Re: Linux Astra и LTR-EU-16-1

alexko пишет:

Правда, мне пришлось работать с IP интерфейсом - linux_ltrmanager не работает с USB интерфейсом. Мне пришлось запустить windows_ltrmanager и там переключить на приём по TCP/IP, после этого linux_ltr_manager заработал.

В общем и с USB интерфейсом работает - после того как модуль обнаружился в ltrmanager через IP я указал USB интерфейс и все заработало. Ваш пример https://gitlab.com/l-card/acq/devices/l … ecv/main.c
все откомпилировалось  и работает.

02.10.2023 15:00:30
#12

Участник
Здесь с 12.12.2016
Сообщений: 72

Re: Linux Astra и LTR-EU-16-1

Хочу сказать, что ltrmanager 1.5.5 на Linux Astra не позволяет переключаться между режимами USB и IP (у меня крейт LTR-EU-16-1). Для того чтобы переключиться мне приходится использовать  ltrmanager из Windows. Можно это проверить?

02.10.2023 15:06:01
#13

Участник
Здесь с 12.12.2016
Сообщений: 72

Re: Linux Astra и LTR-EU-16-1

alexko пишет:

Хочу сказать, что ltrmanager 1.5.5 на Linux Astra не позволяет переключаться между режимами USB и IP (у меня крейт LTR-EU-16-1). Для того чтобы переключиться мне приходится использовать  ltrmanager из Windows. Можно это проверить?

Выяснилось что переключение невозможно пока не подключен USB кабель (текущий режим был IP). После подключения и перезапуска крейта появляется двойник крейта со значком USB. Так что сорри наверно за тревогу.

02.10.2023 20:31:23
#14

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,254

Re: Linux Astra и LTR-EU-16-1

Да, смена настроек поддерживается только через подключение по USB интерфейсу.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25
Факс: +7 (495) 785-95-14

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск