Go Down

Topic: NewBee... USB question (Read 904 times) previous topic - next topic

usbcrazy

Hi All, I am very new to microcontrollers and arduino's products so please bare with me.  Being that this has to do with USB and how it communicates with the host I am not sure this will work in the first place. 

Situation:
Have computer with USB Epson printer.  No admin access to Windows CPU.

Problem:
Need to take the USB cable from Window's CPU and have not only print to the Epson printer but also convert the same data and spit is out to Serial (com port).

 
I would like to know if this is possible and if so how?

Thanks! KG

Here are the products I thought might work with this situation.


ATMEGA8U2 Breakout
DEV-10277
https://www.sparkfun.com/products/10277

USB to UART Bridge - FT232RL
COM-00650
https://www.sparkfun.com/products/650

USB to FIFO Bridge - FT245RL
COM-00787
https://www.sparkfun.com/products/787

Breakout Board for CP2102 USB to Serial
BOB-00198
https://www.sparkfun.com/products/198

Breakout Board for CP2103 USB to Serial w/ GPIOs
BOB-00199
https://www.sparkfun.com/products/199





PaulS

Quote
so please bare with me.

You go right ahead. I'll keep my clothes on.

Quote
I would like to know if this is possible and if so how?

Possible? Yes. Easy? No.

The printer is a USB slave. The Arduino is a USB slave. Slaves can not talk to each other. Only a USB Host (or master) can talk to a slave. The Arduino can wear a USB Host shield, but you have to write the printer driver for the Arduino.

Quote
No admin access to Windows CPU.

There is none? Or, you don't have it?

Quote
but also convert the same data and spit is out to Serial (com port).

Convert it how? I doubt that you'll make much sense of the binary data sent to the printer.

usbcrazy

Hi PaulS,

If the Windows computer default printer is set to print to a USB Espon printer... Could the Audrino board be connected to the USB to  FIFO/capture the USB data and sent to it.  Then pass the data to the actual USB Espon printer and out to the USB to serial converter shield or have it send the data out as generic text?

Quote
No admin access to Windows CPU.

Sometimes our clients don't have access or won't give it to us.  So the only way we could capture data would be from the data coming from the default usb printer.

Again, thank you for your help. 


James C4S


ould the Audrino board be connected to the USB to  FIFO/capture the USB data and sent to it. 

Maybe after several months of reverse engineering work, you could write a microprocessor to emulate the printer you have in mind.  Since the USB connection on the Arduino is a serial port, you'll have to find another platform.  Not to mention processing the data and converting to text is going to be tough with 2-8k of RAM.

This project sounds more like you're trying to intercept the data...
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

usbcrazy

Hi James,

Correct if I can intercept the data from the computer then have it go to two places 1) USB Printer 2) Generic Com Port Printer.  Is this possible?

This would be perfect.

Thank you, USB Newbi

KG

James C4S


Correct if I can intercept the data from the computer then have it go to two places 1) USB Printer 2) Generic Com Port Printer.  Is this possible?

I already answered your question:
"Maybe after several months of reverse engineering work, you could write a microprocessor to emulate the printer you have in mind."

Months might be optimistic depending on your experience with the USB protocol and the internals of the EPSON firmware.
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

arduinohabib

Why don't you write a program for the arduino to send data to com port, then write an application for the computer to print the data with the printer?
What is man's best friend? The breadboard!

Henry_Best



Correct if I can intercept the data from the computer then have it go to two places 1) USB Printer 2) Generic Com Port Printer.  Is this possible?

This would be perfect.


Why not just print twice, once to the USB/Epson and once to the Generic Com Port Printer?
If you're using Microsoft Office then you could write a VBA program to automate it.
It would be far easier than what you're proposing to do.

thefoxfoy

good info,Months might be optimistic depending on your experience with the USB protocol and the internals of the EPSON firmware.

Go Up