The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Работа в Linux с автоматом записи и..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Работа в Linux с автоматом записи и..."  +/
Сообщение от auto_tips (ok) on 25-Фев-12, 01:20 
Аппарат Primera Bravo XRP позволяет автоматизировать запись данных и печать маркировки на CD-диски, максимальная емкость 50 + 50 дисков.

Подключается это устройство через USB.

В системе появляются три устройства (через внутренний usn hub), два cdrw и lp:

   usb 2-2: new high-speed USB device number 62 using ehci_hcd
   usb 2-2: New USB device found, idVendor=04b4, idProduct=6560
   usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
   hub 2-2:1.0: USB hub found
   hub 2-2:1.0: 4 ports detected
   usb 2-2.1: new full-speed USB device number 63 using ehci_hcd
   usb 2-2.1: New USB device found, idVendor=0f25, idProduct=0012
   usb 2-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
   usb 2-2.1: Product: CD/DVD
   usb 2-2.1: Manufacturer: Primera
   usb 2-2.1: SerialNumber: 1000001
   usblp0: USB Bidirectional printer dev 63 if 0 alt 0 proto 2 vid 0x0F25 pid 0x0012
   usb 2-2.3: new high-speed USB device number 64 using ehci_hcd
   usb 2-2.3: New USB device found, idVendor=0dbf, idProduct=0700
   usb 2-2.3: New USB device strings: Mfr=2, Product=3, SerialNumber=1
   usb 2-2.3: Product: USB to SATA Bridge
   usb 2-2.3: Manufacturer: TSI
   usb 2-2.3: SerialNumber: TSI08102925ad
   scsi10 : usb-storage 2-2.3:1.0
   usb 2-2.4: new high-speed USB device number 65 using ehci_hcd
   usb 2-2.4: New USB device found, idVendor=0dbf, idProduct=0700
   usb 2-2.4: New USB device strings: Mfr=2, Product=3, SerialNumber=1
   usb 2-2.4: Product: USB to SATA Bridge
   usb 2-2.4: Manufacturer: TSI
   usb 2-2.4: SerialNumber: TSI081029002d
   scsi11 : usb-storage 2-2.4:1.0
   scsi 10:0:0:0: CD-ROM            PIONEER  DVD-RW  DVR-215D 9.13 PQ: 0 ANSI: 0
   sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
   sr 10:0:0:0: Attached scsi CD-ROM sr0
   sr 10:0:0:0: Attached scsi generic sg1 type 5
   scsi 11:0:0:0: CD-ROM            PIONEER  DVD-RW  DVR-215D 9.13 PQ: 0 ANSI: 0
   sr1: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
   sr 11:0:0:0: Attached scsi CD-ROM sr1
   sr 11:0:0:0: Attached scsi generic sg2 type 5


На сайте производителя есть драйверы для Linux, но они работают только с принтером (печать этикеток для CD).
Модель встроенного принтера, очень похоже, Lexmark Z80.
Работа с роботом-автоматом производится путем посылки бинарного пакета в порт принтера (/dev/usb/lp0)
Пакет состоит из 8 байт:

   заголовок [0x1B, 0x04], команда [byte], резерв [0x00, 0x00, 0x00, 0x00], сумма 7 байт [byte]

