Simple interface for talking to most Neato robots via USB.
- Run pip
install -r requirements.txt
- Connect your device, and run zadig in this folder - downloaded from:
https://github.com/pbatard/libwdi/releases/download/b730/zadig-2.5.exe
- Options -> list all devices
- Find your device and select it -> click replace driver to WinUSB
- After this finishes, your device should appear under "Universal Serial Bus" devices in device manager.
- open ipython, and try the following:
xv = neato.xv11()
print xv.command('help')
# try this to rotate the robot
xv.turnRight(90)
# try this to get a direct shell to query commands directly from the device
# type `help [ENTER]` to see a list of all the commands
xv.shell()
I've used it with python 2.7. Some libraries such as libusb / pyusb are moving out of python 2.7. The script should be easy to turn into python 3, there's not much special stuff here.
Known errors:
- No supported backend - this usually means the python couldn't find libusb-1.0.dll here.
- One option is to copy it to system32 or some public location..
- array decoding error - this looks like python 3 vs 2 issue, I worked around it by never sending unicode strings into the commands..
- device not found - try checking zadig and device manager to make sure the usb device was installed correctly.