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

AWS 작업을 사용하여 IoT 장치 업그레이드 및 구성

Amazon Web Services(AWS)는 Microsoft Azure 및 Google Cloud IoT와 함께 사물 인터넷(IoT)을 위한 가장 인기 있는 프레임워크 환경 중 하나입니다. 스마트 장치는 인터넷을 사용하여 프레임워크에 연결되고 MQTT 프로토콜을 사용하여 프레임워크와 상호 작용합니다. 이 프레임워크는 장치와 상호 작용하는 것 외에도 데이터 저장 및 처리, 사용자에 대한 데이터 표현, 데이터 분석(인공 지능 방법 포함), 강력한 권한 시스템을 통한 액세스 제어 등을 위한 훌륭한 기회를 제공합니다.

데이터 저장을 위해 AWS 환경은 (다양한 관계형 및 비관계형 DBMS 외에) Simple Storage Service(S3)라는 클라우드 기반 계층적 파일 스토리지 시스템을 제공합니다. S3 스토리지의 각 파일에는 외부에서 액세스할 수 있는 URL(Universal Resource Locator)이 있을 수 있습니다. 이 경우 적절한 접근 권한이 부여된 웹 브라우저를 통해 파일에 접근할 수 있습니다. 파일 콘텐츠가 HTML 페이지인 경우 대화형 사용자는 이 파일을 사용하여 AWS 프레임워크 옵션과 여기에 연결된 지능형 장치에 모두 액세스할 수 있습니다. 이 페이지의 기능은 내부에 있는 JavaScript 코드에 의해 지정됩니다(이 코드는 프레임워크 전체 및 개별 구성요소의 API(응용 프로그래밍 인터페이스) 기능을 활성화할 수 있습니다).

람다 함수

웹 페이지 외에도 AWS 프레임워크 환경의 프로그램 코드를 람다 함수로 저장할 수 있습니다. 이들은 Python, Java, C# 또는 Node.Js 언어 중 하나로 작성된 특별한 명명된 코드 조각입니다. 클라우드에 저장되고 특정 이벤트에서 호출됩니다. 이벤트는 웹 페이지(예:특정 URL에서 특정 HTTP REST API 호출), 다른 람다 함수 또는 지능형 장치(특정 유형의 MQTT 메시지 전송을 통해)에서 시작할 수 있습니다. 이 모든 경우에 이벤트는 매개변수를 가질 수 있습니다. Lambda 함수는 지능형 장치, AWS 리소스(예:데이터베이스) 및 사용자가 직접 상호 작용하는 웹 페이지 간의 상호 작용을 위한 미들웨어로 사용됩니다(그림 1).

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

그림 1. AWS 구성 요소 상호 작용의 아키텍처(출처:Auriga)

AWS 람다에는 엄격한 제한이 있습니다. 예를 들어 단일 요청을 처리하는 실행 시간이 제한되고 단일 요청을 처리할 때 람다가 사용할 수 있는 메모리 양이 제한됩니다. 제한을 초과하면 람다 실행이 중단됩니다. 이러한 제한은 사용자가 람다를 생성할 때 구성하지만 특정 값을 초과할 수 없습니다.

IoT 장치는 데이터 무결성 및 버퍼링을 제공하는 TCP 프로토콜을 사용하여 클라우드에 연결합니다. 느린 연결의 경우 프로토콜은 송신 측에서 데이터를 축적하고 가능할 때 파이프라인을 통해 푸시합니다. 또한 TCP 위의 AWS 프로토콜은 연결이 끊어진 경우에도 지속적으로 TCP 연결을 재설정하는 작업을 처리합니다.

그러나 IoT 장치와 클라우드 간의 연결 문제는 MQTT 프로토콜의 특정 단방향 특성으로 인해 일반적으로 람다에 영향을 미치지 않습니다. IoT 장치와 통신할 때 람다는 MQTT 메시지를 보내고 응답을 기다리지 않습니다. 응답이 도착하면 이를 처리하고 필요한 경우 IoT 장치에 다른 MQTT 메시지를 보내는 것은 다른 람다 함수의 책임입니다.

AWS 작업

AWS 프레임워크 구성 요소 중 하나는 작업 서비스(AWS 작업)입니다. AWS에 연결된 하나 또는 여러 IoT 장치에서 오래 지속되는 작업(작업)을 생성 및 실행하고 이러한 작업을 관리하는 데 사용됩니다. 다른 AWS 서비스들에 비해 AWS Jobs 서비스는 최근에 등장했습니다.

