2. 2015 자바카페 OPEN SEMINARWho are you?
군수정보체계 기술지원장교
(10~13)
국방 SI 프로젝트 수행(13~현재)
13년 육군 통합 응용체계 개발사업
13년 육군 통합 응용체계 유지보수
12~13년 통합응용체계 기능개선
사업
전자공학?
회로도?
임베디드?
3. 2015 자바카페 OPEN SEMINARIoT?
Internet of Things
정보통신기술 기반으로 모든 사물을 연결해 사람과 사물, 사물
과 사물간에 정보를 교류하고 상호 소통하는 지능형 인프라 및
서비스기술
5. 2015 자바카페 OPEN SEMINARSmart Home (Home Automation)
Building Automation
난방, 냉방, 환기 등 빌딩의 각종 환경요소들을 전자(기)적 으로
제어하는 시스템
빌딩 안, 밖의 전등제어
출입문,CCTV 등 보안제어
화재경보기 등..
6. 2015 자바카페 OPEN SEMINARSmart Home (Home Automation)
Unity System Home Manager(1985)
7. 2015 자바카페 OPEN SEMINARSmart Home (Home Automation)
지금은 ..?
13. 2015 자바카페 OPEN SEMINARSmart Home (Home Automation)
대부분 가정에 홈 네트워크 구축(Wi-Fi)
스마트폰의 보급(어디서든 인터넷 가능!)
하드웨어 비용 감소(네트워크 칩셋, 마이크로 컨트롤러등)
하지만..
+ =
14. 2015 자바카페 OPEN SEMINARDIY Smart Home
복잡하지 않은 하드웨어 제어
다양한 프로그래밍 언어 지원
적당한 성능
풍부한 관련자료
저렴한 비용 = 단돈 5만원! + @..?
15. 2015 자바카페 OPEN SEMINARRaspberry Pi
다양한 OS 지원(대부분 Linux 기반)
적당한 하드웨어 스팩(ARM11 700Mhz / 512Mb Ram)
오픈 하드웨어 플랫폼
다양한 래퍼런스
Java Runtime 구성 가능
16. 2015 자바카페 OPEN SEMINARPi-Home Project
비교적 저렴한 가격으로 스마트 홈 Hub 구성
원격지에서 집 내부의 기기 제어 및 각종 환경 모니터링
무료 SaaS/PasS 및 각종 오픈소스를 이용, S/W 비용 최소화
하드웨어 플랫폼 업그레이드(Pi2) 및 주변기기 확장(arduino) 고려
최소한의 전기/전자 공학 지식(불 안 낼 정도만)을 바탕으로 시작
18. 2015 자바카페 OPEN SEMINARPi-Home Project Architecture
• 센싱된 데이터 전송
• 장치 제어 결과 반환
• 장치 제어
• 모바일/데스크톱 브라우져
• Pi4J
• Spring Boot
Application
• 호스팅 / 상태값 저장 및 푸시서버 역활
• DDNS를 지원하는 공유기
혹은 고정아이피가 있다면..
19. 2015 자바카페 OPEN SEMINARGPIO? Relay?
GPIO(General Purpose Input Output)
사용자가 Runtime에 제어할 수 있는 입/출력 핀들의 모음
Relay
전기적 스위치
???
20. 2015 자바카페 OPEN SEMINARRaspberry Pi Setting - OS
Raspbian
Raspberry Pi + 데비안 리눅스
JDK1.8 / WiringPi 등 각종 라이브러리 내장(Wheezy 버전 기준)
설치방법
https://www.raspberrypi.org/downloads/raspbian/
21. 2015 자바카페 OPEN SEMINARRaspberry Pi Setting - Network
무선 랜카드 || 유선 랜포트를 이용
XX time 공유기라면 쉽게 DDNS 및 포트포워딩 설정가능
22. 2015 자바카페 OPEN SEMINARRaspberry Pi Setting – Hello Pi
pi / raspberry – 기본 ID/PW(접속 후 필히 변경요망)
Putty , XShell 등 SSH 터미널을 이용하여 접속
23. 2015 자바카페 OPEN SEMINARWiring Pi & Pi4J
불행하게도 하드웨어 제어 코드는 대부분 C로 되어있음
LED하나 키는데 몇십~백라인 코딩 필요(#include 난무)
코드가 하드웨어 플랫폼 및 버전에 종속적
Wiring Pi
GPIO 제어를 손쉽게 할 수 있도록 제작된 C 라이브러리
Model B, Model B+, Pi2 등 다양한 버전의 하드웨어 지원
직접 핀을 제어할수 있는 gpio라는 유틸리티 제공
24. 2015 자바카페 OPEN SEMINARWiring Pi & Pi4J
Pi에서 Java사용시 각종 하드웨어 제어에 발생
일반적 I/O 라이브러리가 C언어로 되어있음
이를 개발자가 JNI(Java Native Interface) 랩핑하여 사용
Pi4J
대부분의 I/O작업들을(하드웨어 제어 포함) Java에서 가능
GPIO Pin 제어(핀 상태 확인, 핀 이벤트 핸들링 등)
시리얼 통신 관련 라이브러리 제공
하드웨어 / 네트워크 관련 정보 제공
Model A부터 Pi2까지 모델별 하드웨어 지원
25. 2015 자바카페 OPEN SEMINARPiFace ? PiFace!
8개의 Output/Input Pins , 2개의 Relay, 4개의 스위치 등
제공
납땜 없이 드라이버로 각종 전선 연결
손쉬운 부착 및 과전류 보호회로 내장
Pi4J에서 해당 Device를 구현 완료
26. 2015 자바카페 OPEN SEMINARSpring Boot + Raspberry Pi
Not War, Just Jar
별도로 WAS 설치 불필요(Embed Tomcat / Jetty 사용)
귀찮은 각종 설정들을 자동으로 해줌
+ Raspberry Pi..?(Exclude Pi2)
최초 부팅이 좀 오래 걸림(약 1분)
대용량 서비스는 불가능(동접 100+)
개인용 서버로는 안성맞춤(빠른 개발 사이클, 쉬운배포 등)
Pi4J를 사용 할 경우 하드웨어 제어를 위해 root 권한 필
요
sudo java –jar [spring-boot-output].jar &
27. 2015 자바카페 OPEN SEMINARPi-Home Project (Demo)
사용자가 설정한 온도값 에 맞춰 자동으로 어항 환경 제
어
Client : HTML + Javascript (Firebase 호스팅 이용)
Server : SpringBoot + Raspberry Pi
https://pi-home.firebaseapp.com/ (pi-home@gmail.com / javacafe)
28. 2015 자바카페 OPEN SEMINARPi-Home Project (Demo)
현재 상태값과 시간별 온도값을 Firebase에 저장
30. 2015 자바카페 OPEN SEMINARSpring Boot + Raspberry Pi (Server)
Pom.xml • RelayController.java
31. 2015 자바카페 OPEN SEMINARSpring Boot + Raspberry Pi (Server)
RelayController.java • RelayController.java
• TemperatureController.java
• Etc…
32. 2015 자바카페 OPEN SEMINARDo It yourself
Raspberry Pi + 아이디어 + 약간의 전기(자)적 지식
평소에 생각하던 아이디어를 실현가능
구형 안드로이드 휴대폰 + pi = 방범용 카메라
Relay + 전기장판 = 최신형(?) 원격제어 전기장판
Pi + torrent = NAS
Etc..
고압(100v+)의 전류는 조심히!
기왕이면 Pi2로..(성능이 많이 좋아짐)
33. 2015 자바카페 OPEN SEMINARThank you :D
pjh0410@gmail.com
Sample Source Code
https://github.com/kkk0410/pi-home
Editor's Notes
미국에서 1997년부터 지금까지 설치형 가정용 방범시스템으로
성장해온 중견기업
그동안에 노하우를 바탕으로 모바일환경에서도 외부에서도
가정의 방범상황, 초인종, 집안의 온도 습도등 각종 가정환경을 손쉽게
제어하고 모니터링 할수 있는 Vivint Smart Home을 출시하여 판매중입니다.
스마트홈이라 검색하면 대부분 이 사진을 보셨을겁니다.
Nest Lab이라는 2011년 전직애플엔지니어들이 설립한 회사로서
2014년에 구글에 인수된 회사되었습니다.
현재는 구글의 지주회사인 알파뱃을 구성하는 한 회사입니다.
굉장히 잘(?)생겼는데요. 조그만 크기에 비해서 할수있는일이 굉장히 많습니다.
기본적인 기능은 집안내부의 냉난방기구에 연결하여 집안에 온도/습도를 조절하는 역할을 수행합니다.
이 과정에서 자가학습기능을 이용하여 사용자의 수면 및 외출주기를
각종 센서를 통해 학습하고 이를 바탕으로 효율적으로 냉난방을 하여
전기료도 줄일수 있다고 합니다.
해외기업뿐만 아니라 국내기업에서도 스마트홈에 대한 관심을가지고
열심히 연구개발중입니다.
대표적으로 LG전자에서 출시한 홈챗이 있는데요
이는 스마트 가전기구들을 WI-Fi로 연결하여 대화식으로 가전기구에 명령을 내리고 이를 제어하는 기능입니다.
음..근대 가전기구를 새로사야하는 단점이 있겠네요