LINUX.ORG.RU

Сообщения Ramil94

 

Как считать данные с LPT порта предназначенные принтеру

Всем привет!

Имеется контрорллер расхода топлива, он печатает данные о заправке на LPT принтер (EPSON TM-U220B) путем POS кодов.
Вместо принтера поставили конвертер Parallel to Serial, теперь при печати контроллера, я получаю данные прямо на COM порт компа с ubuntu 22.04,
где обрабатываю полученные данные и отправляю на печать уже куда душа пожелает

Данные на COM порт прилетают такие:

root@geslx005:~# gescheck/sc_com_grabber.py
connected to: /dev/ttyS2
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x1b!\x11\x1b!\x01\n'
b'23/08/2023              09:32:04\n'
b'\n'
b'TRANSACTION:04E34B640F9CDBE7279E\n'
b'  \n'
b'NUMBER:                     6494\n'
b'USER:                       1205\n'
b'VEHICLE:                     556\n'
b'PRODUCT:                  DIESEL\n'
b'\x1b!\x11LITRES:                     0,00\n'
b'\x1b!\x01\n'
b'\n'


Если вместо конвертора поставить LPT принтер то чек будет таким: фото https://b24.ussat.tm/~kl96n

Контрорллер расхода топлива: Gespasa GK7
Конвертер Parallel to Serial: PS1000 ( фото https://b24.ussat.tm/~j1XJd )

Вопрос 1:
Может быть кто нибудь подкинет ссылку на подобный конвертер, или может подскажет где купить можно в России (он старый и почти все ссылки в гугле устаревшие)?

Вопрос 2:
Хотелось бы ловить данные напрямую с LPT порта, но когда соединяешь комп вместо принтера, то контроллер пишет принтер отсутствует. ( фото https://b24.ussat.tm/~ElzbS )
Может есть кто то, кто смог организовать данную схему ?

 , ,

Ramil94
()

VPN трафик через подключенного vpn клиента

Доброго времени суток !
Есть в голове мюсль, реализовать схему подключения vpn трафика через подключенного vpn клиента, скажем находящегося в Нидерландах!

Пример:
Есть сервер с белым ip в офисе: Офис - 64.0.0.1
Есть клиент с белым ip: Клиент1 - 41.1.1.1
Есть клиенты! с серыми адресами внутри страны выходящие в инет через несколько провайдерских белых ip

Задача:
Нужно сделать так чтобы Клиент1 был постоянно подключен к Офису, и клиенты! подключившиеся к Офису выходили в инет через Клиент1!

У кого какие мюсли есть по этому поводу

Схема
Клиенты!--Офис--Клиент1--Интернет

 , ,

Ramil94
()

Поиск и обработка текста в Linux

Здравствуйте форумчане ! :)) пожалуйста помогите решить головоломку

есть лог файл «SRV22_09_0.LOG» (который ротируется и создает новый «SRV22_10_0.LOG» каждый месяц) состоящий из строк:

09.09.2022 16:51:20 CONSOLA:9
09.09.2022 16:51:23 Init Com Eth(0):192.168.103.10:14101
09.09.2022 16:51:23 Open communication port
09.09.2022 16:51:24 Trying to establish communication with the controller
09.09.2022 16:51:24 KIT: GK7C-3 VERSION: V9.18 CPU NUMBER: CPA275595
09.09.2022 16:51:25 Established communication
09.09.2022 16:51:25 Sending date and hour
09.09.2022 16:51:26 COMMUNICATION: The controller has been synchronized.
09.09.2022 16:51:27 Receiving supplies
09.09.2022 16:52:25 Supplies correctly received
09.09.2022 16:52:27 Processed
09.09.2022 16:52:27 Sending users
09.09.2022 16:52:52 Users correctly sent
09.09.2022 16:52:52 Sending vehicles
09.09.2022 16:53:06 Vehicles correctly sent
09.09.2022 16:53:06 Sending controller configuration
09.09.2022 16:53:08 Controller configuration correctly sent
09.09.2022 16:53:08 Sending product configuration
09.09.2022 16:53:10 Product configuration correctly sent
09.09.2022 16:53:10 Sending tank configuration
09.09.2022 16:53:11 Tank configuration correctly sent
09.09.2022 16:53:11 Sending hose configuration
09.09.2022 16:53:13 Hose configuration correctly sent
09.09.2022 16:53:14 Disconnecting the controller
09.09.2022 16:53:15 Disconnected controller
09.09.2022 16:53:15 Close communication port
09.09.2022 16:53:15 CONSOLA:10
09.09.2022 16:53:18 Init Com Eth(0):192.168.105.10:14101
09.09.2022 16:53:19 Error init ethernet(0): Connect timed out.
09.09.2022 16:53:38 Init Com Eth(10):192.168.105.10:14101
09.09.2022 16:53:39 Error init ethernet(10): Connect timed out.
09.09.2022 16:53:59 Init Com Eth(20):192.168.105.10:14101
09.09.2022 16:54:00 Error init ethernet(20): Connect timed out.
09.09.2022 16:54:03 COMMUNICATION: It is not possible to open COM port. Ethernet:192.168.105.10:14101
09.09.2022 16:54:04 Disconnected controller
09.09.2022 16:54:04 Close communication port
09.09.2022 17:00:46 CONSOLA:3
09.09.2022 17:00:49 Init Com Eth(0):192.168.240.1:14101
09.09.2022 17:00:50 Error init ethernet(0): Socket Error # 10061
Connection refused.
09.09.2022 17:01:09 Init Com Eth(10):192.168.240.1:14101
09.09.2022 17:01:11 Error init ethernet(10): Socket Error # 10061
Connection refused.
09.09.2022 17:01:31 Init Com Eth(20):192.168.240.1:14101
09.09.2022 17:01:32 Error init ethernet(20): Socket Error # 10061
Connection refused.
09.09.2022 17:01:35 COMMUNICATION: It is not possible to open COM port. Ethernet:192.168.240.1:14101
09.09.2022 17:01:36 Disconnected controller
09.09.2022 17:01:36 Close communication port

мне нужно вытащить с этого файла блок последнего текста между строками, пример:
1-ая строка:
09.09.2022 16:51:24 KIT: GK7C-3 VERSION: V9.18 CPU NUMBER: CPA275595
последняя строка:
09.09.2022 16:53:13 Hose configuration correctly sent

это команда смотрит последние 45 строк:
tail -45 SRV22_09_0.LOG | awk '/CPA275595/,/Hose/' | grep -P "been synchronized|correctly sent|correctly received|CPA275595"

и если в них содержится данный блок то соответственно выводится на экран:
12.09.2022 16:30:01 KIT: GK7C-3 VERSION: V9.18 CPU NUMBER: CPA275429
12.09.2022 16:30:03 COMMUNICATION: The controller has been synchronized.
12.09.2022 16:31:01 Supplies correctly received
12.09.2022 16:31:27 Users correctly sent
12.09.2022 16:31:40 Vehicles correctly sent
12.09.2022 16:31:41 Controller configuration correctly sent
12.09.2022 16:31:43 Product configuration correctly sent
12.09.2022 16:31:44 Tank configuration correctly sent
12.09.2022 16:31:45 Hose configuration correctly sent

но проблема в том что очень часто в последние 45 строк попадает другие данные и соответственно ничего не выводится!
Какое есть решение данного вопроса?????
и еще файл каждый месяц ротируется и создает новый с новым названием и как-то не айс раз в месяц переделывать команду

 , ,

Ramil94
()

RSS подписка на новые темы