표제지
초록
목차
I. 서론 14
1. 연구 동기 및 목적 14
II. 배경지식 및 선행연구 검토 17
1. 용어의 정의 17
가. 개발환경 17
나. 펌웨어 17
다. 마이크로컨트롤러유닛(MCU) 17
라. 임베디드 시스템 18
마. 임베디드SW 18
아. IoT 19
자. AIoT 19
차. 인공지능 모델 19
카. 인공지능 에이전트 20
타. GPIO 20
파. 라이브러리(Library) 20
하. 프레임워크(Framework) 21
기. 아키텍처(Architecture) 21
니. 플렛폼(Platform) 21
디. Python 언어 21
2. 교육용 도구가 갖추어야 할 조건 22
3. SW교육의 산출물 개발과정 22
4. 피지컬컴퓨팅 개발환경 23
가. 피지컬컴퓨팅의 개념 23
나. 입출력장치 인터페이스 25
다. 입출력장치의 구분 25
라. K12 교육에 사용 가능한 입출력장치 26
마. 입출력장치의 연결 문제 31
바. 회로구성 문제의 해결 32
5. 소프트웨어 개발환경 현황 34
6. 산출물 테스트 및 개발을 위한 형태 구분 37
가. Proof of concept(PoC, 개념 증명) 37
나. Prototype(원형) 37
다. Pilots(시범적용) 37
라. Minimum Viable Product (MVP, 최소실행가능 제품) 38
마. 교육현장 산출물의 수준 38
7. 피지컬컴퓨팅교육과 인공지능교육 현황분석 39
가. 피지컬컴퓨팅 관련 교과서 분석 39
나. 인공지능 관련 교과서 분석 41
다. 선행연구 분석 42
라. 교육과정 분석 43
바. 현황분석 요약 45
III. 연구방법 및 내용 47
1. 연구 과정 47
2. AIoT응용프로그램 시스템 아키텍처 48
가. A형(클라우드형) 48
나. B형(독립형) 49
다. C형(통합형) 50
3. AIoT응용프로그램의 하드웨어 51
가. MCU 개발보드 52
나. 입출력장치 55
다. 회로구성장치 60
4. 블록코딩 개발환경 63
가. 엔트리 65
나. mBlock 66
다. 코드마오 키튼블럭 68
라. 키튼블럭 69
마. Mind+ 70
바. 코그니메이트 71
사. KT AI코딩블럭 72
아. 스태커 73
자. 머신러닝포키즈 74
차. Makecode 75
카. 픽토블록스 76
5. 텍스트코딩 개발환경 77
가. AI 라이브러리 or AI 프레임워크 78
나. AI응용프로그램 개발 파이썬 에디터 80
라. 마이크로파이썬 92
마. 입출력장치 라이브러리 93
바. 펌웨어 개발 마이크로파이썬 에디터 95
IV. 연구 결과 99
1. K12에서 사용할 AIoT응용프로그램 개발 시스템 아키텍처 99
2. AIoT산출물 개발 환경이 갖추어야 할 조건 100
가. 하드웨어 기준 101
나. 소프트웨어 기준 101
3. 블록언어를 사용한 AIoT개발환경 제안 103
가. 소프트웨어 103
나. 하드웨어 106
4. 텍스트언어를 사용한 AIoT개발환경 제안 108
가. 소프트웨어 108
나. 하드웨어 111
V. 논의 및 결론 114
1. 제언 114
참고문헌 116
국문 초록 119
abstract 121
〈표2-1〉 입출력 장치의 분류 26
〈표2-2〉 전체 입출력 장치 리스트 27
〈표2-3〉 블록코딩 플랫폼 장단점 비교 35
〈표2-4〉 중학교정보교과서 분석 40
〈표2-5〉 성취기준에 따른 학교급별 요구사항 44
〈표3-1〉 MCU사양 및 특징 54
〈표3-2〉 출력장치 리스트 60
〈표3-3〉 산출물의 형태 구분 63
〈표3-4〉 플랫폼별 지원 리스트 64
〈표3-5〉 엔트리 기능 설명 65
〈표3-6〉 엠블럭 기능 설명 66
〈표3-7〉 코드마오 기능 설명 68
〈표3-8〉 키튼블럭 기능 설명 69
〈표3-9〉 Mind+ 기능 설명 70
〈표3-10〉 코그니메이트 기능 설명 71
〈표3-11〉 KT AI코딩블럭 기능 설명 72
〈표3-12〉 스테커 기능 설명 73
〈표3-13〉 머신러닝포키즈 기능 설명 74
〈표3-14〉 메이크코드 기능 설명 75
〈표3-15〉 픽토블록스 기능 설명 76
〈표3-16〉 AI라이브러리 78
〈표3-17〉 AI프레임워크 79
〈표3-18〉 에디터 특징 비교 91
〈표3-19〉 펌웨어 에디터 특징요약 98
〈표4-1〉 학교급별 산출물의 형태 99
〈표4-2〉 개발환경 요구사항 정리 102
〈표4-3〉 블록코딩 플랫폼 평가표 104
〈표4-4〉 산출물 유형별 해결책 105
〈표4-5〉 AI응용프로그램 에디터 정리 109
〈표4-6〉 블록 언어 요구사항별 기존솔루션과 제안솔루션 비교 113
〈표4-7〉 텍스트 언어 요구사항별 기존솔루션과 제안솔루션 비교 113
〈그림2-1〉 CT문제해결과정 23
〈그림2-2〉 Dan O'Sullivan for original ITP website 24
〈그림2-3〉 전통적인 아두이노의 실습방법 31
〈그림2-4〉 아두이노 기반 교구의 종류 32
〈그림2-5〉 아두이노와 입출력 장치 연결 쉴드 결합 33
〈그림2-6〉 입출력장치 표준화 33
〈그림2-7〉 입출력 장치 회로구성 33
〈그림2-8〉 펌웨어 제어 방식 36
〈그림2-9〉 산출물의 형태 분류 38
〈그림2-10〉 산출물의 수준 분류 39
〈그림2-11〉 중고 피지컬컴퓨팅 성취기준 44
〈그림2-12〉 중고 인공지능 성취기준 45
〈그림3-1〉 A형 AIoT 시스템 아키텍처 49
〈그림3-2〉 B형 AIoT 시스템 아키텍처 50
〈그림3-3〉 C형 AIoT 시스템 아키텍처 51
〈그림3-4〉 아두이노 52
〈그림3-5〉 아두이노 나노 53
〈그림3-6〉 마이크로비트 53
〈그림3-7〉 ESP32 53
〈그림3-8〉 RP Pico 54
〈그림3-9〉 DFRobot 입출력장치 55
〈그림3-10〉 Adafruit 입출력장치 55
〈그림3-11〉 저가 입출력장치 56
〈그림3-12〉 고릴라셀 입출력장치 57
〈그림3-13〉 아두이노 우노 리치실드 57
〈그림3-14〉 아두이노 나노 I/O실드 58
〈그림3-15〉 RP 피코 I/O실드 58
〈그림3-16〉 ESP32 I/O실드 58
〈그림3-17〉 다양한 입출력장치 실드 61
〈그림3-18〉 실드와 입출력장치 61
〈그림3-19〉 초등용 실드 62
〈그림3-20〉 나노 I/O실드 62
〈그림3-21〉 ESP32 I/O실드 62
〈그림3-22〉 Pico I/O실드 62
〈그림3-23〉 마이크로비트 I/O실드 62
〈그림3-24〉 엔트리 인터페이스 65
〈그림3-25〉 엠블럭 인터페이스 66
〈그림3-26〉 확장블럭 디스플레이 67
〈그림3-27〉 확장블럭 출력장치 67
〈그림3-28〉 코드마오 인터페이스 68
〈그림3-29〉 키튼블럭 인터페이스 69
〈그림3-30〉 Mind+ 인터페이스 70
〈그림3-31〉 코그니메이크 인터페이스 71
〈그림3-32〉 KT AI코딩블럭 인터페이스 72
〈그림3-33〉 스태커 인터페이스 73
〈그림3-34〉 머신러닝포키즈 인터페이스 74
〈그림3-36〉 메이크코드 인터페이스 75
〈그림3-37〉 AIoT개발에 필요한 자원 77
〈그림3-38〉 AIoT응용프로그램 개발 아키텍쳐 80
〈그림3-39〉 PC에디터+클라우드AI 81
〈그림3-40〉 클라우드 에디터 81
〈그림3-41〉 터미널PC 81
〈그림3-42〉 IDLE 에디터 82
〈그림3-43〉 파이참 에디터 83
〈그림3-44〉 VS코드 에디터 84
〈그림3-45〉 스파이더 에디터 85
〈그림3-46〉 서브림텍스트 에디터 86
〈그림3-47〉 주피터 노트북 에디터 87
〈그림3-48〉 아나콘다 88
〈그림3-49〉 코렙 에디터 88
〈그림3-50〉 티처블머신 에디터 89
〈그림3-51〉 마이크로파이썬 92
〈그림3-52〉 서킷파이썬 92
〈그림3-53〉 깃허브 93
〈그림3-54〉 16채널 서보모터 드라이버 94
〈그림3-55〉 깃허브의 pca9685라이브러리 검색 결과 94
〈그림3-56〉 PCA9685라이브러리 및 예제 검색 결과 94
〈그림3-57〉 펌웨어 개발 에디터 역할 95
〈그림3-58〉 Mu 에디터 96
〈그림3-59〉 Thonny 에디터 97
〈그림3-60〉 파이참 에디터 98
〈그림3-61〉 Wokwi시뮬레이터 98
〈그림4-1〉 추천 블록코딩 AIoT개발환경 105
〈그림4-2〉 아두이노용 부자실드 106
〈그림4-3〉 아두이노 나노 I/O실드 106
〈그림4-4〉 아두이노 나노 107
〈그림4-5〉 표준화 입출력장치 107
〈그림4-6〉 나노 I/O실드 107
〈그림4-7〉 입출력장치의 연결 107
〈그림4-8〉 코드 작성과 펌웨어 저장 위치 선택 110
〈그림4-9〉 마이크로비트 + 실드 + I/O 111
〈그림4-10〉 ESP32 + 실드 + I/O 111
〈그림4-11〉 RP Pico + 실드 + I/O 111
〈그림4-12〉 RP Pico + I/O내장형 보드 112
〈그림4-13〉 ESP32 + I/O내장형보드 112