+86-13951940532
contact@oakchina.cn

OAK POE系列产品上手指南

OAK POE系列产品上手指南

今天来给大家介绍一下OAK POE系列产品的使用及注意事项。

OAK-POE简介

PoE 允许使用单根 Cat5e(或更高)以太网电缆为设备供电并为其提供高达 100 米(328 英尺)1000 Mbps (1Gbps) 全双工连接。

使用前的准备工作

  1. 您需要一台千兆POE交换机来为POE设备供电。最好是支持DHCP服务器,这样当你需要动态分配IP时,就不需要额外使用一根网线连接路由器了。
  1. 如果您为挑选一款好的POE交换机而感到烦恼。我们推荐使用POE POWER Supply,48V的POE供电模块。

POE电源48VPOE供电模块,千兆网络,48V供电,大于10W功率,给OAK的POE相机供电,同时是OAK相机的POE网络接口转换成普通网络接口。

只需要将它的两个网口分别连接主机和我们的OAK-POE设备,然后插到电源上即可。

例如下面这款:

  1. 如果您需要在户外使用,推荐使用车载直流供电。
  1. 安装依赖:

运行OAK-POE设备需要depthai库大于等于2.7.0.0版本。直接安装最新版本即可。

python3 -m pip install depthai

设置主机静态IP

如果你的POE交换机不支持DHCP服务器。你需要设置主机的静态IP,以保证主机和OAK设备在同一个局域网内。

所有POE设备出厂默认设置静态IP为169.254.1.222,子网掩码为255.255.0.0。所以我们需要将主机IP设置到与设备同一网段,子网掩码设为相同的。

例如将静态IP设置为169.254.1.10,子网掩码设置为255.255.0.0。请一定要设置正确的子网掩码!!!

可以使用以下命令设置:

Windows

Linux

sudo ifconfig eth0 169.254.1.10 netmask 255.255.0.0 up

设置防火墙

Linux系统上有一种情况即使分配好了IP地址,主机与OAK设备同属于一个网段。还是出现找不到设备的错误。这有可能是防火墙阻止的连接。

我们可以使用iptabels工具查看防火墙规则表:

iptables -L -n --line-numbers

如果看到reject-with icmp-port-unreachable规则,则很有可能是它阻止了连接。

我们可以删除此条规则:

sudo iptables -D <规则链名> <规则序号>

也可以直接清空所有规则:

sudo iptables -F

PS: 不用担心破坏了防火墙规则,此命令为当时生效重启即恢复原样。

WIndows系统上没有防火墙问题。

设置OAK-POE静态IP

首先我们需要主机能够先找到POE设备。然后通过代码刷写新的IP。

为设备设置IP的示例代码可以在此处找到。

查看设备Bootloader版本

查看代码地址

如果Version低于0.0.14,则需要更新Bootloader版本。

更新Bootloader版本

查看代码地址

由于我手中的设备已经是最新版本,所以没有任何更新信息。

设置静态IP

查看代码地址

可以看到上图中,运行depthai-demo.py程序,设备IP已经显示为192.168.1.201。

PS: 设备和主机依然要保存在同一网段,子网掩码相同。

设备设置静态IP需要注意的问题

在设备被设置了静态IP后,在通过路由器或支持DHCP服务器的POE交换机自动分配IP将失效。设备不再接收分配的IP,会出现找不到设备的情况。

清除配置

可以通过清除刚才的配置,相当于恢复出厂设置。

默认IP情况:

自动分配IP的情况:

设置动态IP

也可以手动设置动态IP。

PS: 无法同时设置静态IP和动态IP!

演示

与USB-C设备同样的方法使用。当你的程序尝试创建设备时,depthai库将搜索通过USB端口或 LAN连接的可用设备。

python depthai-demo.py -gt cv

OAK-PoE设备故障排查详解

在进行任何类型的故障排除之前,我们建议尝试使用最新版本depthai。

▌No DepthAI devices found!无可用设备

