ArduCAM / ArduCAM_USB_Camera_Shield

This is the repository for ArduCAM USB Camera Shield
126 stars 70 forks source link

SDK for ARM64 for c/c++ #14

Open YurySams opened 6 years ago

YurySams commented 6 years ago

Hi, We are looking a way to connect ARDUCAM USB SHIELD to our development board with arm64 cpu. We would use C/C++ language to process capturing video frame. Is it possible to share SDK (.so + header) with us? thank you

ArduCAM commented 6 years ago

Would you please let me know what kind of ARM64 CPU you are using? The Linux SDK now we offer is only for PC and Raspberry pi, we need to work on other platform if needed.

alexanderhmw commented 6 years ago

Hi, I also have the similar problem. We need to deploy the ArduCAM on NVIDIA Tiger TX2, but we don't know how to compile the ArducamSDK.so. Could you please share your source code for building.

ArduCAM commented 6 years ago

Do you have any email contact?

ryanmklee commented 6 years ago

Hi, Also having a similar problem, could you compile it in ARM64 or provide the source code? We're trying to use it with the NVIDIA Jetson TX2.

YurySams commented 6 years ago

There is another solutions https://ccjt.taobao.com/?spm=2013.1.1000126.3.26d358c2zPDOl3

hardware, camera + usb shield, is good. But they provide software only for windows. However they share protocol and you can implement client basing on libusb for platform where you can find one, libusb.

lachinaj commented 6 years ago

Hi,

I'm also interested to have it on ARM64 for NVidia Jetson TX1 and TX2. I can help you to port it to this board.

Best regards

ArduCAM commented 6 years ago

We have update the library for support ARM64 Arch processor, and tested on Pine64 board. Please check it out.

lachinaj commented 6 years ago

Thanks

cullophid commented 6 years ago

Have anyone had any luck making this work with the TX1/TX2?

lachinaj commented 6 years ago

I'm not have time for the moment, I have used another camera. I will test it as soon as possible. But I suppose it's not a problem with the ARM64 build.

luckyplay68 commented 6 years ago

Hi, Is it possible to use the ArduCAM_USB_Camera_Shield with ODROID C2 board? Or ODROID XU4Q? Can you update the library or share the source code? Thanks a lot.

ArduCAM commented 6 years ago

Please try the library from: https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/tree/master/Pine64

luckyplay68 commented 6 years ago

Thanks a lot. We shall try it.

blubbi321 commented 5 years ago

@ArduCAM the link you posted is dead .. are there any plans to support the nvidia boards (tx2 and the like)?

ArduCAM commented 5 years ago

Yes, we'd like to, but need to buy the tx2 board and port our library on that.

SKrisanski commented 5 years ago

Has anyone had any success getting these to work on a TX2? I'm trying to set mine up with ROS but not having much luck currently. Below is what happens when I attempt to launch it. Any suggestions on how to fix this?

B_Camera_Shield/ROS/arducam_usb2_ros$ roslaunch arducam_usb2_ros arducam_node.launch
... logging to /home/nvidia/.ros/log/696d95fe-715b-11e9-b97e-00044ba7c041/roslaunch-tegra-ubuntu-27080.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://tegra-ubuntu:36800/

SUMMARY
========

CLEAR PARAMETERS
 * /cam0/

PARAMETERS
 * /cam0/arducam_ros_node/camera_serial: 
 * /cam0/arducam_ros_node/config_file: /home/nvidia/catk...
 * /cam0/arducam_ros_node/frame_id: cam0
 * /cam0/arducam_ros_node/horizontal_flip: True
 * /cam0/arducam_ros_node/vertical_flip: False
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /cam0/
    arducam_ros_node (arducam_usb2_ros/arducam_ros_node.py)

ROS_MASTER_URI=http://localhost:11311

process[cam0/arducam_ros_node-1]: started with pid [27098]
Traceback (most recent call last):
  File "/home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/arducam_ros_node.py", line 7, in <module>
    from ImageConvert import *
  File "/home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/ImageConvert.py", line 2, in <module>
    import ArducamSDK
ImportError: /home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/ArducamSDK.so: cannot open shared object file: No such file or directory
[cam0/arducam_ros_node-1] process has died [pid 27098, exit code 1, cmd /home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/arducam_ros_node.py __name:=arducam_ros_node __log:=/home/nvidia/.ros/log/696d95fe-715b-11e9-b97e-00044ba7c041/cam0-arducam_ros_node-1.log].
log file: /home/nvidia/.ros/log/696d95fe-715b-11e9-b97e-00044ba7c041/cam0-arducam_ros_node-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
ehong-tl commented 5 years ago

Has anyone had any success getting these to work on a TX2? I'm trying to set mine up with ROS but not having much luck currently. Below is what happens when I attempt to launch it. Any suggestions on how to fix this?

B_Camera_Shield/ROS/arducam_usb2_ros$ roslaunch arducam_usb2_ros arducam_node.launch
... logging to /home/nvidia/.ros/log/696d95fe-715b-11e9-b97e-00044ba7c041/roslaunch-tegra-ubuntu-27080.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://tegra-ubuntu:36800/

SUMMARY
========

CLEAR PARAMETERS
 * /cam0/

