Go Down

Topic: Using Arduino as USB Internet bridge - how to do? (Read 414 times) previous topic - next topic

ec_witty

Hello,

I am a newbie to Arduino, and I wonder if anyone can tell me if Arduino is fast and capable enough to capture without loss data coming from a USB 2.0 device, send it streaming to the Internet, and at the other end to have another Arduino device that reads from the Internet (having set up IP handshakes, of course) and recreates the data to an output USB 2.0 port.

Thus, the Arduino x 2 will be both a streamer for input USB 2.0 arbitrary signal (as channel) and client for the stream, to be reconstituted as USB 2.0 signal.....

A USB-Internet Streaming Bridge.....

Thank you....and how might I proceed? Processors, components, I/O chips, software?


ec_witty

pylon

Quote
if anyone can tell me if Arduino is fast and capable enough to capture without loss data coming from a USB 2.0 device, send it streaming to the Internet, and at the other end to have another Arduino device that reads from the Internet (having set up IP handshakes, of course) and recreates the data to an output USB 2.0 port.
Simple answer: No. None of the available Arduino models is fast enough for such a job. If I understand your idea correctly it isn't even possible to do it because USB won't work that way.


Juraj

just writing ideas down to share:

you can connect two computers with serial rs232 cable. it is called null modem.

if you connect an usb to ttl adapter to both computers and connect the adapters to esp8266 serial ports and the esp8266 will copy the data between serial ports, will it work like the null modem? I think yes

if you use two wemos d1 mini connected to two computers and send the data over wifi from serial port to serial port, will it work?

how fast can it be? I don't know. UART of esp8266 and CH340 can run at USB 2.0 max speed. the esp8266 processor is fast too. WiFi?
You can't write an Arduino sketch if you didn't learn programming. Not the language, but the concepts of programming - algorithms and data types.

pylon

Quote
UART of esp8266 and CH340 can run at USB 2.0 max speed.
I seriously doubt that. USB2.0 max. speed is 480Mbit/s. Which of the two component is able to handle that?

Quote
commercially available

https://www.flexihub.com
Interesting product but it's not exactly what OP described (this emulates a hub which is an additional device on the USB bus). I might be exactly what OP tries to achieve but he didn't explained that yet.


mauried

Would help if the OP defined exactly what the USB 2.0 device is .
If it has to be plugged into an Arduino then the Arduino needs a USB host port and the port must also be able to recognise the device.
But thats only the start of the other problems that would have to be sorted out.
Really not possible.

ec_witty

Thanks for the great feedback. The device is a Behringer UMC 404HD which connects to a DAW (Digital Audio Workstation) software with a USB 2.0 Type B connection.

Such a setup permits one to play back multi-track music over (in this case) 4 speakers.

However, the source wav files for a 30 minute string quartet can be quite large. Instead of downloading, the concept is to have an Internet server (like Youtube) that could stream the output from such a device over the net, and on the other end to have a receptor device that outputs to USB that would be the local end of the client 404.

The end result would be streaming multi-track music over the Internet to multiple speakers, given a client receptor for the digital stream that be the output of the remote server.

Instead of diving into DAW I thought perhaps one could capture the data coming from the USB 2.0 at the server, send it streaming down the Internet, and reverse it there, into the client 404.

A USB Internet bridge.

mauried

Not possible as the Arduino Host shield wont recognise the Behringer device , as its not one of the supported classes of devices.
If you had a detailed knowledge of what the data format of the Behringer device was, and were extremely good at coding , it just might be possible to write your own driver , but it sure isnt a beginners project.

ec_witty

I was hoping that Arduino could tap into to the data stream on the USB port and packetize it without regard for format, just as file systems and the Internet does, and at the other end, reconstitute the stream.

Is that possible with Arduino or another such product?

Thanks
ec_witty

mauried

To read data from a USB device, the host port has to know what class of device it is , in order to know how to read the data.
You cant read an unknown data format at an unknown data rate.
Try plugging the Behringer device into a PC and see if the PC recognises it , as that will at least give you an idea of what class of device it is.
But you will still need to know something about the data format that the Behringer device uses, as for example how to start it sending anything.

Go Up