I'm trying to connect a Raspberry Pi through the accessory bay of the Solo.
So far, I've succeed using the DroneKit Python API on the RPi using a WiFi connection:
vehicle = connect('10.1.1.167:14550', wait_ready=True)
With the IP address given from the controller to the Raspberry Pi's WiFi dongle. I can create a listener and see messages, everything works fine.
Now, I would like to use the USB connection from the accessory bay port instead. I've tried both host and device mode (pin 3DRID Grounded or left unconnected).
When the Solo is in device mode, a serial port is created and can be seen with the following command:
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
|__ Port 2: Dev 19, If 0, Class=Communications, Driver=cdc_acm, 480M
|__ Port 2: Dev 19, If 1, Class=CDC Data, Driver=cdc_acm, 480M
|__ Port 2: Dev 19, If 2, Class=Mass Storage, Driver=usb-storage, 480M
Then using for example screen I can open a serial connection with 57600 baudrate and get access to the Solo's prompt:
screen /dev/ttyACM0 57600
3DR Poky (based on Yocto Project Reference Distro) 1.5.1 3dr_solo /dev/ttyGS0
But I can't run the dronekit API connection from the RPi as follow:
vehicle = connect('/dev/ttyACM0', baud=57600, wait_ready=True,heartbeat_timeout=150)
-> timeout then script error
When the Solo is in host mode, no more USB information is shown when the
lsusb -t command is called.
Does anyone know how to perform an USB connection to the Solo?