你有沒有想過:把我們引以為傲的 SUSI 技術,直接打包進 Docker 容器裡,會是什麼感覺?本篇文章帶你直擊 Advantech 工程師團隊的技術實驗現場,揭開 SUSI 在 Docker 環境下奔馳的神秘面紗!無論你是技術高手、AE、銷售夥伴,還是對嵌入式解決方案好奇的新朋友,都能輕鬆理解這場「容器魔法秀」的精彩內容!
背景:SUSI 遇上 Docker,產業新火花 #
隨著工業物聯網(IIoT)與邊緣運算的興起,系統部署靈活性和可移植性變得越來越重要。Docker 正是現今 IT 界的「打包小能手」,可以將應用程式和其依賴環境統統裝進一個小小的容器裡,移動到哪裡都能即刻運行。而 SUSI(Secure and Unified Smart Interface)則是 Advantech 針對硬體控制、設備管理所開發的智慧 API 套件,是我們眾多智慧系統方案的核心元件。
將 SUSI 部署在 Docker 容器中,代表什麼?
- 更彈性的部署方式
- 更快速的系統複製與擴展
- 減少開發維護的人力成本
- 讓我們的解決方案更容易落地到客戶端!
實驗過程:SUSI 在 Docker 裡開趴啦! #
我們團隊這次的目標,就是在 Ubuntu 系統上,把 SUSI 套件成功跑進 Docker 容器,並實際驗證功能可用。你也可以跟著我們的腳步,一步步體驗 SUSI 容器化的魔力!
步驟一:安裝 Docker,拉出基礎映像檔 #
- 安裝 Docker
sudo apt-get install docker.io - 取得 Ubuntu 映像檔
sudo docker pull ubuntu - 查看映像檔清單
sudo docker images
步驟二:建立並啟動容器 #
- 創建 Ubuntu 容器
sudo docker run -it --rm --privileged ubuntu - 如果發現
/sys/firmware/efi/efivars路徑在容器裡是空的,記得用-v參數把 host 的路徑掛進去:sudo docker run -it --privileged -v /sys/firmware/efi/efivars/:/sys/firmware/efi/efivars/ ubuntu /bin/bash
步驟三:將 SUSI 套件帶進容器 #
我們測試了兩種方法:
方法一:直接複製套件進容器 #
-
找出正在運行的容器名稱
sudo docker ps -
假設容器叫做「elastic_blackburn」,把 SUSI 套件複製進去:
sudo docker cp XXX.tar.gz elastic_blackburn:/home
-
進入容器後,先更新套件、安裝必要元件:
apt-get update apt install -y libpci-dev
方法二:直接掛載主機資料夾 #
- 將 SUSI 壓縮檔(XXX.tar.gz)放在主機
/home/test/Desktop - 啟動容器時,將該資料夾掛載進容器
/home,同時掛載必要的系統函式庫:sudo docker run -it -rm --privileged -v /home/test/Desktop/:/home -v /usr/lib:/usr/lib ubuntu:20.04
步驟四:安裝並執行 SUSI #
- 解壓 SUSI 套件,執行安裝腳本
./SUSI4.2.X/Driver/install.sh - 測試 SUSI Demo 程式
./SUSI4.2.X/Susi4Demo/susidemo4
進階應用:SUSI IoT 容器化,x86 架構更 Easy! #
想要讓 SUSI IoT 服務在容器裡跑得更順暢?我們還針對 x86 架構設計了專屬 Dockerfile,讓部署更加自動化!
建立 Dockerfile #
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update && apt install -y pciutils && apt clean
RUN mkdir -p /opt/Advantech/susi/service/ && \
mkdir -p /usr/lib/x86_64-linux-gnu && \
mkdir -p /usr/lib/Advantech
CMD ["/bin/bash"]
建立映像檔 #
docker build -t susiiot_x86:1 .
運行容器(掛載必要資料夾與函式庫) #
這裡我們掛載了多個關鍵目錄和函式庫,確保 SUSI IoT 服務可以無縫運作!指令如下:
sudo docker run \
-it \
--name kengweisusiiotdemo \
--privileged \
--mount type=bind,source=/opt/Advantech/susi/service/,target=/opt/Advantech/susi/service/,readonly \
--mount type=bind,source=/etc/Advantech/susi/service/,target=/etc/Advantech/susi/service/,readonly \
--mount type=bind,source=/usr/lib/x86_64-linux-gnu/libjansson.so.4,target=/usr/lib/x86_64-linux-gnu/libjansson.so.4,readonly \
--mount type=bind,source=/usr/lib/libjansson.so.4,target=/usr/lib/libjansson.so.4,readonly \
--mount type=bind,source=/usr/lib/libjansson.so,target=/usr/lib/libjansson.so,readonly \
--mount type=bind,source=/usr/lib/libSusiIoT.so,target=/usr/lib/libSusiIoT.so,readonly \
--mount type=bind,source=/usr/lib/libSUSIDevice.so.1,target=/usr/lib/libSUSIDevice.so.1,readonly \
--mount type=bind,source=/usr/lib/libSUSIDevice.so,target=/usr/lib/libSUSIDevice.so,readonly \
--mount type=bind,source=/usr/lib/libSUSIAI.so.1,target=/usr/lib/libSUSIAI.so.1,readonly \
--mount type=bind,source=/usr/lib/libSUSIAI.so,target=/usr/lib/libSUSIAI.so,readonly \
--mount type=bind,source=/usr/lib/libSUSI-4.00.so.1,target=/usr/lib/libSUSI-4.00.so.1,readonly \
--mount type=bind,source=/usr/lib/libSUSI-4.00.so,target=/usr/lib/libSUSI-4.00.so,readonly \
--mount type=bind,source=/usr/lib/libSUSI-3.02.so.1,target=/usr/lib/libSUSI-3.02.so.1,readonly \
--mount type=bind,source=/usr/lib/libSUSI-3.02.so,target=/usr/lib/libSUSI-3.02.so,readonly \
--mount type=bind,source=/usr/lib/libEApi.so.1,target=/usr/lib/libEApi.so.1,readonly \
--mount type=bind,source=/usr/lib/libEApi.so,target=/usr/lib/libEApi.so,readonly \
--mount type=bind,source=/usr/lib/Advantech,target=/usr/lib/Advantech,readonly \
-v /home/:/volume \
susiiot_x86:1 \
bash
實驗成果與產業應用:讓 SUSI 更靈活、更強大 #
這次容器化實驗證明,Advantech 的 SUSI 技術不僅能穩定運行於傳統作業系統,現在也能無縫整合進現代化的容器平台。不論是雲端部署、大規模邊緣設備管理,還是軟硬體混合的自動化應用,都能享受到:
- 一鍵部署,快速複製環境
- 減少部署錯誤,提升維運效率
- 強化系統隔離與安全性
- 支援持續集成、DevOps 開發流程
與傳統部署相比,容器化讓 SUSI 的彈性與可擴展性大幅提升!
這不僅展現出 Advantech 在軟體工程與系統整合的創新實力,更讓我們的解決方案能快速因應市場多變需求。
結語與未來展望:持續創新,迎向智慧應用新時代 #
這只是 Advantech 研發團隊容器化旅程的第一步!我們會持續優化 SUSI 在各種新興平台上的部署方式,並主動探索更多自動化、雲端化、AI 賦能的應用場景。未來,無論是智慧工廠、智能交通、遠端醫療,還是下一代物聯網專案,Advantech 都將以持續創新的精神,陪伴您一起走在數位轉型的最前線。
有興趣了解更多 SUSI 容器化應用嗎?歡迎聯絡我們,一起開啟智慧產業的無限可能!