본문 바로가기

Toolkit/Service_Clouds

Ex2. ② SENSOR 추가 및 제어

 

Ex2. ② SENSOR 추가 및 제어

( 태그 : AWS_IoT_FreeRTOS, AWS_IoT )

 

1. 온도 Sensor Node 추가

  • CubeMonitor의 작업 공간에 STM32 MCU 보드의 온도 Sensor 데이터를 수신하는 node를 추가 합니다.
  • CubeMonitor의 Pallete에서 function node를 작업 공간으로 drag하여 추가 합니다.

  • MQTT 수신 데이터를 Relay하는 json function node의 출력을 추가한 function node의 입력으로 연결합니다.

  • 추가한 function node를 더블 클릭하여 속성 편집 창을 활성화 합니다.
  • Name 항목에 temperature를 입력 합니다.

  • Function 항목에 MQTT message의 Temperature 값을 가져오는 코드를 입력합니다.

msg.payload = msg.payload.Temp
return msg;

  • Done 버튼을 눌러 편집을 완료 합니다. 온도 Sensor node 추가가 완료 되었습니다.

 

2. Dashboard에 온도 Sensor 추가

  • CubeMonitor의 Pallete에서 dashboard의 gauge를 작업 공간으로 drag하여 가져옵니다.

 

  • 추가된 gauge의 입력을 온도 Sensor node의 출력과 연결시킵니다.

  • gauge를 더블 클릭하여 속성 편집 창을 표시합니다.
  • Group 항목은 [STM32 IOT Discovery Board] ENVIRONMENT SENSOR DATA를 선택합니다.

 

  • Label에는 temperature를 입력합니다.
  • Unit은 degC를 입력합니다.
  • Range의 최대값을 50으로 변경합니다.
  • Done 버튼을 클릭하여 편집을 완료합니다.

  • DEPLOY 버튼을 클릭하여 추가된 gauge를 반영합니다.

 

  • DASHBOARD 버튼을 클릭하면 Temperature gauge가 추가된 것을 확인할 수 있습니다.

 

3. Dashboard에서 LED 제어

3-1. IoT Shadow 생성

  • AWS IoT 콘솔의 Things 메뉴에서 Shadows를 선택한 후 Add a shadow를 클릭하여 추가합니다.

 

  • shadow name을 입력한 후 Add 버튼을 클릭합니다.

 

  • Things 메뉴에서 추가된 Shadow를 확인할 수 있습니다.

 

 

3-2. STM32 CubeMonitor의 Shadow 설정

  • CubeMonitor 작업 파일에 구성되어 있는 Shadow node를 생성한 IoT Shadow 설정으로 변경합니다.
  • LED CONTROL은 Dashboard의 switch node 입니다. Dashboard의 toggle switch UI에 연결되어 있습니다.
  • LED CONTROL은 MQTT out node에 연결 되어 있습니다. MQTT out node는 AWS IoT MQTT broker로 메시지를 publish 합니다.

  • LED CONTROL node와 연결된 Shadow node를 더블 클릭하여 속성을 편집 합니다.
  • Server 편집 버튼을 클릭하여 속성을 변경 합니다.

 

  • Name에 AP-NORTHEAST-2를 입력합니다.
  • Server 항목에 AWS IoT의 MQTT Broker endpoint 주소를 입력합니다.
  • 입력 후 Update 버튼을 클릭하여 업데이트 합니다.

  • Topic에 IoT Shadow Topic을 입력합니다.
    • Topic : $aws/things/Iot-stm-sensor-nodeA/shadow/update
    • IoT Shadow를 통해 Iot-stm-sensor-nodeA의 상태 업데이트 Topic 입니다.
  • Done 버튼을 클릭하여 수정 사항을 업데이트 한 후 DEPLOY 버튼을 클릭하여 변경 내용을 반영합니다.

  • LED Control node를 클릭하여 속성 창을 표시합니다.
  • Topic에 IoT Shadow Topic을 입력합니다.
    • Topic : $aws/things/Iot-stm-sensor-nodeA/shadow/update
  • 속성 창의 On Payload의 상세 내용을 확인 합니다.

 

  • Payload에 desired field를 생성하여 값을 update 하도록 합니다.
  • On Payload는 powerON 값을 1로 설정하고 Off Payload는 powerON 값을 0으로 설정합니다.

  • DASHBOARD를 선택하여 LED CONTROL을 toggle 하여 제어 할 수 있습니다.

  • LED CONTROL을 on/off 로 toggle 하면 ST-Link connector 옆의 녹색 LED가 on/off 되는 것을 확인할 수 있습니다.
  • CubeMonitor 작업 공간의 LED CONTROL node 값도 on/off 되는 것을 확인할 수 있습니다.

 

