자바로 구현하는 사물인터넷 프로젝트!

이 책은 기존의 라즈베리 파이 활용서와 달리 사물인터넷이라는 관점에서 전자부품과 자바로 사물을 만드는 방법과 인터넷 프로토콜을 통해 사물과 사람, 사물과 사물간에 상호 연동하는 방법을 중점적으로 설명한다.

이 책에서는 기본적인 전자부품뿐만 아니라 자바 8 SE 임베디드에 대한 실행 환경 구축, 통합 개발 환경을 이용한 개발, Device I/O API, CoAP과 MQTT를 이용한 통신 방법을 상세히 설명하고 있다. 특히 그동안의 개발 경험을 토대로 한 자동 제어 예제를 통해 사물인터넷에 대한 이해를 돕고 제품 개발의 기초를 알려준다.

★ 이 책에서 다루는 내용 ★ - 사물인터넷의 유사 기술 및 시장 동향 - 사물인터넷 프로토콜 및 자바 임베디드 솔루션 - 자바 8 SE 임베디드 패키징 - 넷빈즈를 이용한 임베디드 자바 개발 환경 구축 - LED, 가변 저항, 버튼, ADC, DAC 등 전자부품에 대한 설명 - OpenJDK의 Device I/O API를 이용한 센서 및 액추에이터 제어 - CoAP 프로토콜 소개 및 리소스, 감시, 탐색에 대한 구현 방법 - MQTT 프로토콜 및 JMS 연동과 MQTT 웹소켓 구현

 

상세 이미지

상세 이미지

양성일