AWS Jobs 서비스에 대한 액세스는 API 기능 세트를 사용하여 프로그래밍 방식으로 뿐만 아니라 프로그래밍 콘솔을 통해 제공됩니다.

이러한 기능의 특정 하위 집합은 지능형 장치 자체에서 사용할 수 있습니다(MQTT 메시지를 전송하여 호출할 수 있음). MQTT 프로토콜을 통해 액세스할 수 있는 기능은 GetPendingJobExecutions, StartNextPendingJobExecution, UpdateJobExecution, DescribeJobExecution 등 장치 측에서 작업 및 해당 매개변수에 액세스하는 데 필요한 작업을 실행합니다.

다른 함수는 HTTPS 프로토콜을 통해 정의되며 웹 페이지의 JavaScript 코드, 람다 함수의 프로그램 코드 및 대화형 모드의 사용자가 호출하도록 되어 있습니다. CreateJob, DeleteJob, DescribeJob, ListJobs, ListJobExecutionsForThing 등의 함수는 주로 작업 생성 및 삭제 및 작업 실행 관리에 사용됩니다.

AWS 작업 용어에서 작업에 대한 주요 정보는 작업 문서에 저장됩니다. 이것은 프레임워크에서 대상 장치로 전달되고 수행되어야 하는 작업을 설명하는 JSON 문서입니다. 일반적으로 작업 문서에는 작업 이름과 데이터 작업 매개변수의 위치를 ​​나타내는 URL(또는 URL)이 포함됩니다.

이 URL은 AWS 사용자가 "사전 서명"할 수 있습니다. 이 경우 URL은 미리 서명한 사용자의 권한으로 지능형 장치에 대한 특정 개체에 대한 액세스를 허용합니다(장치가 일반적으로 액세스할 수 없는 데이터에 액세스할 수 있도록). 사전 서명된 URL은 수명이 제한되어 있으며 해당 수명이 끝나면 만료되어 개체에 다시 액세스할 수 없게 됩니다.

작업 생성 중에 작업 문서를 즉석에서 생성하거나 AWS 프레임워크의 S3 파일 스토리지에 파일로 저장할 수 있습니다. 이 파일에 대한 링크는 작업 생성 중에 지정할 수 있습니다.

기타 작업 속성에는 다음이 포함됩니다.

작업이 특정 장치에서 실행될 때 상태가 있습니다. 제한된 상태 집합은 QUEUED, IN_PROGRESS, FAILED, SUCCESS, CANCELED, REJECTED, REMOVED와 같은 프레임워크에 의해 정의됩니다. 현재 상태는 장치의 요청(예:UpdateJobExecution 함수 호출) 또는 사용자가 작업 관리 기능 중 하나를 호출(예:CancelJob 함수를 사용하여 작업 취소)할 때 변경됩니다. 일반적으로 작업 수행 상태는 장치가 작업을 수행하는 동안 IN_PROGRESS이고 장치가 작업을 완료한 후에는 SUCCESS 또는 FAILED가 됩니다.

작업 실행에 대한 상태 다이어그램은 그림 2에 나와 있습니다(여기서 디바이스에서 시작된 전환은 파란색으로 표시되고 다른 AWS 구성 요소에서 시작된 전환은 녹색으로 표시됨).

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

그림 2. AWS 작업 실행 중 상태 다이어그램(출처:Auriga)


사물 인터넷 기술

  1. IoT와 AI의 융합 문제를 해결하는 프로세서
  2. 전 세계적으로 혜택을 제공하는 IoT
  3. 적절하고 잊어버리기:구성되지 않은 IoT로 인한 위협
  4. IoT 도입 시 사이버 보안 및 개인 정보 보호
  5. 기업의 IoT 트래픽이 증가하고 위협도 증가하고 있습니다.
  6. 집에서 IoT 네트워크를 안전하게 유지하기 위한 7가지 필수 팁
  7. IoT 시대의 보안 표준 및 규정의 6조 달러 중요성
  8. IoT의 사이버 위험 완화 및 솔루션 찾기
  9. IoT를 사용하여 산업 활성화 및 더 넓은 경제 지원
  10. Memphis를 '스마트'하게 만들기:IoT 장치의 가시성, 제어 및 보안