PART 1 라즈베리파이 시작
1. 라즈베리파이를 시작하다
1.1 라즈베리파이 (RaspberryPi) 란?
1.2 MagPi 잡지
1.3 오픈 소스 (Open Source) 플랫폼
1.4 라즈베리파이 보드 구조
1.5 보드 케이스
1.6 라즈베리파이 사용에 필요한 기술 및 지식
1.7 운영체제 설치 및 부팅
1.8 운영체제 파티션 구조
1.9 라즈비안 과거 버전
2. Host PC에서 라즈베리파이 연결하기
2.1 콘솔 기반의 제어
2.1.1 HDMI 모니터, USB 키보드, USB 마우스 연결환경
2.1.2 시리얼 연결
2.1.3 /boot/cmdline.txt 파일
2.2 SSH 기반의 제어
2.2.1 LAN 케이블 직접연결
2.2.2 공유기를 통한 LAN 케이블 연결
2.2.3 WiFi를 통한 연결
2.3 라즈베리파이 연결정보 확인하기
2.3.1 라즈베리파이 보드의 물리적 주소 (mac 주소)
2.3.2 공유기를 통한 내부 네트워크 연결정보 확인
2.3.3 포트 및 IP 스캔 유틸리티 사용
2.4 인터넷 연결확인
2.5 update 및 upgrade
2.6 호스트 이름으로 라즈베리파이 접속
2.6.1 삼바(Samba) 설치
2.7 시스템 종료와 재시작
3. 라즈베리파이 기본설정
3.1 raspi-config
3.2 한글 입력기 및 한글폰트 설치
4. 라즈베리파이 시스템 설정
4.1 cmdline.txt, config.txt
4.1.1 cmdline.txt
4.1.2 config.txt
5. 사용 유틸리티
5.1 SSH 기반
5.1.1 putty
5.1.2 smarTTY
5.1.3 WinSCP
5.2 시리얼 터미널
5.3 봉주르 브라우저
5.4 Notepad++
6. 원격 데스크톱 연결
6.1 RDP를 통한 원격 라즈베리파이 접속
6.2 VNC를 통한 원격 라즈베리파이 접속
6.2.1 TightVNCServer 설치
6.2.2 TightVNCServer 접속
6.2.3 VNC 서버 자동실행 (시작 프로그램 등록)
6.2.4 Host PC 클립보드 및 라즈베리파이 컷 버퍼 동기화
7. 나노(NANO) 편집기
7.1 사용법
PART 1 정리
PART 2 파이썬 기본
8. 파이썬 기초
8.1 파이썬이란 무엇인가?
8.2 파이썬 언어의 특징
8.3 파이썬 시작하기
8.3.1 Python 명령어 사용하는 방법
8.3.2 IDLE을 사용한 실행방법
8.3.3 대화창을 통한 실행방법
8.3.4 파이썬 언어로 프로그램을 실행한다는 의미
8.4 연산자
8.4.1 산술 연산자 (+, -, *, /, //, %, **)
8.4.2 관계 연산자 ( < , >, <=, >=, ==, != )
8.4.3 논리 연산자 (and, or, not)
8.4.4 시프트 연산자 ( << , >> )
8.4.5 비트 연산자 (&, |, ^, ~)
8.4.6 멤버 연산자 (in, not in)
8.4.7 객체비교 연산자 (is)
8.5 변수와 객체
8.5.1 변수와 객체의 관계
8.5.2 다중변수 대입
8.6 자료형 종류
8.6.1 수치형
8.6.2 문자열
8.6.3 리스트 (list)
8.6.4 튜플 (tuple)
8.6.5 딕셔너리 (dictionary)
8.7 시퀀스 자료형
8.7.1 인덱싱 (indexing)과 슬라이싱 (slicing)
8.7.2 더하기 (addition)
8.7.3 곱하기
8.7.4 항목 확인 (item check)
8.7.5 내장함수 (built-in function)
8.8 프로그램 제어 문
8.8.1 if, elif, else (조건문)
8.8.2 for (반복문)
8.8.3 while (반복문)
8.9 문자열 처리
8.9.1 문자열 대입
8.9.2 문자열 합치기
8.9.3 문자열 반복하기
8.9.4 개별문자 접근
8.9.5 문자열 추출
8.9.6 문자열 포맷 변환
8.9.7 문자열 처리 내장함수
8.9.8 문자열, 숫자 상호변환
8.9.9 문자열 인코딩 및 디코딩
8.10 사용자 입력 및 문자열 출력
8.10.1 사용자 입력
8.10.2 문자열 출력
8.11 객체에 대한 참조 및 복사
8.11.1 객체에 대한 참조
8.11.2 객체의 복사
8.12 함수
8.12.1 함수의 정의
8.12.2 기본인자 값 전달
8.12.3 가변인자 함수
8.13 지역 및 전역변수
8.14 파일 다루기
8.14.1 파일 생성
8.14.2 파일 읽기
8.14.3 open 함수의 매개변수
8.15 주석처리
9. 클래스
9.1 구성
9.2 클래스 상속
9.3 연산자 오버로딩 (overloading)
10. 파이썬 모듈 (module)
10.1 모듈의 구현 및 사용
10.2 if __name__ == ‘__main__’ :
11. 데코레이터 (decorator)
11.1 함수 꾸미기
11.2 ‘@’ 키워드를 이용한 데코레이터 구현
PART 2 정리
PART 3 리눅스에 대한 이해
12. 리눅스 기반의 라즈베리파이
12.1 폴더구조
12.2 프롬프트 구조
12.3 명령어
12.3.1 명령어 구조
12.3.2 명령어 도움말
12.3.3 자주 사용되는 명령어
12.4 파일 속성
12.4.1 파일유형
12.4.2 파일 사용권한
12.5 패키지 설치 및 관리도구 (apt-get)
12.5.1 사용방법
12.5.2 패키지 인덱스 정보
12.5.3 패키지 정보 및 설치된 패키지 갱신
12.6 쉘 스크립트
12.6.1 쉘이란
12.6.2 쉘 스크립트 예제
12.7 시작 프로그램 등록
12.7.1 /etc/rc.local 파일
12.7.2 update-rc.d 명령
12.8 루트 계정을 통한 SSH 접속
12.8.1 루트 계정 활성화
12.8.2 sshd_config 파일 수정
13. 리눅스 장치
13.1 장치 종류
13.1.1 블록 디바이스
13.1.2 캐릭터 디바이스
13.2 장치 파일
13.2.1 USB 디스크 장치 마운트
13.2.2 파이썬 코드를 이용한 저장장치 읽기 쓰기
13.3 시리얼 장치
13.3.1 serial0 장치
13.3.2 serial1 장치
13.4 터미널 장치
PART 3 정리
PART 4 장치제어
14. 시리얼 통신이란?
14.1 시리얼 장치
14.1.1 장치이름
14.2 파이썬 모듈 및 WiringPi 라이브러리 설치
14.2.1 python3-serial 모듈 사용 방법
14.3 USB 기반 시리얼 통신
14.3.1 외부장치와 USB 기반 시리얼 통신 하기
14.3.2 파이썬 기반의 시리얼 통신 프로그램
14.3.3 C 언어 기반의 시리얼 통신 프로그램
14.4 UART 기반 시리얼 통신 (확장핀 사용)
14.4.1 환경설정 파일
14.4.2 UART 핀 연결
14.4.3 명령어 기반 동작 테스트
14.4.4 파이썬 기반의 시리얼 통신 프로그램 (1)
14.4.5 파이썬 기반의 시리얼 통신 프로그램 (2)
14.4.6 C 언어 기반의 시리얼 통신 프로그램
14.5 블루투스 기반 시리얼 통신
14.5.1 페어링 과정
14.5.2 연결과정
14.5.3 사용에 문제가 있을 경우
14.5.4 스마트폰과의 데이터 송수신
14.5.5 파이썬 기반의 시리얼 통신 프로그램
14.5.6 C 언어 기반의 시리얼 통신 프로그램
15. 하드웨어 제어
15.1 하드웨어 제어를 위한 프로그램 설치
15.1.1 rpi.gpio 모듈 설치
15.1.2 WiringPi 라이브러리 설치
15.2 GPIO 제어
15.2.1 rpi.gpio를 이용한 제어
15.2.2 WiringPi를 이용한 제어
15.3 인터럽트 제어
15.3.1 rpi.gpio를 이용한 제어
15.3.2 WiringPi를 이용한 제어
15.4 PWM 제어
15.4.1 pwm을 이용한 DC 모터 제어
15.4.2 max14870 모듈을 사용한 모터 제어
15.5 SPI 제어
15.5.1 라즈베리파이에서의 SPI 사용
15.5.2 bmp280 모듈 제어 (온도 및 기압 센서)
15.6 I2C 제어
15.6.1 라즈베리파이에서의 I2C 사용
15.6.2 mpu-6050 모듈 제어 (가속도 및 자이로 센서)
16. 카메라 제어
16.1 카메라 설정 및 파이썬 모듈 설치
16.2 카메라 프리뷰 및 캡쳐
16.3 카메라 녹화
PART 4 정리
PART 5 웹 서버 구축
17. 플라스크 기반의 웹 서버
17.1 웹 서버란?
17.2 플라스크
17.2.1 플라스크 설치
17.2.2 간단한 웹 서버 구현
18. 웹 서버 기반의 하드웨어 제어
PART 5 정리
PART 6 사물인터넷
19. 사물인터넷이란?
19.1 M2M과 IoT
19.1.1 M2M (Machine to Machine)
19.1.2 IoT (Internet of Things)
19.2 사물인터넷 구현을 위한 기반기술
19.3 사물인터넷이 적용되는 실례
19.4 사물인터넷 시장전망
PART 6 정리