16년간 자바 프로그래머로 기업 솔루션, 홈 네트워크, 전자상거래, 검색엔진, 보안, 스마트폰 앱, 빌딩 자동 제어, 에너지 관리 등 다양한 분야의 소프트웨어를 개발했다. 특히 2001년에 OSGi 프레임워크를 기반으로 홈 네트워크 솔루션 개발에 참여했고 2010년 11월에 ADK, 아두이노 보드를 기반으로 한 오픈소스 하드웨어 플랫폼을 개발했으며 관련 지식과 정보를 여러 사람들과 공유하기 위한 하드로이드(http://www.hardroid.net)를 운영하면서 메이커(Maker)로 활동하고 있다. 현재는 상명대학교 그린에너지 연구소에서 빌딩 자동제어와 에너지 관리에 대해 연구하고 있다.

  • ▣ 01장: 사물인터넷과의 만남
    • 1-1 사물인터넷 소개
      • 사물인터넷이란?
        • 유사 기술
        • 사물의 의인화
        • 센서
        • 통신
        • 액추에이터
      • 임베디드 시스템
        • 임베디드 시스템이란?
        • 임베디드 시스템의 종류
      • 사물인터넷 동향
        • 스레드 그룹(Thread Group)
        • 올신 얼라이언스
        • 오픈 인터커넥트 컨소시엄
        • 산업 인터넷 컨소시엄
        • 국제 인터넷 표준화 기구
        • 블루투스 SIG
      • 사물인터넷 프로토콜 소개
        • 6LowPAN
        • DTLS
        • CoAP
        • MQTT
        • XMPP
        • AMQP
        • DDS
        • LWM2M
        • IEEE 802.15.4
        • NFC
        • ANT
        • ZigBee
        • 블루투스
        • BLE
    • 1-2 자바 임베디드
      • 자바 ME 임베디드
        • GCF
        • MEEP 8
        • Device I/O API
      • 자바 SE 임베디드
        • 자바 가상 머신
        • 자바 SE 임베디드 프로파일
      • 자바 임베디드 스위트
      • 그 밖의 자바 임베디드 솔루션
        • 임베디드를 위한 이벤트 프로세싱
        • 자바 카드
        • 안드로이드
      •  
  • ▣ 02장: 개발 환경 만들기
    • 2-1 오픈소스 하드웨어 플랫폼
      • 오픈소스 하드웨어 플랫폼
        • 아두이노
        • 라즈베리 파이
        • 비글보드
      • 자바의 라즈베리 파이 지원
    • 2-2 라즈베리 파이에 자바 설치하기
      • 호스트 컴퓨터에 자바 SE 임베디드 설치
        • 다운로드
        • 압축 풀기
        • 디렉터리 구조
        • 환경변수 설정
      • 자바 SE 임베디드 패키징
        • jrecreate 명령어
        • 도움말 옵션(--help, -h)
        • 디렉터리 지정 옵션(--dest, -d)
        • 자바 가상 머신 옵션(-vm)
        • 프로파일 옵션(--profile, -p)
        • 확장 옵션(--extension, -x)
        • 디버그 옵션(--debug, -g)
        • 그 밖의 옵션
      • 자바 실행 환경 만들기
        • 예제 설명 및 라이브러리 선택
        • 프로파일 선택
        • 자바 실행 환경 만들기
      • 네트워크 설정 및 자바 실행 환경 구성
        • 라즈베리 파이의 고정 IP 설정
        • 라즈베리 파이의 SSH 활성화
        • PUTTY 설치
        • WinSCP 설치
        • 자바 실행 환경 설치
    • 2-3 개발 환경 구축
      • 통합 개발 환경 설치
        • 넷빈즈 설치
        • 자바 실행 환경 설정
      • 애플리케이션 개발 및 디버깅
        • 프로젝트 생성 및 코드 작성
        • 실행 및 디버깅
      •  
  • ▣ 03장: 사물 만들기
    • 3-1 준비하기
      • 하드웨어 플랫폼
        • 자동 제어
        • 사물 만들기
        • 라즈베리 파이
        • ARM
        • GPIO
      • 전자 부품
        • 전압과 전류
        • 저항
        • LED(Light Emitting Diode)
        • 브레드보드
        • 점퍼선
    • 3-2 Device I/O
      • Device I/O 설치
        • 소스코드 다운로드
        • 자바 SE 임베디드에 설치
        • Device IO를 호스트 PC에 복사
        • Device IO 라이브러리를 클래스 경로에 추가
        • Device IO 설정 파일 자동 복사 설정
        • Hello World(LED 깜박이기)
      • Device I/O 살펴보기
        • Device I/O 아키텍처
        • Device I/O API
    • 3-3 GPIO 다루기
      • 7 세그먼트 표시하기
      • 버튼 입력 받기
      • 푸시 버튼의 이벤트 수신
        • 이벤트 모델
    • 3-4 아날로그 입출력
      • SPI 통신
      • 라즈베리 파이의 SPI 활성화
      • MCP 49X1 소개
      • MCP 4911을 이용한 LED 밝기 조정
      • MCP3002 소개
      • 가변 저항 값 읽기
      • 폴링
    • 3-5 UART 통신
      • UART
      • 라즈베리 파이의 UART 설정 변경
      • 아두이노 통신
        • UART 연결
        • 아두이노 스케치 개발
        • 에코 클라이언트 개발
      • PC와의 연결
        • USB 시리얼 케이블
        • 드라이버 설치
        • USB 시리얼 케이블 연결
        • 에코 서버 개발
        • 예제 실행
    • 3-6 단순한 자동 제어 만들기
      • 회로도
      • 관제점 관리자
        • 관제점
        • DI(Digital Input) 관제점
        • DO(Digital Output) 관제점
        • AI(Analog Input) 관제점
        • AO(Analog Output) 관제점
        • 관제점 관리자
        • 명령어 처리기
      • UART CLI 만들기
        • UART 콘솔
        • 프로그램 실행
      •  
  • ▣ 04장: 사물과 대화하기
    • 4-1 CoAP을 이용해 대화하기
      • CoAP란?
        • CoAP 구조
        • 사물과 대화하기
        • CaAP 메시지
        • CoAP 요청과 응답
        • CoAP의 URI
        • CoAP 메서드
      • Californium
        • Californium 클래스
        • 넷빈즈 프로젝트에 Californium 라이브러리 추가
        • 클라이언트 프로젝트 생성
      • Hello CoAP
        • CoAP 서버 구현
        • HelloWorld CoAP 클라이언트 구현
        • HelloWorld CoAP 실행
      • 비동기 호출
      • 리소스 감시
        • CoAP 서버 예제에 감시 기능 지원 추가
        • 감시 CoAP 클라이언트
        • 감시 실행
      • 리소스 탐색
        • 리소스 탐색 클라이언트
        • 탐색 실행
        • 자동 제어 CoAP 서버 만들기
        • JSONP
        • 관제점 리소스
        • 관제점 CoAP 서버
        • CoAP 서버 실행
        • CoAP 테스트를 위한 Copper
        • Copper 설치
        • 자동제어 CoAP 서버 실행
        • Copper를 통한 자동 제어 실행
    • 4-2 MQTT 비동기 메시징 시스템 활용
      • MQTT란?
        • MQTT 네트워크 구조
        • 통신을 위한 단계
        • 토픽
        • 필터링
        • QoS 및 보안
      • ActiveMQ
        • ActiveMQ 설치
        • MQTT 활성화
        • ActiveMQ 실행
      • Paho
        • Paho 클래스
      • Hello MQTT
        • 라이브러리 추가
        • 전송 클라이언트(Publisher)
        • 수신 클라이언트(Subscriber)
        • 실행
      • 토픽 필터링을 이용한 전송자 구분
        • 토픽 정의
        • 에코 클라이언트
        • 전송 클라이언트
        • 에코 실행
      • 자동 제어 서버의 MQTT CLI 만들기
        • MQTT 명령어 처리기
        • MQTT 콘솔
        • 빅데이터 처리기
        • MQTT CLI 실행
      • JMS와의 연동
        • ActiveMQ의 JMS 활성화
        • JMS와 MQTT 간 토픽 및 메시지 매핑
        • JMS 콘솔
        • 프로그램 실행
      • HTML5의 웹 소켓을 이용한 연동
        • ActiveMQ의 웹 소켓 지원
        • Paho 자바스크립트 파일 다운로드
        • 웹소켓을 이용한 Paho 자바스크립트 클래스
        • 웹 콘솔 사용자 인터페이스
        • AngularJS
        • 웹 클라이언트 프로젝트 생성
        • 뷰(View)
        • 컨트롤러(Controller)
        • 구글 크롬 설치
        • 프로그램 실행

예제 코드 관련 깃허브 페이지

관련 글


엮인 글

엮인 글 주소: http://wikibook.co.kr/java-of-things/trackback/