如果你遇到这个错误,意味着depthai在同一个网络上没有找到任何OAK PoE相机。请确定相机已打开并与电脑连接在同一个网络上。几个可能:

  • 如果你正在使用DHCP服务器,可以在DHCP服务器仪表盘上查看logs/connected devices,查看相机是否已连接及其IP地址。
  • 如果没有DHCP,相机将退回到静态IP(参见DHCP和静态IP)。
  • 当你知道相机的IP并能ping通它时,参见我可以ping通OAK PoE相机,但无法连接到它

▌我可以ping通OAK PoE相机,但无法连接到它

DepthAI库仅在同一局域网内搜索可用的OAK PoE相机,如果相机不在同一个局域网中,你需要手动指定设备IP。确保相机BootLoader版本0.0.18或更新(我们建议使用OAK设备管理器来检查一下)。

▌DHCP和静态IP

默认情况下,PoE设备会尝试从DHCP获取IP地址。如果网络上没有DHCP服务器,设备将退回到静态IP169.254.1.222。在这种静态后退的情况下,你的计算机需要在相同的范围内。这可以通过在你的计算机上设置静态IP来实现(例如,静态IP:169.254.1.10和子网掩码:255.255.0.0)。

▌端口和防火墙

UDP设备发现在端口上处理11491,TCP XLink连接在端口上处理11490。

在Ubuntu上,默认情况下防火墙是禁用的,所以你应该不会有任何问题。你可以通过执行以下命令来检查这一点:

> sudo ufw status
Status: inactive

如果你启用了防火墙,你可能需要允许这两个端口:

sudo ufw allow 11490/tcp
sudo ufw allow 11491/udp

我们已经注意到,上述规则并不总是像预期的那样工作,有时有必要运行下面的命令。对于生产环境,你可能希望设置静态IP否则它可能会改变,你需要重新设置防火墙规则。

ufw allow from [OAK_POE_IP]

▌VPN连接

VPN连接也可能会中断与PoE设备的连接(因为你的电脑可能只在远程网络中搜索该设备,所以无法在本地网络中发现它),因此我们建议在使用PoE设备时关闭VPN,或者确保你的本地路由设置为在VPN连接时本地设备可用。

▌通过2个接口(WiFi/以太网)连接到同一个局域网

我们已经看到,在一些罕见的情况下,当你的主机连接到同一个LAN时,设备会两次发现同一个PoE设备,因此它会打印该设备的IP地址两次。在一些罕见的情况下,这可能会导致初始化错误(我们在使用多个设备时见过这种情况);RuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND。我们会尽快修复这个错误。变通解决方案,从其中一个接口断开连接,所以断开WiFi应该可以解决这个问题。

▌供电不足

如果你的PoE设备不工作,或者在极少数情况下,它工作一段时间后突然停止工作,则你的PoE交换机可能有问题。例如,当每个端口的功率预算似乎足够时,但是由于其它端口上的设备的需求,交换机的整体功率预算被超过。有必要检查你的PoE交换机的总体功率预算规格。

▌“特殊”网络设备

我们注意到,对于某些网络设备,我们的15秒连接超时到POE设备是不够的,并且需要增加。你可以通过使用环境变量(以毫秒为单位的值)来增加这些值。

  • Linux/MacOS
DEPTHAI_WATCHDOG_INITIAL_DELAY=60000 DEPTHAI_BOOTUP_TIMEOUT=60000 python3 script.py
  • Windows PowerShell
$env:DEPTHAI_WATCHDOG_INITIAL_DELAY=60000
$env:DEPTHAI_BOOTUP_TIMEOUT=60000
python3 script.py
  • Windows CMD
set DEPTHAI_WATCHDOG_INITIAL_DELAY=60000
set DEPTHAI_BOOTUP_TIMEOUT=60000
python3 script.py

▌网络接口控制器设置

对于与OAK POE相机的通信,Linux上的一些默认NIC设置可能并不理想,这可能会导致FPS慢、高延迟或高OAK CPU占用率。你可以用ethtool配置这些设置。

为我们提供更好性能的ethtool设置

在一种情况下配置sudo ethtool -C NAME rx-usecs 1022(名字是enp 59s 0 f 1),FPS从12提高到20。

Tags: