Update README.MD

This commit is contained in:
jj
2025-05-22 11:27:46 +08:00
parent 65ee492b4e
commit 4704100c3c
3 changed files with 45 additions and 20 deletions
+8 -2
View File
@@ -237,7 +237,7 @@ For optimal performance, we strongly recommend updating to the latest firmware v
| Gemini 336 | 1.2.20 | gemini_330_series.launch.py | | Gemini 336 | 1.2.20 | gemini_330_series.launch.py |
| Gemini 336L | 1.2.20 | gemini_330_series.launch.py | | Gemini 336L | 1.2.20 | gemini_330_series.launch.py |
| Gemini 335Le | 1.5.31 | gemini_330_series.launch.py | | Gemini 335Le | 1.5.31 | gemini_330_series.launch.py |
| Gemini 435Le | / | gemini_330_series.launch.py | | Gemini 435Le | 1.2.04 | gemini435_le.launch.py |
| Femto Bolt | 1.1.2 | femto_bolt.launch.py | | Femto Bolt | 1.1.2 | femto_bolt.launch.py |
| Femto Mega | 1.3.0 | femto_mega.launch.py | | Femto Mega | 1.3.0 | femto_mega.launch.py |
| Astra 2 | 2.8.20 | astra2.launch.py | | Astra 2 | 2.8.20 | astra2.launch.py |
@@ -438,12 +438,18 @@ When using Femto Mega, Gemini 335Le and Gemini 435Le, you can use the network to
ros2 launch orbbec_camera femto_mega.launch.py enumerate_net_device:=true ros2 launch orbbec_camera femto_mega.launch.py enumerate_net_device:=true
``` ```
**Gemini 335Le & Gemini 435Le:** **Gemini 335Le:**
```bash ```bash
ros2 launch orbbec_camera gemini_330_series.launch.py enumerate_net_device:=true ros2 launch orbbec_camera gemini_330_series.launch.py enumerate_net_device:=true
``` ```
**Gemini 435Le:**
```bash
ros2 launch orbbec_camera gemini435_le.launch.py enumerate_net_device:=true
```
For more information about network device enumeration.Reference:[Network device documentation](./orbbec_camera/examples/net_camera/) For more information about network device enumeration.Reference:[Network device documentation](./orbbec_camera/examples/net_camera/)
### GMSL device enumeration ### GMSL device enumeration
+4 -2
View File
@@ -2,7 +2,7 @@
> This section describes how to use Net camera in OrbbecSDK_ROS2.Currently, only Femto_Mega, Gemini 335Le and Gemini 435Le devices are supported, and other Net devices will be supported in the near future. > This section describes how to use Net camera in OrbbecSDK_ROS2.Currently, only Femto_Mega, Gemini 335Le and Gemini 435Le devices are supported, and other Net devices will be supported in the near future.
## Femto Mega ## Femto Mega & Gemini 435Le
### Parameter Introduction ### Parameter Introduction
@@ -16,6 +16,8 @@ If you do not want to automatically enumerate network devices,you can set `enume
### Single Net camera ### Single Net camera
> If you need to run Gemini 435Le, you only need to replace [femto_mega.launch.py ](../../launch/femto_mega.launch.py)in the run command with [gemini435_le.launch.py](../../launch/gemini435_le.launch.py)
For [femto_mega.launch.py](../../launch/femto_mega.launch.py) as an example: For [femto_mega.launch.py](../../launch/femto_mega.launch.py) as an example:
#### automatically enumerate network devices: #### automatically enumerate network devices:
@@ -32,7 +34,7 @@ Note: `net_device_ip` needs to be changed to the IP address of the device, here
ros2 launch orbbec_camera femto_mega.launch.py enumerate_net_device:=false net_device_ip:=192.168.1.10 net_device_port:=8090 ros2 launch orbbec_camera femto_mega.launch.py enumerate_net_device:=false net_device_ip:=192.168.1.10 net_device_port:=8090
``` ```
## Gemini 335Le & Gemini 435Le ## Gemini 335Le
Network device settings: `enumerate_net_device` must be set to true, set `net_device_ip` to the IP address of the device, and set `net_device_port` to the default value of 8090. Network device settings: `enumerate_net_device` must be set to true, set `net_device_ip` to the IP address of the device, and set `net_device_port` to the default value of 8090.
+33 -16
View File
@@ -20,25 +20,42 @@
int main() { int main() {
try { try {
ob::Context::setLoggerSeverity(OBLogSeverity::OB_LOG_SEVERITY_OFF);
auto context = std::make_unique<ob::Context>(); auto context = std::make_unique<ob::Context>();
context->setLoggerSeverity(OBLogSeverity::OB_LOG_SEVERITY_OFF);
auto list = context->queryDeviceList(); auto list = context->queryDeviceList();
for (size_t i = 0; i < list->deviceCount(); i++) { for (size_t i = 0; i < list->deviceCount(); i++) {
auto device = list->getDevice(i); if (std::string(list->getConnectionType(i)) != "Ethernet") {
auto device_info = device->getDeviceInfo(); std::string serial = list->serialNumber(i);
std::string serial = device_info->serialNumber(); std::string uid = list->uid(i);
std::string uid = device_info->uid(); auto usb_port = orbbec_camera::parseUsbPort(uid);
auto usb_port = orbbec_camera::parseUsbPort(uid); auto connection_type = list->getConnectionType(i);
std::stringstream pid_hex; std::stringstream pid_hex;
pid_hex<< std::hex << std::setw(4) << std::setfill('0') << device_info->getPid(); pid_hex << std::hex << std::setw(4) << std::setfill('0') << list->getPid(i);
RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"), RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"),
"- Name: " << device_info->getName() << ", PID: 0x" "- Name: " << list->getName(i) << ", PID: 0x" << pid_hex.str()
<< pid_hex.str() << ", SN/ID: " << serial << ", SN/ID: " << serial
<< ", Connection: " << device_info->getConnectionType()); << ", Connection: " << connection_type);
RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"), "serial: " << serial); RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"), "serial: " << serial);
RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"), "usb port: " << usb_port); RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"), "usb port: " << usb_port);
RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"), RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"),
"usb connect type: " << device_info->getConnectionType()); "usb connect type: " << connection_type);
std::cout << std::endl;
} else {
std::string serial = list->serialNumber(i);
auto connection_type = list->getConnectionType(i);
auto ip_address = list->getIpAddress(i);
std::stringstream pid_hex;
pid_hex << std::hex << std::setw(4) << std::setfill('0') << list->getPid(i);
RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"),
"- Name: " << list->getName(i) << ", PID: 0x" << pid_hex.str()
<< ", SN/ID: " << serial
<< ", Connection: " << connection_type);
RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"), "serial: " << serial);
RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"), "ip address: " << ip_address);
RCLCPP_INFO_STREAM(rclcpp::get_logger("list_device_node"),
"usb connect type: " << connection_type);
std::cout << std::endl;
}
} }
} catch (ob::Error &e) { } catch (ob::Error &e) {
RCLCPP_ERROR_STREAM(rclcpp::get_logger("list_device_node"), e.getMessage()); RCLCPP_ERROR_STREAM(rclcpp::get_logger("list_device_node"), e.getMessage());