一、從零開始建立 Kvaser Edge 自訂容器與 CAN Logger 應用


隨著車載通訊、工業控制與邊緣運算需求持續增加,嵌入式 Linux 平台正逐漸成為智慧車聯網與工業 IoT 的核心架構之一。Kvaser 推出的 Kvaser Edge,便是一款整合 CAN 通訊、Ethernet、Wi-Fi 與 USB 的嵌入式 Linux 平台,可協助開發者快速建構高可靠度的邊緣應用系統。
本文將帶你從基礎開始,實際建立一個可運作的 CAN Logger 應用,並說明如何透過 LXC Container 建立可部署、可備份、可重複使用的 Kvaser Edge 開發環境,避免因 Factory Reset 導致所有開發成果遺失。
二、什麼是 Kvaser Edge?
Kvaser Edge 是一款基於 Embedded Linux 的邊緣運算平台,內建:
- CAN / CAN FD 通訊介面
- Ethernet 網路
- Wi-Fi 無線通訊
- USB 擴充能力
- Linux Container 化架構
其核心軟體平台 KEOS 採用 LXC(Linux Containers)架構,讓開發者能夠以容器方式部署應用程式,大幅提升系統彈性與維護效率。
三、為什麼 Kvaser Edge 採用 Container 架構?
在 KEOS 中,每個 Container 本質上都是一個獨立 Linux Root File System(rootfs)。
對開發者而言,Container 幾乎等同於一台完整 Linux 系統,因此可以:
- 自由安裝套件
- 執行 Shell Script
- 建立 CAN 應用
- 遠端 SSH 管理
- 建立自訂服務
但也因為具有高度自由度,如果直接在裝置上開發而未做好備份,一旦執行 Factory Reset,所有設定與程式都會被完全清除。
因此,建立「可重複部署」的自訂 Container,便成為 Kvaser Edge 開發的重要觀念。
四、Factory Reset 為何需要特別注意?
Kvaser Edge 具備 Factory Reset 功能,可快速將裝置還原至出廠狀態。
然而此功能會:
- 清除整個 Container
- 移除所有程式與設定
- 刪除所有儲存資料
若應用程式僅存在裝置內部而未封裝至 Container,開發成果可能瞬間消失。
因此,建議開發者:
- 將應用程式整合進 rootfs
- 建立可部署的 Container 映像檔
- 使用版本化開發流程
六、如何建立自訂 Kvaser Edge Container?
rootfs.tar.xz 是什麼?
在 LXC 架構中:
rootfs.tar.xz:Linux Root File Systemmeta.tar.xz:Container Metadatacontainer-config.yaml:Container 設定檔
其中 rootfs 是整個系統的核心。
開發者可透過:
- 解壓 rootfs
- 新增應用程式
- 重新封裝
來建立自己的 Embedded Linux 環境。
七、為什麼建議使用 WSL?
我們建議您使用 WSL2(Windows Subsystem for Linux)進行操作。
WSL 可讓 Windows 使用者直接執行 Linux 環境,適合:
- Embedded Linux 開發
- DevOps 流程
- CAN 工具操作
- Shell Script 開發
- Rootfs 管理
常用 Linux 指令如:
ls
tar
ssh
scp皆可直接於 Windows 執行。
八、tar 為什麼很重要?
Linux Root File System 涉及:
- 檔案權限
- Symbolic Link
- Ownership
- Linux Metadata
若使用不支援 Linux 權限的壓縮工具,可能導致 Rootfs 損毀。
因此官方建議使用:
tar來進行 unpack / repack。
九、CAN Logger 範例實作
本範例將建立一個簡單 CAN Logger。
功能包含:
- 初始化 CAN Bus
- 設定 Bitrate
- 擷取 CAN Frame
- 將資料寫入 Log File
建立 setup-can-logger.sh
首先建立初始化腳本:
#!/bin/sh
apt update
apt install -y can-utils
echo "Setup complete."此腳本會:
- 更新套件庫
- 安裝 can-utils
- 初始化 SocketCAN 工具環境
建立 can-logger.sh
接著建立 CAN Logger 主程式:
#!/bin/sh
IFACE="can0"
BITRATE="250000"
LOG_FILE="/var/can_log.txt"
ip link set "$IFACE" down
ip link set "$IFACE" type can bitrate "$BITRATE"
ip link set "$IFACE" up
candump "$IFACE" >> "$LOG_FILE"此程式會:
- 啟用 CAN 通道
- 設定 250 kbps Bitrate
- 擷取 CAN Frame
- 持續寫入 Log File
建立 Linux Rootfs 工作目錄
建立 Container 工作環境:
mkdir kvaser-edge-container
cd kvaser-edge-container
mkdir base out overlay work結構如下:
base/
out/
overlay/
work/下載 Debian ARM64 Base Container
使用:
wget下載 Debian Bookworm ARM64 Rootfs:
wget -P base https://images.linuxcontainers.org/...將應用程式加入 Rootfs
解壓 Rootfs:
tar -xJf base/rootfs.tar.xz -C work/rootfs建立應用程式目錄:
mkdir -p work/rootfs/opt/can-logger複製 Script:
cp -a overlay/. work/rootfs/opt/can-logger/重新封裝 Rootfs
完成後重新打包:
tar -C work/rootfs -cJf out/rootfs.tar.xz .建立 container-config.yaml
建立最基本的 Container 設定:
name: kvaser-edge-%S
interfaces:
- eth0
- mlan0
- mmlan0
users:
root:
password: root
將 Container 部署到 Kvaser Edge
完成後:
- 執行 Factory Reset
- 將 out/ 內容放入裝置 container/ 目錄
- 安全移除 USB
- 重新開機
KEOS 啟動後,即會載入自訂 Container。
啟動 CAN Logger
第一次執行:
bash /opt/can-logger/setup-can-logger.sh安裝必要套件後:
bash /opt/can-logger/can-logger.sh即可開始記錄 CAN Traffic。
後續可進一步擴充的功能
官方也提出後續可延伸的方向,包括:
- Log Rotation
- Systemd Service 管理
- Push Button 控制
- LED 狀態指示
- Wi-Fi 遠端傳輸
- 自動化部署流程
十、結語
透過 LXC Container 架構,Kvaser Edge 不僅提供完整的 Embedded Linux 開發彈性,也讓 CAN 應用部署、維護與版本管理變得更加可靠。
從簡單的 CAN Logger,到進階車載通訊、工業設備監控、邊緣資料分析與遠端維運應用,開發者皆能基於 KEOS 建立高度客製化的 Linux Container 環境。
對於需要長期穩定運行、遠端部署與工業等級可靠性的 CAN Bus 應用而言,Kvaser Edge 提供了一個兼具彈性與安全性的 Embedded Linux 平台基礎。
了解更多Kvaser Edge產品資訊
台灣正式授權 Kvaser Edge Platform 車載邊緣運算平台
即時處理 × 安全可靠,打造高效率 CAN 數據邊緣分析環境
Kvaser Edge Platform 車載邊緣運算平台,專為車載電子、工業設備、車隊管理與雲端串接應用打造。透過高安全性的嵌入式 Linux 平台設計,工程人員可直接在數據源頭(車輛或機器)進行即時資料過濾與聚合,廣泛應用於實驗室測試、實車道路測試與遠端監控場景,協助建立智慧化、高安全性、可擴展的車載通訊邊緣運算流程。
從「儲存」轉向「處理」:可在資料源頭完成即時過濾與數據聚合,只傳輸關鍵資訊,大幅減輕後端分析與雲端傳輸負擔
專屬 KEOS 容器化系統:搭載基於 Linux 的專屬作業系統,支援容器化技術(LXC),讓開發者能自由部署自定義的 Python、C++ 應用或不同的 Linux 發行版
硬體級資安防護:內置 NXP 安全元件,支援安全啟動(Secure Boot)與加密存儲,完全符合國際網路安全法規(CRA/RED)
強大的環境適應力:具備 IP67 防護等級與獨立電氣隔離設計,針對車載電源工況與突發斷電進行強化,確保嚴苛測試環境下依然穩定運行
高效能儲存與連接:內建 256 GB eMMC 高容量儲存,並支援 Wi-Fi 6 與千兆乙太網路(Gigabit Ethernet),實現無縫的雲端串接與智慧緩存
彈性應用場景:適用於實車路測、智慧車隊管理、邊緣端即時診斷、CAN/LIN 訊號監測與大規模工業 4.0 數據採集
Honghong will provide you with any support you need!
Our professional Honghong team will be the first to respond and provide you with the best service to solve all your problems.