D435i camera device not connected
|
I am trying to use pyrealsense D435i camera using PYNQ Fpga ARM processor. I have installed the library of pyrealsesen2. I am running a code but getting a error that "no device connected". I have USB2 port. Pyrealsense module is imported successfully. I tried a lot to connect the camera but I am failing. Kindly give any valuable feedback on this. |
-
Hello, are you using a Pynq Z1 board, please? There was a Pynq Z1 case a few years ago where a RealSense user was attempting to use pyrealsense2 with it on the board's USB 2 port.
They resolved their particular problem by calibrating the camera, although their problem was a different one to yours. The case did demonstrate though that a 400 Series camera can work succesfully on a Pynq Z1 board on USB 2.
Is the camera detected if you use the command below in the Linux terminal, please?
rs-enumerate-devices
-
I am using PYNQ z2 board. I tried that but still I am getting no device connected. Pyrealsense2 module is imported correctecly.
Any solution to this this?
I am using the below code:
import pyrealsense2 as rstry:
# Create a context object. This object owns the handles to all connected realsense devices
pipeline = rs.pipeline()# Configure streams
config = rs.config()
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)# Start streaming
pipeline.start(config)while True:
# This call waits until a new coherent set of frames is available on a device
# Calls to get_frame_data(...) and get_frame_timestamp(...) on a device will return stable values until wait_for_frames(...) is called
frames = pipeline.wait_for_frames()
depth = frames.get_depth_frame()
if not depth: continue# Print a simple text-based representation of the image, by breaking it into 10x20 pixel regions and approximating the coverage of pixels within one meter
coverage = [0]*64
for y in range(480):
for x in range(640):
dist = depth.get_distance(x, y)
if 0 < dist and dist < 1:
coverage[x//10] += 1
if y%20 is 19:
line = ""
for c in coverage:
line += " .:nhBXWW"[c//25]
coverage = [0]*64
print(line)
exit(0)except Exception as e:
print(e)
pass -
Given that you are using a computing device that is not commonly used with librealsense, you may get better results if you build librealsense from source code with CMake using the RSUSB backend method. This type of librealsense build is not dependent on Linux versions or kernel versions and does not require patching, and so it can be useful on exotic industrial hardware specifications or in situations where there is a conflict with the Linux kernel.
You can build librealsense and the Python wrapper together at the same time.
https://support.intelrealsense.com/hc/en-us/community/posts/360048315774/comments/360012181673
Please sign in to leave a comment.
Comments
3 comments