책소개
본 도서에서는 파이썬을 사용하여 사물인터넷을 구현하기 위한 인터넷 기반의 네트워크 프로그래밍 방법을 소개하였다. 파이썬은 사용하기 쉽고, 다양한 플랫폼에서 사용할 수 있으며 모듈이 매우 풍부하여 대학을 비롯한 교육기관, 연구기관 및 산업계에서 많이 사용되고 있다. 특히 파이썬과 함께 제공되는 모듈을 사용하면 다른 언어보다 훨씬 간단하고 효율적인 네트워크 프로그래밍이 가능하다.제1장부터 제8장까지는 파이썬의 핵심사항을 기술하였다. 파이썬의 설치부터 기본적인 실행 방법과 함께 파이썬의 자료형과 제어문, 자료구조, 함수에 대해 쉽게 설명하였다. 또 네트워크 프로그래밍을 위해 필요한 클래스, 모듈, 파일입출력 개념에 대해 기술하였다. 제9장부터 제14장까지는 네트워크 프로그래밍을 위해 필요한 TCP/IP 프로토콜을 소개하고 파이썬의 기본 네트워크 프로그래밍 모듈에 대해 자세히 기술하였다. 이러한 모듈을 사용한 여러 가지 소켓 프로그래밍 방법을 제시하고 브로드캐스팅과 멀티캐스팅 프로그램 방법도 소개하였다.
목차
목차
제1장 파이썬 언어 소개
1.1 파이썬 언어 소개
1.2 파이썬의 설치
1.3 파이썬의 실행
1.4 변수와 간단한 계산
1.5 논리적/물리적 명령행
1.6 들여쓰기
1.7 IDLE 에디터 창을 이용한 프로그램의 작성과 실행
제2장 데이터형, 연산자, 표현식
2.1 파이썬 프로그램의 기본 구성
2.2 기본 입출력 함수
2.3 자료형과 크기
2.4 연산자의 종류
2.5 연산자의 우선 순위
제3장 프로그램의 제어문
3.1 조건문
3.2 반복문
3.3 기타 제어문
제4장 파이썬 자료구조
4.1 문자열
4.2 리스트
4.3 튜플(tuple)
4.4 딕셔너리(dictionary, 사전)
4.5 집합(SET)
4.6 기타 자료형
제5장 함수의 소개
5.1 함수의 기초
5.2 사용자 정의 함수의 작성
5.3 지역변수와 전역변수
5.4 복잡한 매개변수의 전달 방법
5.5 pass 키워드
5.6 람다(무명) 함수
5.7 재귀호출(되부름, recursion) 함수
5.8 내장함수
제6장 객체지향 프로그래밍과 클래스
6.1 객체지향 프로그래밍
6.2 클래스
6.3 생성자
6.4 캡슐화
6.5 상속
6.6 메소드 오버라이딩
6.7 다형성
6.8 클래스 변수와 인스턴스 변수
6.9 object 클래스
제7장 모듈과 패키지
7.1 모듈
7.2 모듈 만들기
7.3 모듈 임포트 방법
7.4 모듈 탐색 경로
7.5 유용한 모듈들
7.6 패키지
제8장 예외 처리와 파일 입출력
8.1 예외 처리
8.2 파일 입출력의 기본
8.3 파일 쓰기와 읽기
8.4 이진파일의 처리
8.5 파일의 임의접근
8.6 객체 입출력 - 피클링
제9장 컴퓨터 네트워크 개요
9.1 OSI 7계층 참조 모델
9.2 TCP/IP 프로토콜
9.3 IP 주소
제10장 파이썬 네트워크 프로그래밍 모듈
10.1 ipaddress 모듈
10.2 socket 모듈
제11장 소켓 프로그래밍
11.1 네트워크 구조 모델
11.2 클라이언트-서버 모델과 파이썬 소켓 모듈
11.3 TCP 소켓 프로그램
11.4 UDP 소켓 프로그램
11.5 프레임 작업과 파싱
11.6 브로드캐스팅 프로그램
11.7 멀티캐스팅 프로그램
제12장 동시성 소켓 프로그래밍
12.1 멀티스레드를 이용한 소켓 프로그래밍
12.2 select 모듈을 이용한 소켓 프로그래밍
12.3 socketserver 모듈을 이용한 서버 프로그래밍
12.4 selectors 모듈을 이용한 소켓 프로그래밍
12.5 asyncio 모듈을 이용한 소켓 프로그래밍
제13장 사물인터넷 프로그래밍
13.1 HTTP를 이용한 사물인터넷 프로그래밍
13.2 MQTT 브로커
13.3 paho-mqtt 모듈을 사용한 MQTT 프로그래밍
13.4 MQTT로 라즈베리파이와 통신하기
13.5 MQTT를 이용한 라즈베리파이와 스마트폰 통신
제14장 파이썬 시리얼 통신 프로그램
14.1 시리얼 포트를 이용한 시리얼 통신
14.2 블루투스 통신