The OpenNET Project / Index page

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

Работа в Linux с автоматом записи и печати на DVD/CD дисках Primera Bravo XRP
Аппарат 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).
Но можно и не подписывать, основные необходимые дествия уже расписаны
пользователем 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
 
13.02.2012 , Автор: barmaley
Ключи: primera, dvd, cd, print, robot / Лицензия: CC-BY
Раздел:    Корень / Пользователю / CD, CD-R, DVD, AudioCD

Обсуждение [ RSS ]
  • 1, pavlinux (ok), 01:20, 25/02/2012 [ответить]  
  • +/
    Клёва. Никому коды конвейерной моечной установки не нужны? :)
     
     
  • 2, Аноним (-), 00:35, 28/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Поделился бы чем полезным, а не своим сарказмом. Фу таким быть
     
     
  • 3, pavlinux (ok), 16:35, 28/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Поделился бы чем полезным, а не своим сарказмом. Фу таким быть

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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