[typescript] 타입스크립트와 AWS IoT Greengrass를 이용한 로컬 디바이스 연동하기

인터넷 연결이 불가능한 로컬 디바이스를 AWS의 IoT 서비스와 연동해야 하는 경우가 많습니다. 이를 위해 AWS는 IoT Greengrass를 제공하고 있습니다. IoT Greengrass는 로컬 디바이스를 클라우드로 연결하고 관리할 수 있도록 도와주는 서비스입니다.

타입스크립트로 로컬 디바이스 개발하기

첫 번째로, 우리는 로컬 디바이스에 타입스크립트를 사용하여 서비스를 개발할 것입니다.

// sensor.ts

class Sensor {
  private data: number | null;

  constructor() {
    this.data = null;
  }

  public readData(): number {
    // 디바이스로부터 데이터를 읽어옴
    return 42; // 예시 데이터
  }
}

이 코드는 로컬 디바이스의 센서에서 데이터를 읽어오는 예시입니다.

AWS IoT Greengrass 구성

이제 IoT Greengrass를 사용하여 이 디바이스를 AWS와 연동해봅시다.

  1. AWS 콘솔에서 IoT Greengrass 그룹을 생성합니다.
  2. 필요한 디바이스를 그룹에 추가합니다.
  3. AWS 콘솔에서 Core 디바이스를 설정하고, 그룹 생성을 완료합니다.

타입스크립트 애플리케이션을 빌드 및 패키징하기

이제, 타입스크립트 애플리케이션을 빌드한 다음 IoT Greengrass 코어 SDK를 사용하여 AWS Lambda 함수로 패키징할 것입니다.

// greengrassLambda.ts

import { Sensor } from './sensor';

export async function handler(event: any) {
  const sensor = new Sensor();
  const data = sensor.readData();

  // 데이터를 AWS로 전송하는 로직
  console.log('전송된 데이터:', data);
}

AWS IoT Greengrass를 통한 연동 확인

마지막으로, 로컬 디바이스를 IoT Greengrass로 연동하여 통신 및 데이터 전송이 원활히 작동하는지 확인합니다.

이렇게 함으로써, 타입스크립트를 사용하여 로컬 디바이스와 AWS IoT Greengrass를 연동하는 방법을 살펴보았습니다.

참고 자료