Over the Air 업데이트 성공 테스트 [닫기]


10

IoT 장치가 성공적으로 업데이트되도록하는 가장 좋은 방법은 무엇입니까?

OTA 업데이트를 테스트하고 장치를 인증하려면 무엇을해야합니까? 한 걸음 더 나아가 IoT 장치의 소프트웨어 버전 (업데이트)을 어떻게 모니터링 / 관리 할 수 ​​있습니까?


1
이것은 다른 질문과 같이 너무 광범위합니다. 또한 장치 유형과 배포 모드에 따라 크게 달라집니다.
Gilles 'SO- 악의를 멈춰라'

1
"함대"라고 말하면 차량 함대를 의미합니까? 그렇다면 SkyWave 모뎀과 같은 것을 사용하여 (암호화 된) SMS 또는 GPRS를 통한 HTTPS 또는 이벤트 위성을 통한 통신을 가정합니다. 명확히하기 위해 질문을 편집 할 수 있다면 다시 열릴 것입니다.
Mawg에 따르면 Monica Monica는

답변:


10

24 시간마다 호출하는 소프트웨어 (Windows Server- '사물'과 약간 다르지만 주체는 동일합니다)-자체에 대한 다양한 메타 데이터를 다시 보냅니다.

  • 고객 이름 (또는 고유 ID)
  • 소프트웨어 버전
  • 통화 / 요청 타임 스탬프
  • 제품 유형 / ID

웹 서비스는 데이터를 구문 분석하고 데이터베이스에 행을 삽입하거나 고객이 기존 행을 가지고있는 경우 업데이트합니다.

이런 방식으로 새로운 고객이 DB에 자동으로 추가되고 기존 고객은 '최근에 본'타임 스탬프가 업데이트되며 항상 최신 소프트웨어 버전이 있습니다. 어떤 고객이 이전 버전을 사용하고 있는지 또는 어떤 고객이 한동안 전화를 걸지 않았는지 알려주는 DB 쿼리를 실행할 수 있습니다.

또한 최근에 자동 업데이트 (OTA 업데이트 생각)를 구현했으며 이는 중요한 프로세스이기 때문에 다음과 같은 특정 원격 측정을 구현했습니다.

  • 현재 버전.
  • 업데이트 할 버전입니다.
  • 누가 / 승인했을 때 (고객 수락이 필요한 경우).
  • 각 주요 단계에 대한 타임 스탬프 및 상태 코드

이를 통해 자동 업데이트의 특정 측면이 실패하는지 여부를 판단 할 수 있으며, 대부분의 경우 고객에게 문제가 있음을 알리기 전에 고객에게 자주 전화를 걸 수 있습니다.

'사물'과의 큰 차이점은 일반적으로 메모리가 제한되어 있기 때문에 xxx Kb펌웨어 의 OTA 업데이트를 수행하려면 xxx Kb * 2사용 가능한 메모리 가 필요 합니다 (기존 펌웨어 + 실제 펌웨어 업데이트를 시작하기 전에 새 펌웨어를 저장하기에 충분한 메모리)


1
공유해 주셔서 감사합니다. 메모리 사용은 중요한 포인트입니다. 해당되는 경우 인증 및 고객 수락에 대해 어떻게 생각하십니까? 업데이트를 수락하려면 비밀번호가 필요합니까?
Noam Hacker

2
다른 유스 케이스 (Windows Server이기 때문에)이지만 OTA 업데이트를 다운로드 할 때 경고를 표시하는 UI가 있습니다. 경고는 고객에게 업데이트 여부를 묻습니다 (릴리스 노트 등의 링크 포함). A의 thing아마 사용자에게 경고하기 위해 LED 또는 무언가를 플래시 것 그들을 '길게 누르면'을 시작하는 버튼 ...이 다음과 (업데이트 '허용'에 사용자가 원하는 가정)
KennetRunner

5

예를 들어, X 주 / 일 / 시간마다 ... 소프트웨어의 현재 버전 번호를 가진 서버에 요청할 수 있습니다. 이후 분석을 사용하여 현재 업데이트 된 장치의 백분율 및 수를 확인할 수 있습니다.


1
벽돌로 된, 또는 업데이트를 완료하는 데 실패 장치에이 계정을합니까 (재부팅, 다운로드, 충돌주기 어쩌면 붙어 있습니까?)
숀 Houlihane

1
어떤 식 으로든 그렇습니다. 당신은 하루에 1 백 장치가있는 경우 2 일에 업데이 트를 밀어 3 일 당신이 분석에 25 장치를 가지고, 그것은 뭔가 나쁜 일이 의미
WayToDoor

1
그 흥미 롭군요. 실패 유형을 구별하는 방법이 있습니까?
Noam Hacker

1
각각 시작하는 .. call send 'home'및 완료된 상태 xx call with home으로 완료된 상태 에서 업데이트를 개별 단계 (예 : 새 구성 값 추가 , gps 재부팅 , 장치 ID 설정 , 펌웨어 덮어 쓰기 등) 로 분할하십시오 . 그렇게하면 (거의) 실패한 곳과 상태 코드가 무엇인지 알 수 있습니다.
KennetRunner

4

스마트 동기화 정책에 관한 모든 것

업데이트 롤아웃 방식과 함께 작동하는 스마트 동기화 정책이 필요합니다. IoT 장치가 버전을 동기화해야하는 가장 확실한 시점 은 업데이트 직후 입니다. 나머지 동기화 일정은 장치 유형에 따라 크게 달라집니다.

단일 동기화가 비용이 많이 들지 않는 케이블 연결을 통해 항상 켜져 있고 연결되어 있습니까? 기기에 대한 데이터를 최신 상태로 유지하기 위해 정기적으로 동기화하는 것이 합리적입니다.

값 비싼 위성 연결을 사용하기 때문에 장치가 어딘가에 있으면 모든 비트에 많은 비용이 듭니다. 동기화 일정은 해당 상황을 수용해야합니다.

동기화 확인

충분히 진보 된 장치 (가격 범위 또는 장치를 정당화하는 작업 영역을 읽음)에서 각 장치에는 동기화의 진위 여부를 확인할 수있는 클라이언트 인증서가 장착 될 수 있습니다.

어쨌든 최종 고객 장치를 사용 하면 배터리가 방전되거나 장치가 사용되지 않거나 단순히 고객이 무선 암호를 변경하고 IoT 장치에 알리지 않기 때문에 장치가 항상 레이더에서 떨어질 수 있습니다. 업데이트 시점이 맞더라도 업데이트와 관련이 없을 수도 있습니다.


나는 이것이 OP 문제에 대한 해결책을 제시하지 않는다고 생각한다.
WayToDoor

@WayToDoor 첫 번째 단락은 업데이트 직후에 동기화하는 것이 좋습니다. 새 버전에 성공적으로 도달하면 정보를 제공합니다. 그렇지 않은 경우 가능한 대책은 너무 광범위하고 요청되지 않은 것입니다. 나머지 답변은 현장에서 버전을 모니터링하는 것입니다. 어떤 질문을 놓쳤습니까?
Helmar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.