서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
사물인터넷을 위한 리눅스 프로그래밍 with 라즈베리 파이(전면개정판) (전면개정판)
저자 : 서영진
출판사 : 제이펍
출판년 : 2020
ISBN : 9791188621743
책소개
라즈베리 파이로 배우는 사물인터넷과 리눅스 프로그래밍!
제4차 산업혁명을 위한 최신 내용을 더한 개정판
『사물인터넷을 위한 리눅스 프로그래밍 with 라즈베리 파이』는 라즈베리 파이 같은 오픈 소스 하드웨어와 소프트웨어를 융합한 IoT 제품을 개발할 수 있도록 GPIO를 이용한 기본적인 하드웨어 개발에서부터 리눅스 프로그래밍, 멀티미디어 프로그래밍, 3D 프로그래밍, 인공지능(딥러닝), 리눅스 커널/디바이스 프로그래밍까지 다양한 내용을 담고 있다. 또한 여러 단계에 걸쳐 리눅스 프로그래밍에 대해 학습하고, 이를 사물인터넷 실무에 곧바로 적용할 수 있도록 집필하였으며, 내용마다 그림과 사진, 표, 코드 등의 자료를 첨부해 독자가 한층 더 수월하게 이해할 수 있도록 했고, ‘따라 하기’나 ‘참고하기’, ‘깊게 보기’ 등의 코너를 통해서는 심화 학습이 이루어지도록 구성하였다.
이번 개정판은 최신의 라즈베리 파이 4 보드와 SenseHAT, 리눅스 커널 5(라즈비안)를 적용하고, 제4차 산업혁명의 주류 기술이 된 사물인터넷과 AR/VR/MR/XR을 위한 OpenGL ES 프로그래밍, 그리고 사물 인식을 위한 영상 인식과 인공지능(딥러닝)을 위해 관련 내용을 더욱 보강하였다.
목차
PART I 라즈베리 파이 사용하기
CHAPTER 1 사물인터넷과 라즈베리 파이 3
1.1 사물인터넷과 오픈 소스 하드웨어 플랫폼 4
1.2 라즈베리 파이 한 입 베어 물기 10
1.3 라즈베리 파이를 위한 주변 장치 14
1.4 라즈베리 파이를 위한 준비 운동: 사용 환경 설정 21
1.5 요약 46
CHAPTER 2 리눅스의 기초: 라즈베리 파이와 친해지기 49
2.1 리눅스의 사용 환경과 구조 51
2.2 리눅스의 기본 명령어 54
2.3 리눅스 텍스트 에디터 70
2.4 리눅스의 프로그래밍 도구 78
2.5 요약 104
CHAPTER 3 라즈베리 파이와 GPIO: 하드웨어 제어 107
3.1 GPIO의 개요 108
3.2 LED 제어 프로그래밍 111
3.3 wiringPi를 이용한 GPIO 프로그래밍 124
3.4 SenseHAT을 이용한 기상 관측 시스템 152
3.5 요약 168
PARTII 리눅스 기본 프로그래밍
CHAPTER 4 리눅스 프로그래밍의 기초 173
4.1 리눅스의 기본 구조와 파일 시스템 174
4.2 파일 처리와 표준 입출력 178
4.3 파일 정보와 권한 201
4.4 디렉터리와 시간 처리 214
4.5 리눅스 시스템 프로그래밍과 라즈베리 파이의 제어 228
4.6 요약 234
CHAPTER 5 프로세스와 스레드: 다중 처리 237
5.1 프로세스와 시그널 238
5.2 멀티 프로세스와 다중 처리 프로그래밍 260
5.3 프로세스 간 통신 283
5.4 POSIX 스레드와 동기화 310
5.5 다중 처리와 라즈베리 파이의 제어 320
5.6 요약 326
CHAPTER 6 리눅스 네트워크 프로그래밍: 사물인터넷의 연결을 위한 기초 329
6.1 네트워크의 개요와 BSD 소켓 330
6.2 UDP 네트워크 프로그래밍 346
6.3 TCP 서버와 클라이언트 프로그래밍 356
6.4 HTTP와 웹 서버 프로그래밍 375
6.5 웹 서버와 라즈베리 파이의 제어 398
6.6 요약 404
PART III 멀티미디어 프로그래밍
CHAPTER 7 리눅스 멀티미디어 프로그래밍: 현란함과 즐거움 409
7.1 멀티미디어와 라즈베리 파이 410
7.2 리눅스 사운드 프로그래밍 421
7.3 프레임 버퍼를 통한 이미지 출력 460
7.4 Video4Linux2와 Pi Camera 488
7.5 라즈베리 파이와 멀티미디어 504
7.6 요약 506
CHAPTER 8 OpenCV 프로그래밍: 사진 속 얼굴을 찾아라 509
8.1 영상 처리와 OpenCV 510
8.2 OpenCV 기본 프로그래밍 512
8.3 OpenCV와 영상 처리 526
8.4 OpenCV를 이용한 얼굴 인식 540
8.5 라즈베리 파이와 OpenCV 549
8.6 요약 550
CHAPTER 9 OpenGL ES를 이용한 3D 프로그래밍: 3차원의 세계로 553
9.1 라즈베리 파이와 OpenGL 554
9.2 EGL™과 OpenGL ES 1.0 560
9.3 OpenGL ES 1.1을 이용한 3D 애니메이션 578
9.4 OpenGL ES 2.0과 셰이딩 언어 587
9.5 3D와 라즈베리 파이 627
9.6 요약 632
PART IV 리눅스 고급 프로그래밍
CHAPTER 10 Qt를 이용한 GUI 프로그래밍: 더 편리한 접근성 637
10.1 Qt와 라즈베리 파이: Qt on Pi 638
10.2 Qt 프로그래밍과 사용자 정의 위젯 656
10.3 Qt 위젯과 레이아웃 669
10.4 Qt Creator를 이용한 GUI 디자인 694
10.5 GUI와 라즈베리 파이 711
10.6 요약 718
CHAPTER 11 라즈베리 파이와 인공지능: Caffe에서 한잔 721
11.1 인공지능의 개요 722
11.2 Caffe를 이용한 인공지능 728
11.3 Caffe 기본 프로그래밍 743
11.4 Caffe를 이용한 숫자 인식 751
11.5 Caffe와 라즈베리 파이의 인공지능 773
11.6 요약 779
CHAPTER 12 리눅스 커널과 디바이스 드라이버: 더 깊은 곳으로 781
12.1 리눅스 커널과 디바이스 드라이버 782
12.2 리눅스 디바이스 드라이버 프로그래밍 78
12.3 시스템 레지스터와 LED 출력 803
12.4 LED 출력을 위한 GPIO 드라이버 프로그래밍 811
12.5 스위치를 이용한 커널 이벤트 처리 827
12.6 요약 836
CHAPTER 13 부록 839
13.1 임베디드 리눅스 공부하기 840
13.2 리눅스 셸(Shell) 프로그래밍 846
13.3 GStreamer를 이용한 멀티미디어 프로그래밍 865
13.4 ARM NEON 기반의 SIMD 프로그래밍 888