Так же, на сайте производителя, указано что, если вы хотите получить все hex-коды, необходимо подписать Non-disclosure Agreement (NDA).
Но можно и не подписывать, основные необходимые дествия уже [[http://www.volny.cz/davidef/linux/index-en.html расписаны]] пользователем davidef для модели Primera Bravo II.

Состояние устройства можно получить через чтение порта принтера.
Вы получите две строки (последняя постоянно повторяется циклически с изменениями):

   binary data 1, 0x0D
   binary data 2, 0x0D

Я же подведу итог:

Манипуляции с cdrw производятся как обычно через eject и cdrecord ;)

Описание команд робота, на которые я получил хоть какую то реакцию:

   05 - сброс устройства, пауза ~30 сек
   80 - взять с левого лотка, положить на верхний CD
   81 - взять с левого лотка, положить на принтер
   82 - взять с левого лотка, положить на правый лоток
   83 - взять с правого лотка, положить на верхний CD
   84 - взять с правого лотка, положить на принтер
   85 - взять с правого лотка, положить на левый лоток
   86 - взять с верхнего CD положить на принтер
   87 - взять с верхнего CD положить направо
   88 - взять с верхнего CD положить налево
   89 - взять с верхнего CD положить вниз (нижний CD либо наружу) !!    не забудьте закрыть верхний CD !!
   8A - взять с принтера положить направо
   8B - взять с принтера положить налево
   8С - взять с принтера положить на нижний CD (либо выбросит наружу)
   8D - ?
   8E - каретка в центр (пауза ~10 сек, возврат)
   8F - каретка в центр (пауза ~10 сек, возврат)
   90 - каретка влево (пауза ~10 сек, возврат)
   91 - каретка в центр (пауза ~10 сек, возврат)
   92 - взять диск (с последней позиции)/положить диск
   93 - открыть принтер
   94 - закрыть принтер
   95 - каретка налево, картриджы направо, индикаторы перемигиваются, ждет какой то команды, если неверная команда происходит reset (пауза ~30 сек)
   96 - каретка налево, картриджы направо, индикаторы постоянны
   97 - возврат из 96 в исходное
   98 - взять с принтера положить на верхний CD (либо выбросит наружу)
   99 - проверяет диски в обеих лотках (слева и справа)
   9A - взять слева ?
   9B - опускает каретку с диском на 1 см, таймаут 10сек, поднимает в  исходное
   9С - каретка направо, картрижды налево, каретка вниз до упора и устройство выключается
   9D - взять слева, положить на нижний CD
   9E - взять справа, положить на нижний CD
   9F - взять с нижнего CD положить на принтер
   A0 - взять с нижнего CD положить направо
   A1 - взять с нижнего CD положить налево
   A2 - взять с нижнего CD, каретка вверх, положить на нижний CD (либо выбросит наружу)
   A3 - каретка в центр (пауза ~10 сек, возврат)
   A4 - взять слева, положить на верхний CD, взять еще один диск слева
   A5 - взять справа, положить на верхний CD, взять еще один диск    слева
   A6 - взять слева, положить на нижний CD, взять еще один диск слева
   A7 - взять справа, положить на нижний CD, взять еще один диск слева
   A8 - взять с принтера положить на нижний CD (либо выбросит наружу), аналогично 8C
   A9 - каретка в центр (пауза ~10 сек, возврат)

Этого вполне достаточно для автоматизации процесса, любым скриптовым языком.

Состояние устройства:

   binary data 1:

65 байт - состояние устройства, 0x43 (открыта крышка), 0x42 (робот в процессе манипуляций), 0x49 (в готовности, обычное состояние)

   binary data 2:

62 байт - количество дисков в правом лотке, после команды 99
63 байт - количество дисков в левом лотке, после команды 99


URL:
Обсуждается: http://www.opennet.dev/tips/info/2666.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Работа в Linux с автоматом записи и печати на DVD/CD дисках ..."  +/
Сообщение от pavlinux (ok) on 25-Фев-12, 01:20 
Клёва. Никому коды конвейерной моечной установки не нужны? :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Работа в Linux с автоматом записи и печати на DVD/CD дисках ..."  +/
Сообщение от Аноним (??) on 28-Фев-12, 00:35 
Поделился бы чем полезным, а не своим сарказмом. Фу таким быть
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Работа в Linux с автоматом записи и печати на DVD/CD дисках ..."  +/
Сообщение от pavlinux (ok) on 28-Фев-12, 16:35 
> Поделился бы чем полезным, а не своим сарказмом. Фу таким быть

Полезным делюсь! :)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру