[typescript] AWS SDK를 사용하여 타입스크립트로 IoT 서비스 관리하기

AWS의 IoT 서비스를 사용하면 인터넷에 연결된 장치를 관리하고 데이터를 수집할 수 있습니다. 이 글에서는 타입스크립트로 AWS SDK를 사용하여 IoT 서비스를 관리하는 방법에 대해 알아보겠습니다.

목차

  1. 시작하기
  2. 장치 등록
  3. 장치 목록 가져오기
  4. 규칙 설정

시작하기

우선 AWS SDK를 설치해야 합니다. npm을 사용하여 aws-sdk 패키지를 설치할 수 있습니다.

npm install aws-sdk

그리고 AWS 계정에서 액세스 키와 시크릿 액세스 키를 생성하여 프로젝트의 환경 변수에 설정합니다.

import AWS from 'aws-sdk';

AWS.config.update({
  accessKeyId: process.env.AWS_ACCESS_KEY_ID,
  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
  region: 'us-west-2'  // 사용하는 지역에 맞게 변경
});

장치 등록

IoT 장치를 등록하려면 registerThing 메서드를 사용하여 새 장치를 등록하고 일련 번호를 가져올 수 있습니다.

const iot = new AWS.Iot();

const params = {
  thingName: 'myDevice'
};

iot.registerThing(params, (err, data) => {
  if (err) console.log(err, err.stack);
  else console.log(data);
});

장치 목록 가져오기

등록된 모든 IoT 장치의 목록을 가져오려면 listThings 메서드를 사용합니다.

iot.listThings({}, (err, data) => {
  if (err) console.log(err, err.stack);
  else console.log(data);
});

규칙 설정

IoT 장치에서 수신한 데이터에 대한 규칙을 설정하려면 createTopicRule 메서드를 사용하여 새로운 규칙을 만들 수 있습니다.

const params = {
  ruleName: 'temperatureRule',
  topicRulePayload: {
    sql: 'SELECT * FROM "temperature"',
    actions: [
      {
        lambda: {
          functionArn: 'arn:aws:lambda:us-west-2:123456789012:function:my-function'
        }
      }
    ]
  }
};

iot.createTopicRule(params, (err, data) => {
  if (err) console.log(err, err.stack);
  else console.log(data);
});

위와 같이 타입스크립트로 AWS SDK를 사용하여 IoT 서비스를 관리할 수 있습니다. 다양한 AWS IoT 서비스의 기능을 타입스크립트로 활용하여 손쉽게 인터넷에 연결된 장치를 관리하고 데이터를 수집할 수 있습니다.

참고 문헌: