산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

임베디드 리눅스 OTA 업데이트 – 2부: 기성 업데이트 플랫폼 평가

1부에서는 임베디드 리눅스 OTA 업데이트 시스템의 기초와 구현을 다뤘습니다. 이번 편에서는 오늘 프로젝트에 통합할 수 있는 인기 있는 기성 오픈소스 플랫폼을 평가합니다.

Mender

Mender는 세련된 즉시 사용 가능한 경험을 제공합니다. 앞서 설명한 것과 유사한 듀얼 루트fs 전략을 사용하며 U-Boot와 긴밀히 통합되어 이미지 부팅 실패 시 매끄러운 롤백을 가능하게 합니다.

명확한 단계별 문서 덕분에 시작이 간단합니다. 라즈베리 파이와 비글본 블랙용 레퍼런스 빌드는 사용자 하드웨어에 맞게 솔루션을 적용하는 데 필요한 노력을 보여줍니다.

제 경험상 통합에 약 3일 소요되었습니다. 과정은 Yocto(Morty) 빌드에 약간의 수정이 필요했으며 듀얼 부트 메커니즘을 올바르게 구성하기 위해 OpenEmbedded와 U-Boot 지식이 요구되었습니다.

빌드 완료 후 Mender는 부트로더와 파일시스템을 포함한 'sdimg' 파일을 출력하며 이를 플래시에 기록합니다. 또한 새 파일시스템 이미지를 메타데이터와 번들한 '아티팩트'를 생성합니다.

아티팩트는 mender CLI로 수동 설치하거나 웹 인터페이스를 통해 백엔드 서버에 업로드해 대상 유닛에 자동 배포할 수 있습니다.

백엔드 관리 콘솔은 도커 기반으로 초기 배포를 단순화합니다. 웹 UI로 현장 모든 디바이스 모니터링과 개별 유닛 또는 그룹에 업데이트 푸시 가능.

이미지 클릭으로 확대
임베디드 리눅스 OTA 업데이트 – 2부: 기성 업데이트 플랫폼 평가
그림 1: 업데이트 푸시용 Mender 커스텀 웹 인터페이스 (출처: Mender)

Mender 대부분은 Go로 작성되어 장기 유지보수를 위해 Go 지식이 권장됩니다. Go는 아직 임베디드 개발에서 보편적이지 않지만 채택이 늘고 있습니다.

그러나 Mender는 단일 부트 디바이스(예: /dev/mmcblk0)에 종속되며 특정 부트로더와 커널 구성(특정 파일시스템 지원 등)을 가정합니다. 또한 systemd를 강제해 대체 초기 시스템을 쓰는 프로젝트는 배제될 수 있습니다.

SWUpdate

SWUpdate는 높은 구성 가능 프레임워크를 제공합니다. 설정은 친숙한 kconfig 문법을 사용해 개발자가 시스템을 필요에 맞게 조정할 수 있게 합니다.

주요 기능으로 다중 부트로더 지원(U-Boot, GRUB, EFI Boot Guard), 공개 키로 이미지 서명 및 검증, 선택적 대칭 키 페이로드 암호화 포함.

임베디드 리눅스 OTA 업데이트 – 2부: 기성 업데이트 플랫폼 평가
그림 2: SWUpdate 구성 시스템 (출처: SWUpdate)

임베디드

  1. 비즈니스에 맞는 올바른 AWS 컨테이너 오케스트레이션 서비스 선택하기
  2. 임베디드 시스템 디버깅: 유형, 기법 및 도구로 신뢰성 있는 소프트웨어 만들기
  3. 임베디드 시스템이 이끄는 현대 자동차 혁신
  4. 임베디드 시스템: 정의, 아키텍처, 실전 응용
  5. ST마이크로일렉트로닉스, 파워트레인·ADAS·전동화용 28nm FD-SOI MCU와 임베디드 PCM 선보여
  6. Cervoz 초박형 M.2 NVMe SSD: 산업용 엣지 애플리케이션을 위한 고성능 스토리지
  7. 첨단 로봇 시스템을 위한 정밀 모터 제어 엔지니어링
  8. 2021년 Windows, macOS, Linux용 탑 10 C# IDE 리뷰
  9. 모듈형 설계에서 임베디드 기술의 이점
  10. 산업 자동화를 위한 올바른 3D 비전 시스템 선택 가이드