3-3. STM32 MCU 보드 동작

  • Dashboard의 LED Switch를 toggle 할 때 MCU 보드의LED off 상태에서 Dashboard Switch를 on 시켜 LED on message가 전송 되었습니다.
  • LED Previous state {desired : 0, reported : 0} 에서 Current state가 {desired : 1, reported : 0}로 변경 되었습니다.
    • desired 값은 update 하고자 하는 값이고 reported 값은 디바이스가 IoT Shadow에 공유한 상태 값 입니다.
    • MCU 보드의 LED가 off 였기 때문에 reported 값은 0이고 desired 값은 Dashboard에서 on 으로 변경하였기 때문에 1 입니다.
    •  MCU 보드가 LED를 on 시킨 후 Shadow report를 보내면서 Current의 reported 값을 1로 변경합니다. 
  • 바로 Dashboard에서 Switch를 off 시키면서 LED Previous state {desired : 1, reported : 1} 에서 Current state를 {desired : 0, reported : 1} 가 되었습니다.

 

Credits
Korean version   Jongwoo Lee (rainny@) Sejun Kim (sejun@) Albert Lee (sehyul@)

Original Contents Author

Vanitha Ramaswami (rvanitha@)

 

© 2020 Amazon Web Services, Inc. or its Affiliates. All rights reserved.                                           

메이커스페이스 G·캠프에서 만든 콘텐츠가 아니며, 서울하드웨어해커톤에서 강의가 진행될 예정입니다.   

https://master.d2s409snhlt74e.amplifyapp.com/                                                                         

'Toolkit > Service_Clouds' 카테고리의 다른 글

Ex3. ① OTA FW IMAGE 생성  (0) 2021.11.03
Ex3. OTA FIRMWARE UPDATE  (0) 2021.11.03
Ex2. ① SENSOR DASHBOARD  (0) 2021.11.03
Ex1. ⑤ SENSOR DATA PUBLISH  (0) 2021.11.03
Ex1. ④ AWS IOT CORE 연결  (0) 2021.11.03

 
서울시 금천구 디지털로 9길 90
https://seoulhackathon2.tistory.com   
tel : (해커톤 문의) 김세준 책임 02-2135-5754, (시제품제작 3D모델링, 기구파트) 070-4070-8603, (시제품제작 전자파트) 070-4070-8604, (시제품제작 CNC 가공파트) 070-4070-8605
Copyright 2021 by Seoul Businsss Agency. All Rights Reserved. (Powered by Tistory)
 최신글 +more
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 뉴스 +more
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 일정 +more
  •  
  •  
  •  
  •  
  •  
  •  
  •  
서울 하드웨어 해커톤 | 모집/참가신청    more
서울 하드웨어 해커톤 | 사전워크샵    more
서울 하드웨어 해커톤 | 해커톤    more
 개발 보드 +more
  •  
  •  
  •  
  •  
  •  
  •  
  •  
 서비스 클라우드 +more
  •  
  •  
  •  
  •  
  •  
  •  
  •  
서울 하드웨어 해커톤 | 지난 해커톤    more

주최

주관

후원·기술지원

기술 지원

서울시 금천구 디지털로 9길 90 https://seoulhackathon2.tistory.com
TEL : (해커톤 문의) 김세준 책임 02-2135-5754, (시제품 제작 3D모델링, 기구파트) 070-4070-8603, (시제품 제작 전자파트) 070-4070-8604, (시제품 제작 CNC 가공파트) 070-4070-8605