Transferring Data from BBB to PC

I have my BBW tethered to my PC via USB. I will use the BBW to acquire a stream of data which will be passed to my PC for display and storage. Is there a “best practice” way to handle this?

I note that connecting the BBW via USB creates two (I think) USB-serial ports on my PC, enumerated as USB Serial Converter A and USB Serial Converter B. One of these ports supports the Serial Gadget link to the BBW via Com8 on my PC, and is used by my Eclipse cross-compiler and remote terminal applications. The other appears as (I think) Com9 on my PC. If that’s correct, can anyone point me to some information on sending data via that Com9 port?

Hope my question makes sense.


"The mini-USB type-A OTG/device client-mode socket is
multi-functional. In addition to providing an alternative source of
power, it gives access to an on-board front-end two-port USB
client-side hub. (This is not related to the separate host-mode USB
socket described later). One port of the hub goes directly to the USB0
port of the TI AM3358/9 SoC, while the other port connects to a
dual-port FTDI FT2232H USB-to-serial converter to provide
board-to-external-host serial communications and/or JTAG debugging.
The BeagleBone's Linux serial console is available through this USB
serial connection."

The "second" com port you see is actually the jtag port.


Heya Curt,

This is definitely a topic that should give many pause for thought. The reason is there are many ways to go about doing this.

  • .NET ( C#, VB.NET, etc ) has a class library for COM communication.
  • Java Also has a class object model for this I believe.
  • Python, Perl . . . the list is fairly large.

Surely this could be done using C/C++, or even ASM if these are your preferred languages of choice. Even Javascript using Nodejs, and multiple ways in Nodejs to achieve this.

So, I think it boils down to what is more convent for you. Just start googling + COM communication, and see which way / method appeals to you. Just keep in mind that if you want your application to be cross platform, some languages are better suited for this task than others.

Oh, and in the case of Nodejs, you could use g_ether, and stream the data via, and have the client side Javascript do all the heavy lifting. It is a rather cool “thing” to do. I am just not sure this is the best way to go about things.