Танкист Апокалипсиса
Возникла задача подключить несколько касс Штрих-ON-LINE к 1С, пришлось решать с изрядной долей извращений. Инструкцию читал.
Исходные условия:
1. Касса должна работать с 1С
2. 1С работает в терминальном режиме.
3. Касса имеет COM и USB интерфейсы.
Исходя из этих условий, со старыми кассами всё просто: подключили кассу к компьютеру, пробросили COM-порт в сеанс, настроили модуль в 1С - всё работает. В новой реальности всё несколько сложнее: теперь кассы отправляют информацию о продаже на ОФД-сайт, поэтому касса должна иметь возможность подключиться к этому сайту. Проще всего это сделать на кассах с сетевым модулем, но, так как в нашем случае денег на кассу с модулем Ethernet было жалко (разница в цене между кассами с модулем и без модуля составляет порядка 10000-15000 рублей), то решили сделать как-нибудь иначе.
По инструкции производителя "иначе" реализуется путём RNDIS-интерфейса через USB, созданием отдельной подсети и созданием "общего доступа к подключению интернета". В чём геморрой: у нас "общий доступ" заблокирован нахрен. К тому же, нужно тогда подключать кассу одновременно по COM и USB, ибо 1С работает в терминале: по COM будет бегать управление кассой, а по USB - подключение к серверам ОФД. Скажу честно - решение некрасивое. При этом там же, в инструкции, есть описание того, что несколько касс можно подключить путём организации моста между интерфейсами касс, а выпускать "на свободу" их уже опять через "общий доступ". Почему нельзя сразу было сделать мост для всех интерфейсов - не знаю, я объединил RNDIS и Ethernet в мост и касса заработала. Заработала, правда, с глюками, регулярно пропадала связь с кассой. После разбирательств пришёл к выводу, что то ли разъём в кассе, то ли кабель - говно, отходит контакт. Но этот отходящий контакт съел мне весь мозг, так как касса находится за 1000 км от меня.
Второй вариант попробовал сегодня: взял наидешёвейший маршрутизатор TP-LINK, накатил в него прошивку OpenWRT, установил модуль kmod-usb-net-rndis, отключил WiFi, DHCP-сервер, в кассе включил RNDIS, подключил кассу к маршрутизатору, добавил появившийся интерфейс к существующему мосту на портах LAN (Network->Interfaces->LAN->Edit->Physical settings). По желанию можно поменять протокол на портах LAN (поставил вместо назначения статического адреса назначение по DHCP).
Всё. Можно работать с кассой, она теперь стала хостом в сети.
Исходные условия:
1. Касса должна работать с 1С
2. 1С работает в терминальном режиме.
3. Касса имеет COM и USB интерфейсы.
Исходя из этих условий, со старыми кассами всё просто: подключили кассу к компьютеру, пробросили COM-порт в сеанс, настроили модуль в 1С - всё работает. В новой реальности всё несколько сложнее: теперь кассы отправляют информацию о продаже на ОФД-сайт, поэтому касса должна иметь возможность подключиться к этому сайту. Проще всего это сделать на кассах с сетевым модулем, но, так как в нашем случае денег на кассу с модулем Ethernet было жалко (разница в цене между кассами с модулем и без модуля составляет порядка 10000-15000 рублей), то решили сделать как-нибудь иначе.
По инструкции производителя "иначе" реализуется путём RNDIS-интерфейса через USB, созданием отдельной подсети и созданием "общего доступа к подключению интернета". В чём геморрой: у нас "общий доступ" заблокирован нахрен. К тому же, нужно тогда подключать кассу одновременно по COM и USB, ибо 1С работает в терминале: по COM будет бегать управление кассой, а по USB - подключение к серверам ОФД. Скажу честно - решение некрасивое. При этом там же, в инструкции, есть описание того, что несколько касс можно подключить путём организации моста между интерфейсами касс, а выпускать "на свободу" их уже опять через "общий доступ". Почему нельзя сразу было сделать мост для всех интерфейсов - не знаю, я объединил RNDIS и Ethernet в мост и касса заработала. Заработала, правда, с глюками, регулярно пропадала связь с кассой. После разбирательств пришёл к выводу, что то ли разъём в кассе, то ли кабель - говно, отходит контакт. Но этот отходящий контакт съел мне весь мозг, так как касса находится за 1000 км от меня.
Второй вариант попробовал сегодня: взял наидешёвейший маршрутизатор TP-LINK, накатил в него прошивку OpenWRT, установил модуль kmod-usb-net-rndis, отключил WiFi, DHCP-сервер, в кассе включил RNDIS, подключил кассу к маршрутизатору, добавил появившийся интерфейс к существующему мосту на портах LAN (Network->Interfaces->LAN->Edit->Physical settings). По желанию можно поменять протокол на портах LAN (поставил вместо назначения статического адреса назначение по DHCP).
Всё. Можно работать с кассой, она теперь стала хостом в сети.