连接设备
IronFlock 支持多种方式连接设备,具体取决于硬件和操作系统。手头没有硬件?您可以在几分钟内在笔记本电脑上模拟一台设备。
前提条件
连接设备之前,请确保您已具备:
- 在 IronFlock 上创建了一个项目
- 在该项目中创建了一个设备条目(在项目 Settings -> Devices 面板中点击 NEW DEVICE。)
- 已下载设备配置文件(
.flock)
设备位于受限的企业网络中? 企业防火墙通常会拦截全新安装的操作系统自带的公共时间服务器,设备时钟会因此悄悄偏走。请配置你的内部 NTP 服务器。参见时间同步 (NTP)。
先测试:在笔记本电脑上模拟设备
探索 IronFlock 无需实体硬件。FlockFlasher 应用可以直接在您的笔记本电脑上运行 IronFlock 代理程序,让您的笔记本电脑在项目中扮演一台真实设备——非常适合在部署到实际硬件之前先测试应用和仪表板。
- 安装 Docker Desktop(Linux 上安装 Docker Engine),并确保其正在运行。
- 为您的操作系统下载并安装 FlockFlasher 应用。
- 双击已下载的设备
.flock文件——它会在 FlockFlasher 中打开,设备随即出现在列表中。(也可以打开 FlockFlasher,通过 + 按钮添加该文件。) - 在设备条目上点击 Test Device(▶,测试设备)。FlockFlasher 首次使用时会自动下载 IronFlock 代理程序,并使用您的设备配置启动它。
现在,您的笔记本电脑就会在 IronFlock 项目中充当这台设备:它会显示为在线状态,您可以像在真实设备上一样在其上安装并运行应用。这些应用以 Docker 容器的形式在您的笔记本电脑上运行。
测试完成后,请在 FlockFlasher 中停止测试。之后您仍可以使用同一个 .flock 文件来配置真实设备——只需确保同一份设备配置在同一时间只在一台机器上运行。
方法一:烧录 SD 卡
最适合从 SD 卡启动的 Raspberry Pi 和其他 ARM 设备。
- 为您的操作系统下载 FlockFlasher 应用。
- 将 SD 卡(最少 16 GB)插入电脑。
- 打开 FlockFlasher,点击 + 按钮加载
.flock文件。 - 选择 SD 卡驱动器(FlockFlasher 会自动检测外部驱动器)。
- 为您的设备选择正确的镜像(Raspberry Pi 3/4、Zero 等)。
- 可选配置 WiFi,以便设备在目标位置可以联网。
- 点击 Flash,等待写入、验证和配置完成。
- 将 SD 卡插入设备并开机。
设备应在 20 分钟内上线。
警告:烧录过程会擦除所选驱动器上的所有数据。FlockFlasher 默认隐藏内部驱动器,但请务必仔细核对您的选择。
方法二:工业 PC 的 USB 安装器
适用于支持 EFI 启动的 AMD64 设备(例如 Siemens SIMATIC Box IPC)。
- 插入 USB 存储器(最少 16 GB)并打开 FlockFlasher。
- 加载
.flock文件并选择 USB 驱动器。 - 选择 Industrial PC x86_64 (EFI) 镜像。
- 点击 Flash 并等待完成。
- 如有必要,在设备的 BIOS 中更改启动顺序以从 USB 启动。
- 插入 USB 存储器并启动设备。
设备应在 60 分钟内上线。
方法三:自定义安装
适用于保留现有 Linux 操作系统的设备。非常适合 NVIDIA Jetson 和自定义硬件。
注意:这种手动安装方式面向工业 PC、网关和嵌入式设备等真实生产硬件——不适用于笔记本电脑。如果您只是想在笔记本电脑上试用 IronFlock,请改为按照先测试:在笔记本电脑上模拟设备进行操作——无需手动安装代理程序。
Linux / Unix 设备
- 通过 SSH 连接到设备。
- 下载安装程序:
curl -sSL https://instance-registry.ironflock.com/dl/reswarmify/install.sh | bash在 IronFlock Appliance 上? 请使用 新建设备 对话框中显示的命令——它们指向 Appliance 而不是
instance-registry.ironflock.com。 - 将
.flock文件从电脑复制到设备:scp mydevice.flock user@device-ip:/home/user/ - 运行代理程序:
sudo ./ironflock-init -c mydevice.flock
位于企业代理之后? 请在第 2 步之前导出您的代理,以便下载能够成功;并在第 4 步向
ironflock-init传入--http-proxy/--https-proxy,它会为您配置 Docker 引擎。完整命令以及企业 CA 相关步骤,请参阅位于企业代理之后。
Windows 设备
- 在设备上安装 Docker Desktop,并在 Docker Desktop 设置中启用 Start Docker Desktop when you sign in。对于无人值守的设备,还应配置 Windows 自动登录,以便重启后无需任何人登录即可使用 Docker。
- 下载 reagent.exe。
- 将
.flock文件复制到设备。 - 在提升权限(管理员)的命令提示符中,将代理程序安装为 Windows 服务并启动:
该服务会立即启动,此后随系统一同启动,出现故障时自动重启,并使代理程序保持最新。如需安装但不启动,请添加
reagent.exe service install -config path\to\config.flock-noStart;可随时使用reagent.exe service status查看状态。
位于企业代理之后? 在
service install命令中添加-proxy http://proxy.example.com:3128,并在 Settings → Resources → Proxies 中配置 Docker Desktop 的代理。详情及企业 CA 配置步骤请参阅 位于企业代理之后。
时间同步 (NTP)
设备代理程序需要准确的时钟。与平台的 TLS 握手、授权拉取镜像的令牌,以及设备发布的每一个数据点的时间戳,都依赖它。时钟偏差超过 15 分钟的设备还会被文件存储以 CLOCK_SKEW 拒绝。
在企业网络中,这是一个需要动手完成的配置步骤,而不是理所当然的前提:出站 NTP 所用的 UDP 123 端口常被拦截,操作系统自带的公共时间服务器因此无法访问,时钟会在没有任何可见错误的情况下偏走。请向 IT 部门索取内部时间服务器并在设备上配置,或请他们为设备网络放行出站 UDP 123。
Linux
使用 systemd-timesyncd(Debian 和 Ubuntu 的默认方式):
sudo mkdir -p /etc/systemd/timesyncd.conf.d
sudo tee /etc/systemd/timesyncd.conf.d/corporate.conf > /dev/null <<'EOF'
[Time]
NTP=ntp.your-company.com
EOF
sudo systemctl restart systemd-timesyncd
timedatectl status使用 chrony:
echo "server ntp.your-company.com iburst" | sudo tee -a /etc/chrony/chrony.conf
sudo systemctl restart chrony
chronyc sourcestimedatectl status 必须显示 System clock synchronized: yes。
Windows
在以管理员身份打开的命令提示符中:
w32tm /config /manualpeerlist:"ntp.your-company.com" /syncfromflags:manual /update
w32tm /resync
w32tm /query /status使用现成 IronFlock 镜像烧录的设备(方法一和方法二)默认与公共时间服务器同步。在拦截这些服务器的网络中,请为设备子网放行出站 UDP
123,或在首次启动后通过 SSH 按上面 Linux 的方式配置内部时间服务器。
验证连接
连接后,在项目中检查设备状态:
- 绿色指示器 — 设备在线,正在与 IronFlock 通信。
- 红色指示器 — 设备离线。请检查网络连接并确保代理程序正在运行。
设备地图视图显示项目中所有设备的地理位置。