Rasberry PI 3B V1.2 to RVR connection -> TimeoutError

Hi all,
I am having trouble in connecting my Raspberry Pi Model 3B V1.2 device to Sphero Rover

I have referred to this document to setup the connectivity.

I am not able to run any sample programs which are inside sphero-sdk-raspberrypi-python/getting_started/asyncio directory. All are having same issue that I have described below.

Here are the steps that I have followed.

  1. Connected to Raspberry Pi Model 3B V1.2 device using ssh.
  2. Install all the dependencies using pipenv install
  3. Activated environment using pipenv shell
  4. Verified python version in activated environment python --version it is Python 3.7.3
  5. Executed script sudo python get_main_app_version.py
  6. Got below error message
(sphero-sdk-raspberrypi-python) pi@raspberrypi:~/a/sample/sphero-sdk-raspberrypi-python/getting_started/asyncio/system $ sudo python get_main_app_version.py
  File "get_main_app_version.py", line 20
    async def main():
            ^
SyntaxError: invalid syntax
  1. Executed same script using python3.7 instead of python , sudo python3.7 get_main_app_version.py
  2. Got Below error message
Network available
Checking RVR firmware versions...
Traceback (most recent call last):
  File "get_main_app_version.py", line 15, in <module>
    loop
  File "/home/pi/a/sample/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/toys/sphero_rvr_async.py", line 36, in __init__
    self._check_rvr_fw()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/home/pi/a/sample/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/firmware/rvr_fw_check_async.py", line 30, in _check_rvr_fw
    rvr_nordic_version = await self.__rvr.get_main_application_version(target=SpheroRvrTargets.primary.value, timeout=3)
  File "/home/pi/a/sample/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/toys/sphero_rvr_async.py", line 106, in get_main_application_version
    return await self._dal.send_command(**command_dict)
  File "/home/pi/a/sample/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/dal/serial_async_dal.py", line 84, in send_command
    timeout=timeout
  File "/home/pi/a/sample/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/server/handler/api_sphero_handler.py", line 191, in send_command
    await asyncio.shield(asyncio.wait_for(future, timeout=timeout))
  File "/usr/lib/python3.7/asyncio/tasks.py", line 423, in wait_for
    raise futures.TimeoutError()
concurrent.futures._base.TimeoutError
(sphero-sdk-raspberrypi-python) pi@raspberrypi:~/a/sample/sphero-sdk-raspberrypi-python/getting_started/asyncio/system $

Please see below image that describes all above steps.

Connection between Raspberry Pi Model 3B V1.2 to and RVR

  I have properly connected GND,RX and TX of Sphero Rover to Raspberry Pi

Versions → Sphero Edu App and firmware

Sphero Edu iOS App ( Version 6.3.3 ) on my iPhone shows below firmware version:


Current firmware versions: 8.3.432, 8.6.448

Any help or pointers will definitely help. After executing sudo python3.7 get_main_app_version.py I can see that script is trying to connect to RVR in order to fetch fetch firmware version and causing some issue. Also can see line Network available which means there is active internet connection on Raspberry Pi Device.

Any one knows what is current latest firmware version for RVR? I can see there is one message received on 31st Aug 2021, in my Sphero Edu app that says “New RVR Firmware” with the below content in it.

New RVR firmware has been released! This firmware makes driving more consistent and controllable, tracks target heading three
times more accurately, improves locator accuracy, and produces cleaner stopping behaviour. Connect your RVR with the Sphero Edu app on iOS or Android to automatically update to the newest firmware.

Many new features are also available with the python Raspberry Pi SDK, available on our SDK website at sdk.sphero.com

I am assuming I have latest firmware installed on my RVR, but not sure what is causing the timeout error.

Summary

  1. Raspberry Pi Model 3B V1.2
  2. RVR Firmware version 8.3.432, 8.6.448
  3. Sphero Edu iOS App - Version 6.3.3

Please help!

Kind Regards,
Hemant

1 Like

Hi @hshelar,

Please make sure you have the latest SDK from GitHub. There were some timeout bug fixes in the python code about a year ago.

Jim

SPHERO Email Marketing -