@jakaskerl and @filipjeretina ,
Do I need wifi to run the viewer interface? I went to the field on Sunday to run an experiment and was unable to open the viewer. Does it call back to a website? Can you fix this issue?
@jakaskerl and @filipjeretina ,
Do I need wifi to run the viewer interface? I went to the field on Sunday to run an experiment and was unable to open the viewer. Does it call back to a website? Can you fix this issue?
@michaelsalerno intresting, thanks for reporting - we never tested it. @jakaskerl will try it now, it will likely be a quick fix.
Hey @michaelsalerno . You can use this viewer version:
It will work offline. The next release will also include these changes
Thank you I appreciate your help. I will try it today to see how it operates on my computer.
Do I need to place these files anywhere? If so where and how?
@michaelsalerno
These are python wheels. You install them via pip; depending on the system you use.
Thanks,
Jaka
So it doesn't matter where they are in the files, they just need to be in a findable location and then pip installed.
You will also likely need to use the --force-reinstall
flag with pip (as the version is the same as the latest release version: 0.2.0)
When I try to pip install the files you sent me I keep getting an error return.
ERROR: Could not find a version that satisfies the requirement depthai_viewer-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2 (from versions: none)
ERROR: No matching distribution found for depthai_viewer-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2
@michaelsalerno could you sent the whole pip install command you are using please? Thanks
C:\Users\sale4088\AppData\Local\Programs\DepthAI\venv\Scripts\depthai-viewer-791b2c1b848d430085c71f09b31816928b87739d>pi
p install depthai_viewer-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2
ERROR: Could not find a version that satisfies the requirement depthai_viewer-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2 (from versions: none)
ERROR: No matching distribution found for depthai_viewer-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2
@michaelsalerno As you are on windows, you need to install: depthai_viewer-0.2.0-cp38-abi3-win_amd64.whl
To do so:
- Download the depthai_viewer-0.2.0-cp38-abi3-win_amd64.whl file.
- Open a terminal in the Downloads folder
- In the terminal run: pip install .\depthai_viewer-0.2.0-cp38-abi3-win_amd64.whl --force-reinstall
- Or pip install ./depthai_viewer-0.2.0-cp38-abi3-win_amd64.whl --force-reinstall
if you are using (git) bash
I am using a windows device. I can try this again now.
This was the error code I received when trying to open the application after using the pip install code you provide for me. The application is still not opening.
C:\Users\sale4088\AppData\Local\Programs\DepthAI\depthai\launcher\launcher.py:75: DeprecationWarning: sipPyTypeDict() is deprecated, the extension module should use sipPyTypeDictRef() instead
class Worker(QtCore.QThread):
HEAD detached at v3.5.0
nothing to commit, working tree clean
Message Box (Git Error): Git produced the following error: Command '['C:\\Users\\sale4088\\AppData\\Local\\Programs\\DepthAI\\PortableGit\\bin\\git.exe', 'fetch']' returned non-zero exit status 128.
Output: fatal: unable to access 'luxonis/depthai': Could not resolve host: github.com
Depthai Viewer chosen, checking if depthai-viewer is installed.
Installed Depthai Viewer version: 0.2.0
Please try to run the depthai-viewer via the terminal, instead of via the launcher, as the launcher requires internet connectivity as it checks for update. We should perhaps also fix that…
Please also reinstall the viewer. This is the new version, the previous version had a bug.
To run the depthai viewer from the terminal you can use this command:
python -m depthai_viewer
It does kind of work. I was able to uninstall the depthai-viewer, then reinstall it after the wheel was run. Then I opened the viewer through the terminal. After it opened and connected to my device. I was then able to run it off WIFI. The system then began to lag, and in an attempt to reduce that, I changed the frame rate and it crashed the system. When I switched the FPS from 30 - 10, the camera again tried to call back to something I believe because it closed all windows and refused to reopen them. I am unsure of what to do now, but it seems like everything needs to be adjusted so the viewing interface can be run off WIFI. Below I will post the code of the errors I was receiving.
C:\Users\sale4088\AppData\Local\Programs\DepthAI\venv\Scripts>depthai-viewer
Backend started successfully.
[2024-05-16 10:33:51] INFO [websockets.server.wrap:707] server listening on 127.0.0.1:9001
[2024-05-16 10:33:51] INFO [websockets.server.wrap:707] server listening on [::1]:9001
[2024-05-16 10:33:52] INFO [websockets.server.handshake:642] connection open
[2024-05-16T17:33:52Z INFO ewebsock::native_tungstenite] WebSocket handshake has been successfully completed
[2024-05-16T17:33:52Z INFO re_viewer::depthai::ws] Websocket opened
Selecting device: 18443010F141790E00
Connecting to viewer at 127.0.0.1:9876
Oak cam: <depthai_sdk.oak_camera.OakCamera object at 0x000002B0E1C85BB0>
Default stereo pair: (<CameraBoardSocket.CAM_B: 1>, <CameraBoardSocket.CAM_C: 2>)
Pipeline config: auto=True cameras=[CameraConfiguration(fps=30, resolution=<CameraSensorResolution.THE_1080_P: 'THE_1080_P'>, kind=<CameraSensorType.COLOR: 0>, board_socket=<CameraBoardSocket.CAM_A: 0>, stream_enabled=True, name='Color'), CameraConfiguration(fps=30, resolution=<CameraSensorResolution.THE_400_P: 'THE_400_P'>, kind=<CameraSensorType.MONO: 1>, board_socket=<CameraBoardSocket.CAM_B: 1>, stream_enabled=False, name='Left'), CameraConfiguration(fps=30, resolution=<CameraSensorResolution.THE_400_P: 'THE_400_P'>, kind=<CameraSensorType.MONO: 1>, board_socket=<CameraBoardSocket.CAM_C: 2>, stream_enabled=False, name='Right')] stereo=StereoDepthConfiguration(median=<MedianFilter.KERNEL_7x7: 7>, lr_check=True, lrc_threshold=5, extended_disparity=False, subpixel_disparity=True, align=<CameraBoardSocket.CAM_A: 0>, sigma=0, confidence=230, stereo_pair=(<CameraBoardSocket.CAM_B: 1>, <CameraBoardSocket.CAM_C: 2>)) ai_model=AiModelConfiguration(display_name='Yolo V6', path='yolov6nr3_coco_640x352', camera=<CameraBoardSocket.CAM_A: 0>) imu=ImuConfiguration(report_rate=100, batch_report_threshold=5)
Updating pipeline...
Creating auto pipeline config
Connected camera features: [{socket: CAM_A, sensorName: IMX378, width: 4056, height: 3040, orientation: AUTO, supportedTypes: [COLOR], hasAutofocus: 1, hasAutofocusIC: 1, name: color}, {socket: CAM_B, sensorName: OV9282, width: 1280, height: 800, orientation: AUTO, supportedTypes: [MONO], hasAutofocus: 0, hasAutofocusIC: 0, name: left}, {socket: CAM_C, sensorName: OV9282, width: 1280, height: 800, orientation: AUTO, supportedTypes: [MONO], hasAutofocus: 0, hasAutofocusIC: 0, name: right}]
Usb speed: UsbSpeed.SUPER
Creating camera: fps=30 resolution=<CameraSensorResolution.THE_1080_P: 'THE_1080_P'> kind=<CameraSensorType.COLOR: 0> board_socket=<CameraBoardSocket.CAM_A: 0> stream_enabled=True name='color'
Creating camera: fps=30 resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'> kind=<CameraSensorType.MONO: 1> board_socket=<CameraBoardSocket.CAM_B: 1> stream_enabled=True name='left'
Creating camera: fps=30 resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'> kind=<CameraSensorType.MONO: 1> board_socket=<CameraBoardSocket.CAM_C: 2> stream_enabled=True name='right'
Creating depth
Getting cam by socket: CameraBoardSocket.CAM_B Cameras: [CameraConfiguration(fps=30, resolution=<CameraSensorResolution.THE_1080_P: 'THE_1080_P'>, kind=<CameraSensorType.COLOR: 0>, board_socket=<CameraBoardSocket.CAM_A: 0>, stream_enabled=True, name='color'), CameraConfiguration(fps=30, resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'>, kind=<CameraSensorType.MONO: 1>, board_socket=<CameraBoardSocket.CAM_B: 1>, stream_enabled=True, name='left'), CameraConfiguration(fps=30, resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'>, kind=<CameraSensorType.MONO: 1>, board_socket=<CameraBoardSocket.CAM_C: 2>, stream_enabled=True, name='right')]
Creating IMU, connected IMU: BNO086
Starting pipeline
[18443010F141790E00] [1.7] [10.371] [DetectionNetwork(9)] [warning] Network compiled for 6 shaves, maximum available 10, compiling for 5 shaves likely will yield in better performance
----------------------------------------
[0s] System information
----------------------------------------
Ddr used / total - 105.47 / 333.34 MiB
Cmx used / total - 2.47 / 2.50 MiB
LeonCss heap used / total - 30.00 / 82.30 MiB
LeonMss heap used / total - 5.12 / 40.47 MiB
Chip temperature - average: 24.62, css: 25.92, mss: 23.94, upa: 23.94, dss: 24.68
Cpu usage - Leon CSS: 4.23 %, Leon MSS: 0.05 %
----------------------------------------
[10s] System information
----------------------------------------
Ddr used / total - 132.81 / 333.34 MiB
Cmx used / total - 2.48 / 2.50 MiB
LeonCss heap used / total - 53.14 / 82.30 MiB
LeonMss heap used / total - 5.96 / 40.47 MiB
Chip temperature - average: 28.68, css: 29.83, mss: 28.13, upa: 28.86, dss: 27.88
Cpu usage - Leon CSS: 58.19 %, Leon MSS: 20.87 %
----------------------------------------
[20s] System information
----------------------------------------
Ddr used / total - 132.81 / 333.34 MiB
Cmx used / total - 2.48 / 2.50 MiB
LeonCss heap used / total - 53.14 / 82.30 MiB
LeonMss heap used / total - 5.96 / 40.47 MiB
Chip temperature - average: 29.59, css: 30.56, mss: 29.10, upa: 29.83, dss: 28.86
Cpu usage - Leon CSS: 58.97 %, Leon MSS: 20.41 %
----------------------------------------
[30s] System information
----------------------------------------
Ddr used / total - 132.81 / 333.34 MiB
Cmx used / total - 2.48 / 2.50 MiB
LeonCss heap used / total - 53.14 / 82.30 MiB
LeonMss heap used / total - 5.96 / 40.47 MiB
Chip temperature - average: 29.71, css: 30.80, mss: 29.35, upa: 29.59, dss: 29.10
Cpu usage - Leon CSS: 56.88 %, Leon MSS: 19.46 %
Pipeline config: auto=False cameras=[CameraConfiguration(fps=10, resolution=<CameraSensorResolution.THE_1080_P: 'THE_1080_P'>, kind=<CameraSensorType.COLOR: 0>, board_socket=<CameraBoardSocket.CAM_A: 0>, stream_enabled=True, name='color'), CameraConfiguration(fps=10, resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'>, kind=<CameraSensorType.MONO: 1>, board_socket=<CameraBoardSocket.CAM_B: 1>, stream_enabled=True, name='left'), CameraConfiguration(fps=10, resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'>, kind=<CameraSensorType.MONO: 1>, board_socket=<CameraBoardSocket.CAM_C: 2>, stream_enabled=True, name='right')] stereo=StereoDepthConfiguration(median=<MedianFilter.KERNEL_7x7: 7>, lr_check=True, lrc_threshold=5, extended_disparity=False, subpixel_disparity=True, align=<CameraBoardSocket.CAM_B: 1>, sigma=0, confidence=230, stereo_pair=(<CameraBoardSocket.CAM_B: 1>, <CameraBoardSocket.CAM_C: 2>)) ai_model=AiModelConfiguration(display_name='Yolo V6', path='yolov6nr3_coco_640x352', camera=<CameraBoardSocket.CAM_A: 0>) imu=ImuConfiguration(report_rate=100, batch_report_threshold=5)
Updating pipeline...
Cam running, closing...
Usb speed: UsbSpeed.SUPER
Creating camera: fps=10 resolution=<CameraSensorResolution.THE_1080_P: 'THE_1080_P'> kind=<CameraSensorType.COLOR: 0> board_socket=<CameraBoardSocket.CAM_A: 0> stream_enabled=True name='color'
Creating camera: fps=10 resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'> kind=<CameraSensorType.MONO: 1> board_socket=<CameraBoardSocket.CAM_B: 1> stream_enabled=True name='left'
Creating camera: fps=10 resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'> kind=<CameraSensorType.MONO: 1> board_socket=<CameraBoardSocket.CAM_C: 2> stream_enabled=True name='right'
Creating depth
Getting cam by socket: CameraBoardSocket.CAM_B Cameras: [CameraConfiguration(fps=10, resolution=<CameraSensorResolution.THE_1080_P: 'THE_1080_P'>, kind=<CameraSensorType.COLOR: 0>, board_socket=<CameraBoardSocket.CAM_A: 0>, stream_enabled=True, name='color'), CameraConfiguration(fps=10, resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'>, kind=<CameraSensorType.MONO: 1>, board_socket=<CameraBoardSocket.CAM_B: 1>, stream_enabled=True, name='left'), CameraConfiguration(fps=10, resolution=<CameraSensorResolution.THE_800_P: 'THE_800_P'>, kind=<CameraSensorType.MONO: 1>, board_socket=<CameraBoardSocket.CAM_C: 2>, stream_enabled=True, name='right')]
Creating IMU, connected IMU: BNO086
Traceback (most recent call last):
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\connection.py", line 198, in _new_conn
sock = connection.create_connection(
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\util\connection.py", line 60, in create_connection
[2024-05-16 10:35:16] WARNING [urllib3.connectionpool.urlopen:874] Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x000002B0E9428AF0>: Failed to resolve 'sentry.luxonis.com' ([Errno 11001] getaddrinfo failed)")': /api/16/envelope/
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "C:\Users\sale4088\AppData\Local\Programs\DepthAI\WPy64-3950\python-3.9.5.amd64\lib\socket.py", line 953, in getaddrinfo
[2024-05-16 10:35:16] WARNING [urllib3.connectionpool.urlopen:874] Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x000002B0E9428970>: Failed to resolve 'sentry.luxonis.com' ([Errno 11001] getaddrinfo failed)")': /api/16/envelope/
[2024-05-16 10:35:16] WARNING [urllib3.connectionpool.urlopen:874] Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x000002B0E9428880>: Failed to resolve 'sentry.luxonis.com' ([Errno 11001] getaddrinfo failed)")': /api/16/envelope/
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\connectionpool.py", line 793, in urlopen
response = self._make_request(
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\connectionpool.py", line 491, in _make_request
raise new_e
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\connectionpool.py", line 467, in _make_request
self._validate_conn(conn)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\connectionpool.py", line 1099, in _validate_conn
conn.connect()
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\connection.py", line 616, in connect
self.sock = sock = self._new_conn()
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\connection.py", line 205, in _new_conn
raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0x000002B0E8145220>: Failed to resolve 'blobconverter.luxonis.com' ([Errno 11001] getaddrinfo failed)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\requests\adapters.py", line 486, in send
resp = conn.urlopen(
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\connectionpool.py", line 847, in urlopen
retries = retries.increment(
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\urllib3\util\retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='blobconverter.luxonis.com', port=443): Max retries exceeded with url: /zoo_models?version=2022.1&zoo_type=intel (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x000002B0E8145220>: Failed to resolve 'blobconverter.luxonis.com' ([Errno 11001] getaddrinfo failed)"))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\sale4088\AppData\Local\Programs\DepthAI\WPy64-3950\python-3.9.5.amd64\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\sale4088\AppData\Local\Programs\DepthAI\WPy64-3950\python-3.9.5.amd64\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\_backend\main.py", line 196, in <module>
DepthaiViewerBack(args.port, args.sdk_port)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\_backend\main.py", line 52, in init
self.run()
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\_backend\main.py", line 169, in run
self.result_queue.put(self.handle_action(action, \*\*kwargs))
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\_backend\main.py", line 112, in handle_action
message = self.on_update_pipeline(kwargs.get("runtime_only")) # type: ignore[arg-type]
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\_backend\main.py", line 98, in on_update_pipeline
message = self._device.update_pipeline(runtime_only)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\_backend\device.py", line 592, in update_pipeline
self._nnet = self._oak.create_nn(model_path, cam_component)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\depthai_sdk\oak_camera.py", line 323, in create_nn
comp = NNComponent(self.device,
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\depthai_sdk\components\nn_component.py", line 108, in init
self._parse_model(model)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\depthai_sdk\components\nn_component.py", line 243, in _parse_model
zoo_models = blobconverter.zoo_list()
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\blobconverter\init.py", line 505, in zoo_list
response = requests.get("{}/zoo_models?{}".format(url, urllib.parse.urlencode(url_params)))
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\requests\api.py", line 73, in get
return request("get", url, params=params, \*\*kwargs)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, \*\*kwargs)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\requests\sessions.py", line 589, in request
resp = self.send(prep, \*\*send_kwargs)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\requests\sessions.py", line 703, in send
r = adapter.send(request, \*\*kwargs)
File "c:\users\sale4088\appdata\local\programs\depthai\venv\lib\site-packages\depthai_viewer\venv-0.2.0\Lib\site-packages\requests\adapters.py", line 519, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='blobconverter.luxonis.com', port=443): Max retries exceeded with url: /zoo_models?version=2022.1&zoo_type=intel (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x000002B0E8145220>: Failed to resolve 'blobconverter.luxonis.com' ([Errno 11001] getaddrinfo failed)"))
Ah I see what's wrong. It will require another fix. In the meantime, the viewer should work off wifi, if you disable the Neural Network (select No model in the dropdown)