1

For a senior design project, we are looking to use data collected from a spectroscopy unit in conjunction with a PID controller on a Raspberry Pi in order to keep a process under control. The issue we currently face is that we cannot interface the spectroscopy unit and the Raspberry Pi in order to collect data. We are opting to use the PyUSB library to ease this process, but cannot seem to determine several things:

  • What command needs to be sent to the unit to trigger data collection
  • How do we accept the data returned from the machine

The spectroscopy unit in question is the PeakSeeker Raman Spectroscopy Unit by Agiltron. Documentation on this is particular unit is sparse and the vendors don't have that deep of a technical background to help. The following is the information that I have either been given or collected:

  • The machine uses an FTDI chip
  • Interface 0 for the machine has two endpoints: a bulk in and a bulk out
  • The only ports on the machine are power, the connection to the spectroscopy sensor and a USB connection
  • The machine has a USB A to USB B cable, which is utilized by a proprietary software on a different PC

The following is the code that I've run from my mac when the device is plugged in and no errors are raised:

import usb.core
import usb.backend.libusb1

dev = usb.core.find(idVendor=0x0403, idProduct=0x6001) ## FTDI chip

if dev is None:
    raise ValueError("No device!")
else:
    print("Successful Connection")
A. Hudson
  • 51
  • 1
  • 10
  • 1
    Is there a vendor supplied program to access the device over USB? If so, use a USB sniffer to watch that program interact with the device. Reverse Engineer from there. – Stephen Rauch Feb 08 '18 at 06:27
  • 1
    If the device has a USB serial converter in it, you shouldn't need pyUSB. Make sure the serial port is available in the OS. You might have to install some drivers. Then use pyserial to interact with the device. Of cause you need to know what to send first. – Klaus D. Feb 08 '18 at 06:34
  • Unfortunately I'm not proficient in serial port connections either, but it also sounds like the USB sniffing would help in determining what serial data to send? @KlausD. – A. Hudson Feb 08 '18 at 06:53
  • There is a proprietary software on a different PC. How would I approach the USB sniffing process? @StephenRauch – A. Hudson Feb 08 '18 at 06:53
  • 1
    Please add a full overview of the architecture and its communication to your question. – Klaus D. Feb 08 '18 at 06:59
  • @KlausD. Do you mean architecture with respect to the internal components of the spectroscopy unit and communication with respect to the data I'd hope to obtain? – A. Hudson Feb 08 '18 at 07:03
  • No, from the device to the software using it. – Klaus D. Feb 08 '18 at 07:04
  • https://duckduckgo.com/?q=usb+sniffer – Stephen Rauch Feb 08 '18 at 13:45

0 Answers0