PARAMETERS
 * /cam0/arducam_ros_node/camera_serial: 
 * /cam0/arducam_ros_node/config_file: /home/nvidia/catk...
 * /cam0/arducam_ros_node/frame_id: cam0
 * /cam0/arducam_ros_node/horizontal_flip: True
 * /cam0/arducam_ros_node/vertical_flip: False
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /cam0/
    arducam_ros_node (arducam_usb2_ros/arducam_ros_node.py)

ROS_MASTER_URI=http://localhost:11311

process[cam0/arducam_ros_node-1]: started with pid [27098]
Traceback (most recent call last):
  File "/home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/arducam_ros_node.py", line 7, in <module>
    from ImageConvert import *
  File "/home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/ImageConvert.py", line 2, in <module>
    import ArducamSDK
ImportError: /home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/ArducamSDK.so: cannot open shared object file: No such file or directory
[cam0/arducam_ros_node-1] process has died [pid 27098, exit code 1, cmd /home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/arducam_ros_node.py __name:=arducam_ros_node __log:=/home/nvidia/.ros/log/696d95fe-715b-11e9-b97e-00044ba7c041/cam0-arducam_ros_node-1.log].
log file: /home/nvidia/.ros/log/696d95fe-715b-11e9-b97e-00044ba7c041/cam0-arducam_ros_node-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Try replace the ArducamSDK.so file in the ROS folder with the one in raspberrypi folder.

SKrisanski commented 5 years ago

If I do that, I get this outcome:

nvidia@tegra-ubuntu:~$ roslaunch arducam_usb2_ros arducam_node.launch
... logging to /home/nvidia/.ros/log/b2b255ca-715f-11e9-aa53-00044ba7c03f/roslaunch-tegra-ubuntu-2947.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://tegra-ubuntu:39115/

SUMMARY
========

CLEAR PARAMETERS
 * /cam0/

PARAMETERS
 * /cam0/arducam_ros_node/camera_serial: 
 * /cam0/arducam_ros_node/config_file: /home/nvidia/catk...
 * /cam0/arducam_ros_node/frame_id: cam0
 * /cam0/arducam_ros_node/horizontal_flip: True
 * /cam0/arducam_ros_node/vertical_flip: False
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /cam0/
    arducam_ros_node (arducam_usb2_ros/arducam_ros_node.py)

auto-starting new master
process[master]: started with pid [2957]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to b2b255ca-715f-11e9-aa53-00044ba7c03f
process[rosout-1]: started with pid [2975]
started core service [/rosout]
process[cam0/arducam_ros_node-2]: started with pid [2980]
Traceback (most recent call last):
  File "/home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/arducam_ros_node.py", line 7, in <module>
    from ImageConvert import *
  File "/home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/ImageConvert.py", line 2, in <module>
    import ArducamSDK
ImportError: /home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/ArducamSDK.so: wrong ELF class: ELFCLASS32
[cam0/arducam_ros_node-2] process has died [pid 2980, exit code 1, cmd /home/nvidia/catkin_ws/src/ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/arducam_ros_node.py __name:=arducam_ros_node __log:=/home/nvidia/.ros/log/b2b255ca-715f-11e9-aa53-00044ba7c03f/cam0-arducam_ros_node-2.log].
log file: /home/nvidia/.ros/log/b2b255ca-715f-11e9-aa53-00044ba7c03f/cam0-arducam_ros_node-2*.log
ehong-tl commented 5 years ago

@SK19 It seems like the current SDK only support Linux PC and raspberrypi, have to wait for the developer to work on other platform like TX2.

ArduCAM commented 5 years ago

We will order a TX2 or Jetson Nano to test it. Please be patient.

JakubRN commented 5 years ago

We have update the library for support ARM64 Arch processor, and tested on Pine64 board.

I'm also interested in integration with Jetson TX2 board, but if ARM64 support is there, I don't suppose it should be a problem, it is just not tested. I couldn't find any build though.

Please check it out.

Could you in the meantime point me to where can I check it out?

insangi commented 5 years ago

We will order a TX2 or Jetson Nano to test it. Please be patient.

Have you tested this on Jetson Nano. Mine has the same problem I am getting an error ArducamSDK.so: cannot open shared object files: No such file or directory

But the file is there. Can you please share the source code so we can compile the SDK for the jetson Nano or any solution that can work with Nano. We have two USB sheilds 2.0 and 3.0 both are having same issue.

ArduCAM commented 5 years ago

We just upload the new update library to support Jetson Nano, it works for both USB2 and USB3 camera shield. Let me know if you have any problem.

Hackerman342 commented 5 years ago

Hi, I am also getting the error others have detailed above when I run the new package (cloned today) on a TX2. I have been working with the package on a linux laptop without issue for a couple months and only recently have tried running the package on TX2.

Any advice would be greatly appreciated. Thank you.

"ImportError: /home/nvidia/svea_starter/src/ArduCAM_USB_Camera_Shield-master/ROS/arducam_usb2_ros/src/ArducamSDK.so: cannot open shared object file: No such file or directory"

glddiv commented 5 years ago

Hi @Hackerman342 Can you try to copy the shared library under the Jetson Nano folder to the ROS folder? cp ArduCAM_USB_Camera_Shield/Nvidia_Jetson/Python/Streaming_demo/ArducamSDK.so ArduCAM_USB_Camera_Shield/ROS/arducam_usb2_ros/src/

ArduCAM commented 5 years ago

We now moved our support to our forum, please resent the questions to https://www.arducam.com/forums/ Thank you.