Ex2. ① SENSOR DASHBOARD
( 태그 : AWS_IoT_FreeRTOS, AWS_IoT )
1. Dashboard 구성
- STM32 MCU 보드에서 Publish 되는 센서 데이터를 STM32 CubeMonitor 프로그램을 사용하여 Visualization 합니다.
- STM32 CubeMonitor에 AWS IoT MQTT Broker에 대한 수신 node를 생성하고 AWS IoT Core에 등록한 Dummy Thing의 인증서를 사용해 연결을 설정 합니다.
2. Create Dummy Thing
- AWS IoT Core 콘솔의 Side Menu에서 Manage를 선택한 후 Things 항목을 선택한 후 Create 버튼을 눌러 Thing 생성 메뉴로 들어갑니다.
- Create a single thing을 선택 하여 생성을 시작합니다.
- 이름은 dummy_thing 으로 입력한 후 Next 버튼을 클릭합니다.
- Create certificate 버튼을 누르고 인증서를 바로 생성합니다.
- Thing Certificate과 Public/Private Key가 준비됩니다. Activate 버튼을 누르고 인증서를 활성화 합니다.
- Activate되면 DummyThing의 인증서로 등록이 됩니다. Download 버튼을 누르고 인증서와 키 파일을 저장합니다. AWS Root CA도 다운로드 합니다.
- Attach a policy 버튼을 눌러 정책을 연결합니다.
- STM32 MCU 보드용으로 생성한 정책이 표시 됩니다. 선택한 후 Register Thing 버튼을 누릅니다.
- Dummy Thing 생성이 완료 된 것을 Things list에서 확인할 수 있습니다.
3. Create STM Board Workspace
- 실습용으로 사전 작업된 json 작업 파일을 다운로드 하여 사용합니다.
- json 파일은 다음과 같이 json 포맷의 여러 개의 in/out, function node와 flow 등으로 구성되어 있습니다.
[
{
"id": "d5196a2f.6ac8e8",
"type": "tab",
"label": "ST Discovery Board Dashboard",
"disabled": false,
"info": "ST Discovery Board Dashboard"
},
{
"id": "213d67d8.0a69f8",
"type": "mqtt in",
"z": "d5196a2f.6ac8e8",
"name": "",
"topic": "dt/stm32l475e/sensor-data/topic",
"qos": "1",
"datatype": "auto",
"broker": "cf394855.951c28",
"x": 130,
"y": 120,
"wires": [
[
"5fb2a0af.1136c"
]
]
},
{
"id": "cabdc168.99b4c",
"type": "function",
"z": "d5196a2f.6ac8e8",
"name": "Humidity",
"func": "msg.payload = msg.payload.Hum\nreturn msg",
"outputs": 1,
"noerr": 0,
"x": 580,
"y": 120,
"wires": [
[
"a5e84262.28e9e"
]
]
},
]
STM32 CubeMonitor를 실행합니다. STM32CubeMonitor 설치 방법은 실습 0-5에서 확인할 수 있습니다.
다운로드한 json 파일 (st_discover_board_dashboard_full.json)을 CubeMonitor 작업 공간으로 Drag and Drop 합니다.
- ST Discovery Board Dashboard 탭이 생성 됩니다. 탭을 클릭 하면 STM32 MCU 보드의 sensor 데이터에 대한 workflow가 표시되는 것을 확인할 수 있습니다.
4. AWS IoT MQTT Broker 연결
- MQTT IN box (dt/stm32l475e/sensor-data/topic) 을 더블 클릭합니다.
- MQTT IN node에 대해 설정하는 화면이 표시됩니다. 서버 편집 버튼을 선택합니다.
- Name에 AP-NORTHEAST-2를 입력합니다.
- Server 항목에 AWS IoT의 MQTT Broker endpoint 주소를 입력합니다.
- 입력 후 TLS Configuration의 편집 버튼을 클릭합니다.
- 앞 단계에서 생성한 Dummy_thing의 Certificate와 Private Key 파일을 업로드 합니다.
- 앞 단계에서 Amazon RootCA를 다운로드 받지 않았다면 AmazonRootCA1.pem 링크에서 복사하여 pem 파일로 저장하여 사용합니다.
- 업로드가 완료되면 Update 버튼을 클릭합니다.
- 이전 편집 화면으로 복귀되면 다시 Update 버튼을 클릭합니다.
- MQTT Topic에 MCU 보드의 Topic (dt/stm32l475e/sensor-data/topic)을 입력한 후 Done 버튼을 클릭하여 Topic 구독 설정을 완료합니다.
- DEPLOY 버튼을 클릭하여 변경 사항을 반영합니다.
- 확인 팝업 창에서 Confirm deploy를 클릭합니다.
- MQTT 서버에 연결되면 connected 상태로 변경되는 것을 확인할 수 있습니다.
- 왼쪽 상단 DASHBOARD 버튼 옆의 3 line 아이콘을 클릭한 후 View → Debug message를 선택합니다.
- MCU 보드에서 Publish 하고 있는 센서값이 수신되는 것을 확인할 수 있습니다.
5. Dashboard 확인
- STM32 CubeMonitor 작업 파일 (st_discovery_board_dashboard_full.json)에 구성된 Dashboard를 확인 합니다.
- 왼쪽 상단의 DASHBOARD 버튼을 클릭합니다.
- Dashboard 창의 오른쪽 상단의 3 line 을 선택한 후 STM32 IOT Discovery Board 를 선택합니다.
- 작업 파일에 등록되어 있는 Sensor들에 대한 MQTT 수신 데이터가 실시간으로 업데이트 됩니다.
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·캠프에서 만든 콘텐츠가 아니며, 서울하드웨어해커톤에서 강의가 진행될 예정입니다.
'05_Toolkit > AWS_IoT' 카테고리의 다른 글
Ex3. OTA FIRMWARE UPDATE (0) | 2020.11.26 |
---|---|
Ex2. ② SENSOR 추가 및 제어 (0) | 2020.11.26 |
Ex2. ADDING TEMPERATURE & LED CONTROL (0) | 2020.11.26 |
Ex1. ⑤ SENSOR DATA PUBLISH (0) | 2020.11.26 |
Ex1. ④ AWS IOT CORE 연결 (0) | 2020.11.26 |