5 系统配置

本章介绍系统配置的具体操作。

5.1 查找设备IP

查找设备IP

5.2 远程登录

远程登录

5.3 配置存储设备

配置存储设备

5.4 配置以太网 IP

配置以太网IP

5.5 配置Wi-Fi

配置Wi-Fi

5.6 配置蓝牙

配置蓝牙

5.7 配置 RTC

配置RTC

5.8 配置MIPI接口(可选)

ED-IPC3400设备包含2路MIPI接口(位于设备内部),22-Pin FPC连接器,分别为DPHY0 (MIPI0)和DPHY1 (MIPI1),均支持扩展连接Raspberry Pi Camera和Raspberry Pi Touch Display。

提示

此接口位于设备内部,需要打开设备外壳才能使用,仅作为预留接口。

2路MIPI接口支持扩展连接的Raspberry Pi Camera/Touch Display的型号如下:

  • Camera:
    • OmniVision OV5647
    • Sony IMX219
    • Sony IMX296
    • Sony IMX477
    • Sony IMX708
  • Raspberry Pi Touch Display 2 (5-inch和7-inch)

在ED-IPC3400上使用Raspberry Pi Camera/Touch Display之前,需要先进行相关的配置,添加Camera和Touch Display的参数,再连接Raspberry Pi Camera/Touch Display,下文介绍具体的操作。

前提条件:

ED-IPC3400设备已正常启动。

操作步骤:

  1. 设备正常启动后,打开命令窗格,执行如下命令,打开config.txt配置文件。
sudo nano /boot/firmware/config.txt
  1. 在配置文件的末尾添加待使用的Camera和Touch Display的信息。(如下图红框所示的内容,将MIPI0接口配置为Sony IMX219 Camera,将MIPI1配置为7-inch Raspberry Pi Touch Display 2)。

其他配置参数示例:

  • 将MIPI0和MIPI1均配置为Sony IMX219 Camera。
dtoverlay=imx219,cam0
dtoverlay=imx219,cam1
  • 将MIPI0和MIPI1均配置为7-inch Raspberry Pi Touch Display 2。
dtoverlay=vc4-kms-dsi-ili9881-7inch,dsi0
dtoverlay=vc4-kms-dsi-ili9881-7inch,dsi1
  • 将MIPI0接口配置为7-inch Raspberry Pi Touch Display 2,将MIPI1配置为Sony IMX219 Camera。
dtoverlay=vc4-kms-dsi-ili9881-7inch,dsi0
dtoverlay=imx219,cam1

提示

  • 若使用的是其他型号的Camera,在配置参数中修改Camera的型号即可,例如:如果使用的是Sony IMX296,则可以将imx219更改为imx296
  • 若使用的是5-inch的Touch Display 2,在配置参数中修改屏幕尺寸即可,例如:如果使用的是5-inch Raspberry Pi Touch Display 2,则可以将vc4-kms-dsi-ili9881-7inch更改为vc4-kms-dsi-ili9881-5inch
  • 更多关于Raspberry Pi Camera的配置信息,请参考Raspberry Pi Camera
  • 更对关于Raspberry Pi Touch Display 2的配置信息,请参考Raspberry Pi Touch Display 2
  1. 输入ctrl+o保存文件,再按Enter,最后输入ctrl+x退出文件编辑模式。

  2. 执行如下命令重启设备,使配置生效。

sudo reboot
  1. 断开ED-IPC3400设备的电源。

  2. 将Raspberry Pi Camera/Touch Display通过FPC接口安装至ED-IPC3400主板上。

5.9 Hailo-8模块(可选)

ED-IPC3400设备支持选配Hailo‑8(13 TOPS)AI模块,我司预安装的操作系统默认已完成Hailo-8(一个固定版本)对应的配置和软件的安装。若用户自行安装标准的Raspberry Pi OS,则可参照下文来进行配置和软件的安装。

前提条件:

ED-IPC3400设备已正常启动。

操作步骤:

  1. 修改config.txt配置文件,使能PCIe Gen3.0接口。

a. 设备正常启动后,打开命令窗格,执行如下命令,打开config.txt配置文件。

sudo nano /boot/firmware/config.txt

b. 在配置文件中添加如下内容。

dtparam=pciex1_gen=3 

c. 输入ctrl+o保存文件,再按Enter,最后输入ctrl+x退出文件编辑模式。

d. 执行如下命令重启设备,使配置生效。

sudo reboot
  1. 依次执行如下命令,安装Hailo软件。
sudo apt install dkms
sudo apt install hailo-all
  1. 执行如下命令,查看已安装的Hailo软件的详细信息。
dpkg -l | grep hailo
  1. 更多关于Hailo模块的具体配置,请查看Raspberry Pi AI Software文档

提示

我司预安装的操作系统中内置的Hailo软件的版本信息如下:

5.10 配置加密芯片

ED-IPC3400设备内部集成加密芯片(Microchip ATSHA204A),加密芯片的具体使用和用户实际的上层应用有关;因为每个客户的需求不同,故下文仅介绍加密芯片对应的加密库源码下载/编译和加密芯片的测试示例。

前提条件:

ED-IPC3400设备已正常启动。

操作步骤:

  1. 修改config.txt配置文件,使能I2C和加密芯片。

a. 设备正常启动后,打开命令窗格,执行如下命令,打开config.txt配置文件。

sudo nano /boot/firmware/config.txt

