Can I use pyusb to communicate with my USB device without installing extra driver - driver

I want to develop a portable USB device. And now I want to communicate with this device by using Pyusb. I use python 2.7 under windows 7, and I install a backend (I choose libusb-win32) which will install its own driver. I am new to USB and pyusb, so I wonder if there is no driver, can I communicate with this device and can this device communicate with a clean PC.
Thank you very much in advance.

You probably already figured this out in the meantime, but the answer is "yes": Using libusb / PyUSB you can interact with a USB device without the need for a dedicated driver. You'll have to perform any protocol handling in user-space, though.

Related

ASCII code on an external device through USB port

Is it possible to send an ASCII code on an external device through USB port using IOS API? I assume that it is possible through bluetooth connection, but I'm not sure through USB connector. Any thoughts?
I would appreciate if someone could put me in the right direction.
Thanking you in advance
That largely depends on the level of sophistication of this "external device". If this external device is just a bare metal embedded device without some sort of operating system you definitely need MFI.
Otherwise, you can run a usbmuxd server (e.g. on Raspberry PI with Linux) to establish a connection via USB. Usbmuxd is basically the technology that Apple uses to communicate between iOS devices and Desktop apps such as iTunes or Xcode. And yes, it is App Store compliant, e.g., Duet Display uses this approach to make an iPad a secondary display for your Desktop via USB.
There are several open source libraries that provide a high level API, e.g., PeerTalk or DarkLightning.

Networking on Galileo Gen2: What's the MAC address?

I'm using the latest build of Windows IoT for the Galileo Gen2 (9600.16384.x86fre.winblue_rtm_iotbuild.150309-0310_galileo_v2) and writing Wiring applications in VS2013Pro.
I want to start building network connections, but the first parameter I need to specify is the MAC address. The board came with a MAC printed on a sticker on the mag-jack, but did it get written to the onboard flash somewhere? Were do I find it from inside my Wiring/IoT app?
Ron,
You may try logging into the device via telnet and running 'getmac' or 'ipconfig /all'. This should give you the MAC address for your device.

How does this iOS app communicate over the USB port?

This app promises to turn your iOS device into a second monitor and uses the standard USB cable to connect to the computer, as opposed to the network which all other similar apps use.
Back when I heard about it, it wasn't yet available so I thought it was a scam. To my surprise, they released the app and it actually works as described.
How does it work ? As far as I know there are no APIs to drive the USB port in iOS, and the computer connected via USB through the standard charging/syncing cable doesn't count as an MFI accessory.
Note that they provide the server software (the one that installs on the Mac and streams the desktop to the device) on their download page for free, reverse-engineering it could shed some light on this but I unfortunately don't have the skills for that.
Dean told about it on his blog.
Duet uses Peertalk, an open source library allowing to pass TCP connections through the USB connection without being part of the MFI program.
The information, code and tools to accomplish generic USB port communication is available to those who join the Apple MFi program. You have to do the paperwork and get licensed by Apple.
http://developer.apple.com/programs/mfi/
The libraries necessary are included in the app and then the usual streaming libraries and code do the rest.

Ios filesharing without iTunes or an internet connection

I am working on developing an enterprise application for ios 7 that needs to work offline and then sync with a desktop client (that I also need to write) for data transfer.
My company does not allow wireless or cell data in this area, and would strongly prefer to not use iTunes either.
The question is, how do you transfer data from an iPad over the usb cable to a custom windows program, without iTunes.
The simplest answer would be: iExplorer (http://www.macroplant.com/iexplorer/) plus some kind of a script to automate the data sync.
Otherwise, you can use the ExternalAccessory framework to communicate with the desktop via a USB tether. This would necessitate a desktop client running simultaneously to communicate with the device.
peertalk (https://github.com/rsms/peertalk) does what you want, however the computer side library is only for mac os. Maybe you can port the protocol to windows by looking at that (the license is BSD)
Edit: this guy managed to have it run under linux. It sits on usbmuxd, which also has a windows port, so it shouldn't be impossible.

USB connection trouble

I am currently running a robotic's project using an Hokuyo (URG-04LX-UG01 - http://www.hokuyo-aut.jp/02sensor/07scanner/urg_04lx_ug01.html). This one is plugged to my computer using USB. Although it creates the port "/dev/ttyACM0" when I plug it, I can't connect to it using the associated library (serial connection error). Until here, nothing's strange, bugs or misprogramming happens but here is my problem :
When I plug the hokuyo to an USB HUB, which is also plugged to my computer, I can connect to it and everything works perfectly.
My laptop is a samsung 900x3c running Linux Mint 15.
Do you know what an USB HUB changes in the USB communication ?
Is there a link with my laptop ? (I used to face the same problem using an ARM-Based embedded computer)
Is it possible to fix the issue without using any hardware solution ?
If it's not, is there anything more compact than an USB HUB which could fix it ?
Thanks !
Is your USB-HUB powered from external power adapter? URG-04LX-UG01 seems to consume 2,5W/5V=0,5A. This is limit for USB. Laptop USB ports are not so powerful and if device consumes a little bit more than max, then they just cut the power.
Update
The device is USB 2.0 Full Speed. I've seen USB controller, that had problems with USB 1.0 or USB 2.0 devices. Hub presents itself as USB 2.0 High Speed and handles USB 2.0 Full Speed transparently for the Laptops USB controller. Do you have another Laptop/PC to check this?
I'm kind of late on my feedback for that issue, but better late then never so :
I've been able to determine that the whole issue came from my USB cable. Somehow there was an electrical issue in that cable and the computer-or the hokuyo- was not able to properly communicate through it. I think that the USB HUB was somehow able to correct theses electrical issues.
Anyway, problem solved !

Resources