교육기간(시작일~종료일) | 수업시간 | 환급여부 | 수강료 | 환급금액우선대상(대기업) | 신청하기 |
---|
![]() 교육개요 사물인터넷의 핵심은 사물들과의 연동을 통해서 사물 노드에서 처리되고 혹은 명령을 내릴 수 있는 통합적으로 관리할 수 있는 서비스를 통해서 제공하는 것입니다. 최근 클라우드와 빅데이터 등의 서비스의 등장으로 이런 서비스를 데스크탑과 모바일 및 임베디드 기기에서 일관되게 포괄적으로 개발할 필요성이 커지고 있습니다. 사물인터넷을 위한 통신 서비스를 위해서 RESTFull 기반의 Open API와 사용자 경험을 제공하는 Front-end와 일관된 Back-end를 결합하기 위해서 MongoDB, Express.js, React.js, Node.js를 결합한 MERN Stack 개발이 화두로 등장하고 있습니다. 본 과정은 라즈베리 파이와 node.js(MERN Stack)를 활용하여 하드웨어와 소프트웨어가 융합된 다양한 IoT 서비스를 직접 구현해보는 과정입니다. 라즈베리 파이에 전자부품과 응용소프트웨어를 연결하여 다양한 IoT 서비스 기능을 구현해 봄으로써 자신만의 IoT 서비스를 구현할 수 있는 역량을 키울 수 있습니다. |
|
![]() 교육대상 • IoT 서비스를 위한 자바스크립트 프로그래밍을 경험해 보고 사람 • 라즈베리 파이와 센서의 연결에 대해 알고 싶은 개발자 • node.js와 MERN 스택에 대해 배우고 싶은 개발자 • IoT 프로젝트 수행을 앞둔 개발자 • IoT를 통해 소프트웨어와 하드웨어가 결합된 서비스를 구현하고자 하는 개발자 • Front-End와 Back-end에서 JavaScript로 서버 구축에서 하드웨어 제어까지 구현하고자 하는 개발자 • 오픈소스 하드웨어 또는 IoT에 관심 있는 개발자 • 최신 웹 개발 기술 트렌드를 경험하고자 하는 개발자 |
|
![]() 특이사항 |
1
Day
Module 1 : 사물인터넷과 라즈베리 파이
· 제4차 산업혁명과 사물 인터넷
1) 네트워크와 스마트 디바이스
2) 오픈 소스 하드웨어와 라즈베리 파이
· 라즈베리 파이를 위한 준비
1) 라즈베리 파이를 위한 환경 설정
2) 디스크 이미지의 준비
· 라즈베리 파이의 설정
1) 리눅스의 구조
2) 라즈베리 사용을 위한 리눅스 기본 명령어
Module 2 : 리눅스와 라즈베리 파이의 사용
· vi 에디터
· 라즈베리 파이의 개발환경과 GCC
· 소스코드 빌드 과정과 GCC의 옵션
· 빌드 자동화와 make의 사용
· 디버깅과 GDB의 사용 리눅스에서 라이브러리 만들기
Module 3 : 라즈베리 파이의 GPIO Ⅰ
· 하드웨어 스케치와 fritzing
· 라즈베리 파이와 LED의 연결
· 전자공학의 기본 소자와 저항
· GPIO를 위한 sys 파일과 echo 명령어
· wiringPi 라이브러리
· GPIO 명령어와 wiringPi의 핀 번호
· 스위치의 원리와 택(Tact) 스위치 사용을 위한 프로그래밍
2
Day
Module 4 : 라즈베리 파이의 GPIO Ⅱ
· 스피커와 피에조 부저의 연결
1) 소리의 원리와 주파수
2) 사운드 연주를 위한 프로그래밍
· 센서와 라즈베리 파이의 사용
1) 조도 센서와 회로 구성
2) 조도 센서의 사용을 위한 프로그래밍
· 모터의 종류와 DC 모터의 사용
1) 트랜지스터의 원리와 스위치 작용
2) 모터 사용을 위한 프로그래밍
· 7세그먼트와 숫자의 표시
1) IC와 74 시리즈
2) 7세그먼트의 사용을 위한 프로그래밍
Module 5 : HTML5와 자바스크립트
· 사물인터넷 서비스 분석
· HTML5의 구성과 구조
· CSS3 UI 프레임워크
· 자바스크립트의 기초와 자바스크립트 프로그래밍
· jQuery의 기본과 객체의 접근
Module 6 : MERN/MEAN 스택과 node.js
· node.js의 개요와 설치 그리고 npm
· Event-driven 서버 프로그래밍
· HTTP 메시지의 구조와 상태 메시지
· GET 메소드의 파싱과 모듈의 분리
· 요청 핸들러와 넌블로깅
· 뷰로직과 POST 메시지의 처리
· 이벤트 처리와 이벤트 핸들러
· 이벤트의 전파
3
Day
Moduel 7 : node.js와 라즈베리 파이의 GPIO 제어
· node.js를 이용한 GPIO의 제어
· node.js를 위한 회로의 구성
· onoff 모듈을 이용한 LED 제어
· pigpio 모듈과 설치
· PWM 신호와 led로 펄스 내보내기
· 스위치와 인터럽트 핸들링
· 모터의 종류와 서브 모터의 연결
· 초음파 센서와 서브 모터의 제어
Module 8 : node.js 모듈 만들기
· node.js의 Addon
· C언어와 node.js와의 바인딩
· 사용자 정의 패키지 만들기
· 사운드의 출력를 위한 패키지 제작
Module 9 : node.js와 express.js
· 빠른 미들웨어 개발 express.js
1) express.js 와 express generator
2) package.json
· PUG와 ejs를 이용한 웹 서비스의 개발
1) PUG의 기본 문법과 node.js와의 연동
2) 웹을 통한 PGIO 제어를 위한 회로 구성
3) ejs의 기본 문법과 ejs를 이용한 화면의 구성
4) LED 제어를 위한 ejs의 사용
4
Day
Module 10 : socket.io를 이용한 통신
· 웹 통신과 socket.io의 개요
· socket.io를 이용한 채팅 프로그래밍
· 채팅 클라이언트와 서버의 제작
· socket.io를 이용한 GPIO의 제어
· socket.io를 이용한 버튼의 제어
· LED를 제어하는 클라이언트와 서버
Module 11 : node.js와 클라우드 서비스
· 클라우드 서비스와 MS 윈도 Azure
· IoT Hub의 생성과 장치 등록
· I2C의 사용을 위한 라즈베리 파이의 설정
· Azure를 사용하기 위한 회로의 구성
· Azure IoT 허브와 통신
Module 12 : node.js와 react.js
· react.js의 개요
· JSX와 컴포넌트 프로그래밍
· react의 라이프 사이클 API
· VirtualDom과 CSS처리
· react.js를 이용한 MVVM 개발
· react.js와의 사용을 위한 회로의 구성
· 원격 접속을 통한 데이터의 확인
5
Day
Module 13 : node.js와 mongoDB
· NonSQL과 mongoDB의 개요
· mongoDB의 기본 API와 CRUD
· node.js를 위한 mongoDB의 설치
· node.js와 MongoDB의 연동
· mongoDB에서 데이터 가져오기
· node.js에서 momgoDB로 데이터 저장
Module 14 : node.js와 사물인터넷 통신
· 라즈베리 파이로 IoT 서비스 구현하기
· 사물인터넷을 위한 통신 프로토콜 : MQTT, CoAP, MXPP
· MQTT의 사용을 위한 Mosquitto
· 실시간 온도 센서 전송을 위한 회로의 구성
· MQTT를 이용한 실시간 데이터 전송
· socket.io를 이용한 클라이언트와 서버 간의 통신 프로그래밍
· IBM IoT 클라우드 : Watson과 Raspberry Pi