b. 在配置文件中添加如下内容。

dtparam=i2c_arm=on
dtparam=ant2 

c. 输入ctrl+o保存文件,再按Enter,最后输入ctrl+x退出文件编辑模式。

d. 执行如下命令重启设备,使配置生效。

sudo reboot
  1. (可选)在GitHub上获取CryptoAuthLib v3.7.0版本的加密库源码,路径为:CryptoAuthLib v3.7.0

  2. (可选)在ED-IPC3400设备上对下载的加密库源码进行编译。

mkdir build && cd build
cmake .. -DATCA_HAL_I2C=ON -DATCA_BUILD_SHARED_LIBS=on -DATCA_USE_ATCAB_FUNCTIONS=ON 
make -j4
sudo make install
  1. 安装Python,使Python能导入cryptoauthlib。
cd ~/cryptoauthlib-3.7.0/python
sudo cp -r cryptoauthlib/ $(python3 -c "import site; print(site.getsitepackages()[0])")
  1. 通过示例代码来测试加密芯片是否可以正常使用。
#!/usr/bin/env python3
"""
CryptoAuthLib 3.7.0 + ATSHA204A @ i2c-1 0x64
"""
import ctypes

from cryptoauthlib.library import load_cryptoauthlib,AtcaReference
load_cryptoauthlib()

from cryptoauthlib.atcab import (
    atcab_init, atcab_release,
    atcab_info, atcab_read_serial_number,
    atcab_random, atcab_is_locked
)
# from cryptoauthlib.iface import cfg_ateccx08a_i2c_default
from cryptoauthlib.iface import cfg_atsha20xa_i2c_default   

cfg = cfg_atsha20xa_i2c_default()

cfg.cfg.atcai2c.u.slave_address = 0x64 << 1 
cfg.cfg.atcai2c.bus = 1  
print(f"slave_address = 0x{cfg.cfg.atcai2c.u.slave_address:02X}")

st = atcab_init(cfg)
if st != 0:
    print(f"❌ atcab_init failed: {st}")
    exit(1)

print("ATSHA204A@0x64 initialized ok.")

rev = bytearray(4)
atcab_info(rev)
print(f"Rev : {rev.hex()}")

sn = bytearray(9)
atcab_read_serial_number(sn)
print(f"SN  : {sn.hex()}")

rnd = bytearray(32)
atcab_random(rnd)
print(f"RND : {rnd[:8].hex()}...")

is_locked_cfg = AtcaReference(ctypes.c_bool(False))

status1 = atcab_is_locked(0x00, is_locked_cfg)
if status1 == 0:
    cfg_lock = is_locked_cfg.value
    print(f"Config localed: {cfg_lock}")
else:
    print(f"Config lock status read failed: {status1}")

atcab_release()
print("Test completed.")

提示

  • CryptoAuthLib v3.7.0对ATSHA204A的支持较稳定,且功能完整,故建议使用CryptoAuthLib v3.7.0版本的加密库源码。
  • 若使用的是我司预安装的操作系统,则默认已安装CryptoAuthLib v3.7.0版本的加密库源码并完成源码编译,故可跳过步骤1和步骤2。
  • 若用户自行安装标准的Raspberry Pi OS,则需要执行步骤1~步骤4。

5.11 配置EEPROM

ED-IPC3400设备内部集成EEPROM,具备4K Byte容量的存储,支持用户对容量小的关键数据进行写入和保存。下文介绍具体的写入和读取数据的操作。

前提条件:

ED-IPC3400设备已正常启动。

操作步骤:

  1. 打开命令终端,执行如下命令,创建一个自定义名称的.txt文件。
nano edatec_hat.txt
  • edatec_hat表示自定义的文件名。
  1. edatec_hat.txt文件中添加如下需要写入EEPROM的内容(此处仅为示例,用户按需添加内容即可)。
cat > myhat.txt << 'EOF' 
product_uuid 00000000-0000-0000-0000-000000000000 
product_id 0x0001 
product_ver 0x0001 
vendor "My Company" 
product "My HAT" 
current_supply 0 
dt_blob "my-overlay" 
EOF

提示

写入EEPROM的内容有格式限制,详细的规格请参考EEPROM配置文件说明

  1. 输入ctrl+o保存文件,再按Enter,最后输入ctrl+x退出文件编辑模式。

  2. 执行如下命令,将创建的.txt文件转换为EEPROM可以识别的.eep文件。

eepmake edatec_hat.txt edatec_hat.eep
  1. 执行如下命令,将edatec_hat.eep写入EEPROM。
sudo eepflash.sh -w -f=edatec_hat.eep -t=24c32 -d=1
  • -w:表示为写入模式;
  • -f=edatec_hat.eep:表示待写入的文件;
  • -t=24c32:表示EEPROM芯片的型号为AT24C32;
  • -d=1:表示I2C总线编号
  1. 执行如下命令,读取EEPROM中的数据,并保存为名为readback.bin的二进制文件。
sudo eepflash.sh -r -f readback.bin -t=24c32 -d=1
  • -r:表示为读取模式;
  • -t=24c32:表示EEPROM芯片的型号为AT24C32;
  • -d=1:表示I2C总线编号
  1. 执行如下命令,解析读取的readback.bin的二进制文件。
hexdump -C readback.bin | head -20
  • 20:表示显示20行的信息。

提示

EEPROM的读写次数存在寿命限制,请勿频繁操作,以免影响其使用寿命。