USB OTG & sensors - usb

As I understand it, USB OTG requires specific hardware. I am curious if this is the case. But my broader question concerns connecting a device (PC, tablet) to a digital sensor. Does the device need to support OTG in order to connect to a digital sensor over USB?

The answer appears to be, "no," a digital sensor does not need to support OTG in order to be have host Android device connect to it.

Related

List UART -> COM converter in Windows Device Portal

I have Raspberry Pi 3 plate with connected USB to UART (COM) converter.
The power led on the USB stick is ON.
I can not find the converter in Windows Device Portal.
In both: connected and disconnected states I see just two UART related records in Device Manager:
(ID:ACPI\BCM2835\0, Class:System, Manufacturer:Microsoft, StatusCode:25165834)
>BCM283x Mini UART Serial Device
(ID:ACPI\BCM2836\0, Class:Ports, Manufacturer:Microsoft, StatusCode:25182218)
>ARM PL011 UART Device Driver
(ID:ACPI\BCM2837\4, Class:System, Manufacturer:Microsoft, StatusCode:25165834)
Also I use git diff between saved device lists and there is no difference between the case I connect USB stick and disconnect it.
Where can I see the device in the list?
UPDATE
Here I print all found devices:
First you need make sure your USB to UART (COM) converter is supported on Windows IoT Core. Please check the hardware compatibility list. The CP2102 USB 2.0 to TTL Module Serial Converter is supported.
I use CP2102 USB to UART Bridge Converter and it also works. Use the SerialUART sample can list two device: one is on-board PL011 UART Device and the other is mine.
From device portal:

USB over wireless

this is a more HW question. I was wondering, is someone aware of a device which enables to connect a USB device to a PC over WiFi?
The idea is to plug USB device into a transmitter and have a receiver at the PC side. The data would be transferred wirelessy.
I have learned that the key word for this type of devices is WUSB. However, I am failing to find a successfully stories behind using some of these, as well as a good device.
Does someone have an experience?
Thank you in advance.
I haven't seen any USB hubs that can transmit over Wi-Fi. But there are several Wireless Hubs available. Like these
http://www.ebay.com/itm/like/131933064085?lpid=82&chn=ps&ul_noapp=true
https://jet.com/product/detail/49089829a0c7458d9d30c1ec308febef?jcmp=pla:ggl:gen_electronics_a1:networking_bridges_routers_wireless_access_points_a1_other:na:PLA_348772140_24231289500_pla-177033586620:na:na:na:2&code=PLA15&ds_c=gen_electronics_a1&ds_cid=&ds_ag=networking_bridges_routers_wireless_access_points_a1_other&product_id=49089829a0c7458d9d30c1ec308febef&product_partition_id=177033586620&gclid=CJTyuaXNjM8CFYQkgQodOLAIkA&gclsrc=aw.ds
They have an adapter you plug into the PC and the hub works just like it would if it were wired.
Why do you need it to transmit over Wi-Fi specifically?

How does USB integration work from the device end?

Hopefully I will have more luck today. I have no prior USB integration and about 8 months of learning embedded systems on Atmel devices. I am trying to use an Atmel SAM L series to connect over USB to a computer. The use case is for data transfer. Specifically, the MCU will be gathering data from it's sensors and packaging it for USB transfer.
I have searched through and read up on all of Atmel's included USB examples. I have also started reading through usb.org's class specifications for CDC.
I have running now something that lets me send data along one com port, into the target usb and then out the debugger usb to another com port. However, I don't think this is real USB.
My problem is two fold.
1.) I do not fully understand what differentiates USB from serial communication on a com port.
2.) Even if I were doing it correctly, I'm not sure how to test and verify that I have indeed created a legitimate USB device that can be accepted by a host computer.
Links to documentation(Atmel or generic) or example code would be appreciated.
1) USB is defined in the USB specifications from http://www.usb.org. Serial ports were an older and simpler interface that involved sending data back and forth asynchonously on pins with names like TX and RX. The USB CDC class and its ACM subclass allow you to make a USB device that emulates a serial port. If you make your device be a USB CDC ACM device, then you don't need to supply any drivers for Windows 10, Linux, or Mac OS X.
2) You can read the USB specification and the CDC ACM specification. You can run the USB command verifier. You can test your device with a variety of different USB hosts to make sure it works.

Integrate microcontroller with 3G dongle

I want to integrate a Luminary microcontroller with a 3G USB dongle.
Do all USB dongles support AT commands?
If not then what is the best way to do it?
Thanks..
Yes, you can expect that the 3G dongle will support AT commands. You need the modem (dongle) to make a modem port available, to which you can send AT commands. For this, you need a suitable driver, and maybe some software to convert the dongle from a USB mass storage device to a modem, depending upon your device. (When you first plug the modem in, it may be seen as a mass storage device, and must be converted to a modem)
Ask the manufacturer for details, as this is not a standard procedure, and implementation is manufacturer specific.

Is it possible to determine usb protocol from an installed driver?

Just as the question states, the goal is to reverse engineer the protocol used by a device.
Let's say you have a webcam, an Arduino and an Arduino USB Host shield. You want to talk to that webcam, from which you don't know the protocol. Can it be done by monitoring USB data packets and by analyzing the driver installed for that device?
It would be a really interesting project.
Thanks in advance.
I often use a serial spy program to look at the conversation between two devices. In windows you can pay for it...
http://www.sinnovations.com/htdocs/serial-port-monitor.htm
In Linux it's free...
http://www.cyberciti.biz/faq/howto-monitor-data-on-a-serial-port-in-linux/