- 학습목차
- 교사정보: 김일국, boramcom@daum.net, 010-8175-6075
- 과제물제출처: 다음카페 ( https://cafe.daum.net/human-digital ) 학생 카페가입 후 교사가 정회원처리 후 이용가능.
- 원격지원에 사용할 애니데스크 프로그램 위치: https://anydesk.com/
- 학습목표
디지털 기술을 기반으로 다양한 기기의 융합, 콘텐츠의 융합을 통해
새로운 형태의 제품이나 융합서비스를 창출합니다.
기기/콘텐츠의 기획/설계/제작/운용/시험을 수행 할 수 있는
4차산업혁명의 핵심적인 과정을 습득합니다.
- [목차사용법]깃허브 태그[tag] 클릭, 예) [v1.0.0] <- 아래에서 해당부분 클릭하시면 해당과목으로 이동합니다.
v1.0.0 응용SW기초기술활용 (2001020232_19v4)
- 7월26일~8월03일(50시간) : 혼합형평가
- 평가항목(수준3) : 평가자체크리스트 + 서술형(2교시)
v2.0.0 화면설계 (2001020224_19v5)
- 8월03일~8월11일(48시간) :
- 평가항목 (수준5): 포트폴리오(2교시)
- 교사가 제시한 화면설계서 PPT파일 검토 한 후 카카오오븐으로 화면설계 작업을 하세요(아래 서식 URL).
- https://docs.google.com/presentation/d/1fd-xOKr6f1swAxspflSf9dG-I4K5IXhKcDdFhuOqLFM/edit?usp=sharing
v3.0.0 화면구현 (2001020225_19v5)
- 8월11일~8월19일(48시간) :
- 평가항목(수준3) : 포트폴리오(2교시)
- 위에서 작업한 화면설계를 기준으로 vs code IDE를 이용해서 모바일 화면구현 작업을 하세요(아래 서식 URL).
v4.0.0 프로그래밍언어활용 (2001020231_19v4)
- 8월19일~9월02일(80시간) :
- 평가항목(수준3) : 문제해결시나리오(2교시)
v5.0.0 통합구현 (2001020206_19v5)
- 9월02일~9월09일(40시간) :
- 평가항목(수준5) : 문제해결시나리오(2교시)
v6.0.0 UI구현 (2001020708_19v3)
- 9월09일~10월21일(216시간) :
- 평가항목(수준3) : 포트폴리오(2교시)
- 교사가 제시한 화면설계서 PPT파일 검토 한 후 소스 작업을 하세요(아래 서식 URL). https://docs.google.com/presentation/d/1fd-xOKr6f1swAxspflSf9dG-I4K5IXhKcDdFhuOqLFM/edit?usp=sharing
v7.0.0 SQL활용 (2001020413_19v4)
- 10월21일~10월26일(30시간) : 혼합형
- 평가항목(수준3) : 평가자체크리스트 + 서술형(8교시)
v8.0.0 서버프로그램 구현 (2001020211_19v5)
- 10월27일~11월05일(60시간) :
- 평가항목(수준5) : 포트폴리오(4교시)
v9.0.0 인터페이스 구현 (2001020212_19v5)
- 11월05일~11월12일(40시간) :
- 평가항목(수준5) : 문제해결시나리오(4교시)
v10.0.0 요구사항 확인 (2001020201_19v4)
- 11월12일~11월19일(40시간) :
- 평가항목(수준5) : 평가자체크리스트(4교시)
v11.0.0 애플리케이션 설계 (2001020221_19v5)
- 11월19일~11월26일(40시간) : 혼합형
- 평가항목(수준6) : 평가자체크리스트 + 서술형(4교시)
v12.0.0 애플리케이션 테스트 수행 (2001020227_19v5)
- 11월26일~12월03일(40시간) :
- 평가항목(수준3) : 문제해결시나리오(4교시)
v13.0.0 펌웨어 구현 (2001020314_19v6)
- 12월03일~12월10일(40시간) :
- 평가항목(수준5) : 문제해결시나리오(4교시)
v14.0.0 디바이스 드라이버 구현 (2001020320_19v6)
- 12월10일~12월17일(40시간) :
- 평가항목(수준6) : 문제해결시나리오(4교시)
v15.0.0 임베디드 애플리케이션 구현 (2001020324_19v6)
- 12월17일~12월24일(40시간) :
- 평가항목(수준5) : 포트폴리오(4교시)
v16.0.0 네트워크 프로그래밍 구현 (2001020508_19v3)
- 12월27일~2022년 01월03일(48시간) :
- 평가항목(수준3) : 포트폴리오(4교시)
- UI구현(스프링) -> 자바 웹을 다루는 기술(이병승 길벗)
- 화면구현(자바스크립트) -> 자바스크립트+jQuery 완전정복 스터디1
맛보기(ebook): https://www.epubx.com/book/291
- SQL활용(오라클) -> 오라클로 배우는 데이터베이스 입문(이지훈 이지스퍼블리싱)
강사자료: http://blog.daum.net/web_design/725 (기존 스프링 웹프로젝트를 오라클용으로_1 )
- 프로그램언어활용(자바) -> 열혈자바프로그래밍(윤성우 오렌지미디어)
- 펌웨어구현(C언어+아두이노) -> 혼자공부하는 C언어(서현우 한빛미디어)
책소스: https://www.hanbit.co.kr/support/supplement_list.html (검색어: 혼자 공부하는 C 언어 )
C언어이론 실습은 구름클라우드에서 합니다: https://ide.goorm.io/
문자열처리 ppt자료: https://web.yonsei.ac.kr/hgjung/Lectures/GEN131/%EC%A0%9C12%EC%9E%A5%20%EB%AC%B8%EC%9E%90%EC%99%80%20%EB%AC%B8%EC%9E%90%EC%97%B4.pdf
- 디바이스드라이버구현(아두이노) -> 아두이노를 활용한 임베디드 시스템 설계(류지열 부경대학교 출판부)
책소개 : http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791187263180&orderClick=&Kc=
- 만약 코로나상황때문에 실습을 하지 못한다면, 시뮬레이션으로 작동 학습 : https://www.tinkercad.com/
- 이전 13번째 과목의 프리징은 시뮬레이션 작동이 않됨. https://sourceforge.net/projects/fritzing-portable/
임베디드 프로그램으로 할 수 있는 작업 예: https://www.youtube.com/watch?v=WayCRcelbTU 동영상 2분06초 부분에 내용 있음.
안드로이드 스튜디오 + SDK 구글드라이브에서 다운로드: https://drive.google.com/file/d/17y9mVdJ6Isgom1AQKpoFi5WIPQkDvWN4/view?usp=sharing
예제소스: download this
라즈베리 GPIO사용 하드웨어 제어: GCC컴파일 + wiringPi 라이브러리 사용 / http://blog.daum.net/ejleep1/search/wiringPi
참고자료: http://blog.naver.com/PostSearchList.nhn?blogId=tipsware&categoryNo=0&SearchText=%EB%9D%BC%EC%A6%88%EB%B2%A0%EB%A6%AC+%ED%8C%8C%EC%9D%B4+%EC%8B%A4%EC%8A%B5&orderBy=date&term=specific&startDate=2017-05-16&endDate=2017-05-23&range=all&cpage=2
라즈베리 설치 참고자료: https://blog.xcoda.net/82 / 라즈베리 백업 참고자료: https://withcoding.com/99
라즈베리안 설치에 사용되는 Etcher 프로그램 다운로드 위치: https://www.balena.io/etcher/
라즈베리안 다운로드 위치: https://www.raspberrypi.org/downloads/raspbian/
한글 입력기가 나오지않는 버그처리: 터미널에서 im-config -n fcitx 후 reboot(기술참고: http://blog.naver.com/PostView.nhn?blogId=linuxni&logNo=221497654453 )
라즈베리 바탕화면 Menu > Preferences > Raspberry Pi Configuration > Interfaces를 선택 SSH, VNC 활성화 후 학생PC에서 접속해 보기. PC에 VNC뷰어설치 https://www.realvnc.com/download/viewer/
- 아두이노(펌웨어구현과목) -> NCS 아두이노를 이용한 펌웨어 개발 실무(오상균, 이명희, 권민주:광문각)
예제소스: http://www.kwangmoonkag.co.kr/sub3/sub3_1.html?target=Board_List&DB=sub3_1&Mode=View&Num=852&page=1&S=S&val=0&Word=&Board_TYPE=&PHPSESSID=03901ac7ddf268e8562dfba0413f5f1a
실습에 사용될 NODE MCU ESP8266보드 확인: http://makeshare.org/bbs/board.php?bo_table=project&wr_id=201
CP210x USB to UART Bridge 드라이버 설치하기(윈7용): http://www.iamamaker.kr/ko/tutorials/cp210x-usb-to-uart-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0/
윈7용 UART드라이버 다운로드: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
- UART드라이버 윈10용 다운로드 https://github.com/miniplugin/human/blob/v14.0.0/git_img/CP210x_wind10.zip
- UART드라이버 윈7용 다운로드 https://github.com/miniplugin/human/blob/v14.0.0/git_img/CP210x_win7.zip
아두이노 IDE(통합개발환경) 설치 파일 다운로드: https://www.arduino.cc/
LED_BUILTIN 깜박이기: https://developer.ibm.com/kr/cloud/internet-of-things/2017/07/30/esp8266-iot-arduino-ide-nodemcu-basic/
참고사항 NODE MCU보드 강좌: https://blog.naver.com/PostSearchList.nhn?SearchText=NodeMCU+%EA%B0%95%EC%A2%8C&blogId=roboholic84
강사자료(아두이노메가2560): http://blog.daum.net/_blog/search.do?coll_range=1&query1=%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8&searchtype=%24%7Bsearchtype%7D&page=%2Fsearch%2Fmy%2FsearchBlog.vm&frombn=2&searchpage=&sort=&blogid=0FnMj&articleno=&recommend=N&sortType=recency&enddate=&begindate=&period=&category=0&target=all
- 2020.03.04. 전자책 출간 / 2020.02.21. 종이책 출간
- 무작정 따라하기 챕터3강의안(2015출판,안드로이드스튜디오2.3버전) : https://slidesplayer.org/slide/14087618/
- 속도때문에 SDK포함 버전4.0.1구글클라우드다운로드: https://drive.google.com/file/d/1_AAOcTVimH6FXTkkaofR_trXXrdEq2y3/view?usp=sharing
- 최신버전 공식배포 사이트: https://developer.android.com/studio?hl=ko
- 저자카페: https://cafe.naver.com/techtown
- 저자깃: https://github.com/mike-jung/DoItAndroid
- 유투브채널: https://www.youtube.com/playlist?list=PLG7te9eYUi7sjJzJR2i5m6wv-X_7K2pVE
- VT-x 설정확인: https://www.grc.com/securable.htm 프로그램
- VT-x 설정이enabled 정상인데도 아래와 같은 에러 메시지 보일때,
- HAXM device is not found in Windows 7 에러 상황시 현재 설치된v7.5.6 에서 에러가 발생 되었음.
- 처리는 v7.5.1 로 설치 후 OK. https://github.com/intel/haxm/releases
- 위 7.5.1버전 바로download this
- 주의) 윈도우사용자계정이름이 한글이면, AVD애뮬레이터 실행시 에러가 발생 됩니다. 계정이름을 영문으로 변경하셔야 합니다.
- NCS학습모듈 과 참고자료
참고자료: https://ncs.go.kr/unity/th03/ncsSearchMain.do :/정보통신/정보기술/정보기술개발
참고자료: 템플릿:https://dist.springsource.com/release/STS/help/org.springframework.templates.mvc-3.2.2.zip
참고자료: 위 템플릿 동시접속 문제로 보이지 않을때 다른 주소: http://timespace12.dothome.co.kr/org.springframework.templates.mvc-3.2.2.zip
- 기본브라우저: 크롬
- 유스케이스 실습자료: download this
- 교사PC화면공유SW설치(코로나19상황이 아닐때): https://drive.google.com/file/d/1H5efmROpNFm2zY33RgSx5jsETLI795Ga/view?usp=sharing
- 원격지원에 사용할 팀뷰어 프로그램 구글 드라이브 위치 입니다. https://drive.google.com/file/d/1NSj_qpwT35kA3ZUVKiZD9C7M6vTl2rgK/view?usp=sharing
- UI디자인 & Development개발 가이드 샘플: https://drive.google.com/file/d/1JsAIwUItL2phlsXEwQ7yK-BOA7mbizJ-/view
- 학생작업샘플다운로드: https://drive.google.com/file/d/1TWohmhcdzOqY0P9mX1SmfmXVYcZTnrJo/view?usp=sharing
- 화면구현 프로젝트 관리자단 home.html 디자인시안 : 보기
- 변경기준: 자리바꾸기 공개용프로그램-주최자:교사(아래)
- 자리바꾸기 공개용프로그램 배포처 확인 링크
- 자리 이동 후 작업내용(git소스) 초기화 방법(아래)
- 이클립스에서 다른 학생의 기존 프로젝트 삭제
- 작업폴더 터미널에서 깃저장소 복제: git clone 본인 깃주소
- 이클립스에서 작업폴더에 프로젝트 임포트(import)
- 이클립스 메뉴에서 Window>Preferences>Team>Git>Configuration 에서 결과확인
- 이전과 동일하게 학생 본인 작업 시작
- 위 챠트소스에 적용된 내역은 아래와 같습니다.
- 챠트소스URL: https://www.chartjs.org/
- 라이센스정보: https://www.chartjs.org/docs/latest/notes/license.html (MIT라이센스)
- 막대챠트: https://www.chartjs.org/docs/latest/charts/bar.html
- 레이다챠트 : https://www.chartjs.org/docs/latest/charts/radar.html
-
- 이클립스 (egov.zip) 다운로드 위치 https://drive.google.com/file/d/1BLj4XX9_ADx8NVZUZjcHxyjNJ6ZlEf_d/view?usp=sharing
- 주) 반드시 C:\egov 에 압축을 풀어야 합니다.
- egov3.10 개발환경 공식 배포위치: https://www.egovframe.go.kr/home/sub.do?menuNo=41
-
- wamp 3.2.x버전(마리아DB/Mysql 포함) 다운로드 위치 https://drive.google.com/file/d/1nlTRbcWLUhwinNScZC3Ahijy3KNUXBbg/view?usp=sharing
- 주1), mysql root암호 apmsetup 으로 추가해 주셔야 합나다.
1. 윈amp 작업표시줄의 아이콘 클릭 > phpMyAdmin > 로그인 후 >
mysql 데이터베이스 user 테이블 선택 > root 선택 > 수정버튼 클릭
> authentication_string 필드 타입 password 선택 후 apmsetup 입력 후 실행 버튼 클릭
2. phpMyadmin 홈버튼 클릭 > 사용자 계정 탭메뉴 클릭 > 하단에 reload privileges 링크 클릭
3. 로그아웃 후 로그인 (root / apmsetup) 확인
- 주2), 한글 입출력이 가능하게 my.ini 하단에 추가해 주셔야 합니다.
1. 윈amp 작업표시줄의 아이콘 클릭 > MySQL > my.ini 클릭 후 제일 하단에 아래 내용 추가
[client]
default-character-set=utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server = utf8
-
주3) 한글 입출력 적용하시려면, 만세아이콘 정지 후 재시작 하시면 한글 입출력 적용이 됩니다.
-
- 워크벤치(mysql용) 다운로드 위치 https://drive.google.com/file/d/1hypGkz74PUzhdkvS6JrknbjZ7jUnTHGd/view?usp=sharing
-
- 안드로이드스튜디오5.x 다운로드 위치 https://drive.google.com/file/d/1X9wu2DCLJBbyuZ6BsIxV4U7wLsn-t6WW/view?usp=sharing
-
주) 반드시 C:\Android 에 압축을 풀어야 합니다.
-
주1) 오라클서버 설치하시기 전 이클립스에서 톰캣을 실행(자동포트 8080)하신 상태에서 설치하시면, 오라클서버 포트 바꾸는 수고를 하지 않아도 됩니다.
-
주2) 오라클 서버 설치시 포트번호를 9000 으로 잡아 주시면 됩니다. 또는 https://github.com/miniplugin/human/tree/v7.0.0 하단의 참고자료출처 부분에 해결책이 있습니다.
-
- sql디벨러퍼(oracle용) 다운로드 위치 https://drive.google.com/file/d/1n7jy85OeI06ipmDjKWFYxaYpTJY16lj-/view?usp=sharing
-
- 공통 주의) 여러 학생들 git 소스 에 .gitignore 에 root-context.xml와 servlet-context.xml 파일을 제외 시키는 코드가 있어서 누락된 파일이 존재 할 수 있습니다.
-
Ps. 온라이 제안요청서 확인 https://www.smu.ac.kr/flexer/index.jsp?ftype=hwp&attachNo=467744
-
Ps. 원격지원에 사용할 팀뷰어 프로그램 구글 드라이브 위치 입니다. https://drive.google.com/file/d/1NSj_qpwT35kA3ZUVKiZD9C7M6vTl2rgK/view?usp=sharing
- 참조: https://m.blog.naver.com/PostView.nhn?blogId=aprilproj&logNo=220794261348&proxyReferer=https:%2F%2Fwww.google.com%2F
- 조건, 단 Mysql(한글설정)을 사용하기 위한 wamp 설치에서, mysql(3308로 변경)은 실행이 않되고, MariaDB(3306로 변경)를 사용하셔야 합니다. 상단에서 작업하는 스프링 프로젝트 2가지는 Mysql 과 Maria DB가 소스 수정없이 동일한 결과가 나옵니다.
- 교사용 이러닝 가이드: https://sites.google.com/ajou.ac.kr/bbguide/%EA%B5%90%EC%88%98%EC%9A%A9-%EA%B0%80%EC%9D%B4%EB%93%9C/4-2-%EC%8B%9C%ED%97%98/4-2-5-zoom-%ED%99%9C%EC%9A%A9-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EC%8B%9C%ED%97%98-%EA%B0%90%EB%8F%85
- 오픈채팅방 주소 : https://open.kakao.com/o/gCdXuNEc
- IoT 실습 교육으로 온라인으로 아두이노 시뮬레이션이 가능한
- 싱커캐드 사이트(캐드로 유명한 오토데스크사가 만든)를 이용해서 온라인으로 강의할 예정 입니다.
- 아두이노 회로 구성 확인: https://cocoon1787.tistory.com/19
-
- 아두이노로 LED 회로 구성 후 C언어로 깜빡이게 시뮬레이션(아래)
- 실행결과: https://www.tinkercad.com/things/f7sRG8rtN6Z
-
- 외부버튼을 이용해서 전압 입력값을 시리얼모니터에 출력(아래)
- 실행결과: https://www.tinkercad.com/things/hp5aJtBgnmq
-
- 아날로그 핀을 사용해서 LED에 그라디언트 효과 구현(아래)
- 실행결과: https://www.tinkercad.com/things/0mo4do0dWCD
-
- LCD패널에 채팅창 처럼 입력항목 출력하기(아래)
- 실행결과: https://www.tinkercad.com/things/i5IDDA9hm61
-
- 외부 시리얼 입력을 아스키코드값으로 변경후 보드를 제어(아래)
- 실행결과: https://www.tinkercad.com/things/6B6Am5S9yAl
-
- 스피커를 내장 tone명령어로 8개음을 음표단위로 출력(아래)
- 실행결과: https://www.tinkercad.com/things/fy1FZkXkP4j
-
- 03 작업물에 외부 가변저항 센서를 추가 해서 LED 그라디언트 구현(아래)
- 실행결과: https://www.tinkercad.com/things/cR8E2Rwxou9
-
- 04 작업물 LCD출력에 온도센서 추가 해서 온도 출력하기
- 실행결과: https://www.tinkercad.com/things/4aGhuuVPlaq
-
- 적외선 센서를 이용해서 LED제어하기(아래)
-
- 외부 라이브러리를 이용해서 스트립램프에 색상을 흐르게 하기(아래)
-
- 7세그먼트를 이용하여 시리얼통신으로 0부터 9까지 숫자를 출력하기(아래)
-
실행결과: https://www.tinkercad.com/things/auCCur63WSX-117segment
-
- 서보모터를 이용하여 시리얼통신으로 구동, 중지 기능 구현하기(아래)
-
평가문제도 위 시뮬레이션 내용을 기준으로 출제 하도록 하겠습니다
-
[학습]노드js기반 Ajax로 앱 제어하기 구름IDE로 진행 예정입니다. 작업순서는 아래와 같습니다. 노드js기본 설명 후 다 같이 하겠습니다.
작업순서
1. 구름ide 익스프레스 컨테이너 생성 후 모듈 설치 npm install multiline
2. 소스 상단에 모듈 임포트 var multiline = require('multiline');
3. const template = multiline(()=>{ /* html코드 집어넣기 */});
app.get('/on', function(req, res) {
res.send("전등ON");
});
app.get('/off', function(req, res) {
res.send("전등OFF");
});
app.get('/human', function(req, res) {
//res.setHeader('Content-type','text/html');
//res.send(Buffer.from(template));
res.send(template);
});
- 참고: https://m.blog.naver.com/PostView.nhn?blogId=sdj04048&logNo=221327558775&proxyReferer=https:%2F%2Fwww.google.com%2F
- UI to IoT 예,(19유로) : https://www.creatingo.com/themes-templates-list.html -> http://symbiot4.creatingo.com/
- 구름IDE에서 노드js 앱 실행시 Mysql접근에러가 발생 됩니다.(아래) Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support aut hentication protocol requested by server
- 해결책은 아래와 같습니다. 구름ide 터미널오 접속후
- service mysql start; //우분투 리눅스에서 mysql서버 시작 부터 합니다.
- service mysql status; //mysql 서버 버전 및 상태 확인
- mysql -uroot -p //엔터 후 암호 apmsetup을 입력 합니다.
- use mysql;
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'apmsetup'
- FLUSH PRIVILEGES;
- 실습용 디비 및 테이블 생성
- create database nodejs default character set utf8;
CREATE TABLE users (
id char(255) PRIMARY KEY,
name char(255) DEFAULT NULL,
age int DEFAULT NULL,
password char(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- npm install //실행목적 node_modules 추가
- Ps. 구름IDE에서 초기 mysql설치 후 root 암호 변경(아래 -p 옆은 초기암호가 없기 때문에 공백으로
- apt-get update -> apt-get install mysql-server 로 설치 한다.
- mysqladmin -u root -p password 'apmsetup' //엔터 후 다음 입력 창에 apmsetup 한번더 입력
- git init
- git add .
- git commit -m "first commit"
- git branch -M master
- git remote add origin https://github.com/miniplugin/NodejsTest.git
- git push -u origin master
- 개발PC에서 깃으로 업로드 후 구름IDE에서 최신 소스를 내려 받을 때는 구름IDE터미널에서 git pull 합니다.
- git fetch
- git reset --hard origin/master
- 결과는 root@goorm:/workspace/iot_c/src(master)# 이렇게 마스터로 나오면 됩니다.