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

Embedded Linux용 OTA 업데이트, 2부 – 기성 업데이트 시스템 비교

이전 기사에서 임베디드 Linux 업데이트 시스템의 기본과 구현에 대해 논의했습니다. 여기에서는 현재 Embedded Linux 프로젝트와 통합할 수 있는 기성 오픈 소스 업데이트 시스템에 대해 설명합니다.

수리

이 업데이트 시스템은 매우 전문적이며 즉시 사용할 수 있습니다. 이전 기사에서 설명한 것과 매우 유사한 이중 rootfs 업데이트 시스템을 사용합니다. 부팅되지 않는 이미지의 경우 폴백을 허용하기 위해 U-Boot와 긴밀하게 통합됩니다.

다양한 구성 요소를 설정하고 통합하는 방법에 대한 명확한 단계별 문서가 있으므로 Mender를 시작하는 것은 매우 쉽습니다. 이들은 Raspberry Pi 및 BeagleBone Black과 같은 인기 있는 플랫폼에서 참조 구현을 제공하며, 이를 통해 플랫폼에서 작동하는 데 필요한 작업량에 대한 아이디어를 얻을 수 있습니다.

통합하고 작동하는 데 약 3일이 걸렸다는 것을 알았습니다. 내 Yocto 빌드 설정(Morty 기반)과 함께 작동하도록 하기 위해 많은 작은 변경이 있었습니다. 이러한 문제를 해결하려면 OpenEmbedded 전문 지식이 필요합니다. 듀얼 부팅 메커니즘을 올바르게 통합하려면 U-Boot 전문 지식이 필요합니다.

이 작업이 끝나면 플래시 메모리에 어떻게든 기록해야 하는 부트로더와 파일 시스템을 포함하는 "sdimg"를 출력합니다. 이 작업을 수행하는 방법은 대상 하드웨어에 따라 다릅니다. 또한 새로운 파일 시스템 이미지와 다양한 메타데이터를 포함하는 '아티팩트'라는 것을 출력합니다.

아티팩트는 수동 설치를 위해 Mender 명령줄 도구를 통해 설치할 수 있습니다(이는 이론적으로 USB 스틱에서 자동 설치로 확장될 수 있음). 아티팩트는 웹 인터페이스를 통해 백엔드 업데이트 웹 서비스에 업로드할 수도 있으며 여기에서 개별 단위로 푸시다운할 수 있습니다.

백엔드 업데이트 서버를 제어하는 ​​웹 인터페이스는 잘 설계되었으며 사용하기 쉽습니다. 설정은 Docker를 통해 수행되므로 초기 설정이 매우 간단합니다. 완전한 프로덕션 준비 시스템에서는 Docker에 대한 전문 지식이 필요합니다. 이 웹 인터페이스에서 현장에 현재 배포된 모든 장치를 볼 수 있으며 개별적으로 또는 그룹으로 업데이트를 푸시할 수 있습니다.

더 큰 이미지를 보려면 클릭하십시오.

그림 1:Mender에는 기기 업데이트를 푸시하기 위한 맞춤형 웹 인터페이스가 포함되어 있습니다(출처:Mender)

Mender의 대부분은 Go 프로그래밍 언어로 작성됩니다. Go에 대한 일부 전문 지식은 장기적인 채택 및 프로덕션 릴리스에 필요합니다. 이것은 임베디드 세계에서 아직 흔하지 않은 언어이지만 앞으로 더 널리 사용될 것입니다.

하드 코딩된 단일 부팅 장치(예:/dev/mmcblk0)에 묶여 있으므로 여러 매체에서 부팅할 수 있는 간단한 방법이 없습니다. 또한 부트로더 및 커널의 다양한 옵션(예:특정 파일 시스템 지원 포함)과 같이 시스템에 대해 많은 가정을 합니다. 결정적으로 일부 프로젝트에는 적합하지 않을 수 있는 systemd가 필요합니다.

SW업데이트

이 업데이트 시스템은 고도로 구성 가능합니다. 대부분의 Embedded Linux 개발자에게 친숙한 "kconfig" 시스템을 사용하여 구성합니다. 구성 옵션의 몇 가지 예:여러 부트로더(U-Boot, GRUB, EFI Boot Guard)를 지원합니다. 주어진 공개 키를 기반으로 서명된 이미지에 서명하고 확인할 수 있습니다. 대칭 키 암호화를 사용하여 이미지 암호화를 지원할 수 있습니다.


그림 2:SWUpdate의 구성 시스템(출처:SWUpdate)


임베디드

  1. 귀사의 조직에 가장 적합한 AWS 컨테이너 오케스트레이션 플랫폼은 무엇입니까?
  2. 디버깅이란:임베디드 시스템의 유형 및 기술
  3. 자동차의 임베디드 시스템 역할
  4. 임베디드 시스템 및 실시간 애플리케이션이란
  5. 자동차 마이크로컨트롤러용 ST 샘플링 임베디드 위상 변화 메모리
  6. Cervoz:산업용 임베디드 애플리케이션을 위한 초박형 NVMe 스토리지
  7. 로봇 시스템용 모터 제어 설계
  8. Windows, Linux, Mac을 위한 10가지 최고의 C# IDE(2021 업데이트)
  9. 모듈식 설계를 위한 임베디드 기술의 장점
  10. 3D 비전 시스템 – 귀하에게 적합한 것은 무엇입니까?