서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
마이크로 파이썬을 활용해 사물인터넷(IoT) 프로젝트 만들기 with ESP32
저자 : 장문철^다두이노
출판사 : 앤써북
출판년 : 2024
ISBN : 9791193059203
책소개
사물인터넷의 기본부터 실제 작동하는 시스템 설계 구축 실습, 실제 사물인터넷 장치 제작 실습 등 파이썬 프로그래밍의 기본 개념부터 시작해 점차 복잡한 사물인터넷 프로젝트 구현까지 한 권에 모두 담았다. 이 책은 8개의 쳅터로 구성되었고, 각 쳅터의 핵심 내용은 다음과 같다. 「Chapter 01 파이썬 사물인터넷 시작하기」에서는 마이크로 파이썬을 사용하는 방법부터 시작하여 기초 문법에 대해서 알아본다. 「Chapter 02 기본 입출력 기능 익히기」에서는 마이크로파이썬을 사용하여 하드웨어를 제어하고, 시리얼 통신을 통해 다른 장치와 상호작용하며, 타이머와 쓰레드를 활용하여 효율적으로 하드웨어를 다루는 방법을 알아본다. 「Chapter 03 입력장치 및 센서」에서는 ESP32와 마이크로파이썬을 활용해 디지털 입력장치, 아날로그 입력장치와 센서를 연결하고 제어하며 데이터를 처리하고 통신하는 방법을 알아본다. 「Chapter 04 출력장치 및 모터」는 ESP32와 마이크로파이썬을 활용해 부저, FND, 4-Digit FND, DC 모터, 서보 모터 등 출력장치와 모터를 제어해보고 활용 방법을 알아본다. 「Chapter 05 사물인터넷」는 ESP32를 활용하여 블루투스 통신, Wi-Fi 통신, 인터넷 시간 표시, 날씨 표시, 공공 데이터 미세먼지, 이메일 보내기, 주식 시세 표시, 비트코인 시세 표시 등 실제 사물인터넷의 다양한 측면을 탐구하고 활용 방법을 알아본다. 「Chapter 06 표준 프로토콜」는 사물인터넷 프로젝트 및 네트워크 통신 개발에 필수 지식인 TCP/IP, UDP, MQTT, 웹 서버 등 다양한 표준 통신 프로토콜을 알아본다. 「Chapter 07 사물인터넷 서비스」는 IFTTT, ThingSpeak, Firebase, 텔레그램(Telegram) 등 인터넷 기반 서비스 및 플랫폼을 활용하여 IoT 프로젝트를 구축하고 제어하는 방법을 알아본다. 「Chapter 08 작품만들기」는 사물인터넷(IoT) 기술을 적용해서 스마트홈 프로젝트 (웹 서버), 스마트팜 프로젝트 (MQTT), 스마트 환경 분석 프로젝트 (이메일), 날씨 정보 알리미 (ThingSpeak), 주식 및 코인 시세 알리미 (텔레그램) 등 실제 프로젝트를 직접 만들어본다.
목차
CHAPTER 01 파이썬 사물인터넷 시작하기
01-1 사물인터넷 개요
01-2 파이썬과 마이크로파이썬
파이썬 개요 및 특징
파이썬과 마이크로파이썬 차이
01-3 마이크로파이썬 개발환경 구성
ESP32와 PC 연결
CH340 드라이버 설치
ESP32에 마이크로파이썬 설치
라이브러리 설치
라이브러리 마이크로파이썬에 업로드하기
01-4 파이썬 기초 문법
출력과 입력
변수와 자료형
연산자와 제어문
오류 및 예외처리
함수, 클래스
import
CHAPTER 02 기본 입출력 기능
02-1 디지털 출력
LED 깜빡이기
파일 컴퓨터에 저장하기
main.py 파일 장치에 저장하고 바로 실행하기
결과
8개의 LED 제어하기
8개의 LED 파이썬답게 제어하기
키보드 인터럽트 사용해서 코드 안전하게 종료하기
LED에 효과주어 제어하기
02-2 디지털 입력
버튼 입력
버튼을 누르면 한 번만 출력
버튼을 확인하는 코드를 함수처리
여러 개의 버튼을 함수처리
버튼 클래스 생성
여러 개의 버튼 클래스로 생성
인터럽트로 버튼 입력받기
여러 개의 버튼 인터럽트로 입력받기
02-3 아날로그 출력
PWM을 사용하여 LED 밝기 조절하기
PWM의 주파수 조절하기
RGB LED 밝기 조절하기
RGB LED로 무지개 색상 표현하기
02-4 아날로그 입력
아날로그 입력받기
전압으로 환산하기
조건식과 함께 사용하기
02-5 시리얼 통신
시리얼 통신 포트 설정하기
데이터 전송하기
데이터 수신받기
예외처리하기
데이터 수신받아 응답하기
데이터 분리하기
프로토콜 만들어 데이터 분리하기
한줄로 코드 줄이기
02-6 하드웨어 타이머 및 쓰레드
하드웨어 타이머 사용하기
하드웨어 타이머 여러개 사용하기
쓰레드 사용하기
쓰레드 여러개 사용하기
CHAPTER 03 입력장치 및 센서
03-1 조도센서
조도센서로 밝기 확인하기
어두워지면 자동으로 켜지는 전등 만들기
03-2 가스감지센서
가스감지센서 값 전압으로 읽기
가스감지되면 LED켜기
03-3 조이스틱
조이스틱 값 입력받기
조이스틱 y축 값 뒤집기
03-4 초음파센서
초음파센서로 거리값 측정하기
초음파센서로 timeout으로 응답성 높이기
03-5 DHT11온습도센서
DHT11온습도센서 값 읽어 출력하기
예외처리하기
03-6 가속도자이로센서
가속도자이로센서 값 읽기
센서의 임계점 이상일 때 값 출력하기
기울기 각도 구하기
03-7 RFID
RFID 값 읽기
RFID 값 함수로 읽기
RFID 값 비교하여 조건 추가하기
CHAPTER 04 출력장치 및 모터
04-1 부저
도레미파솔라시도 출력하기
학교종 출력하기
04-2 FND 143
FND A~DP까지 하나씩 출력하기
FND 숫자 0~9까지 출력하기
함수로 코드 간략화하기
04-3 4digit FND
4자리에 값 표시하기
1234 표시하기
함수 만들어 4자리 표시하기
04-4 DC모터
DC모터 속도 조절하기
DC모터 방향 조절하기
04-5 서보모터
서보모터 각도 제어하기
서보모터 각도 for문 사용해서 제어
04-6 LCD
LCD에 글자 출력하기
LCD에 위치 지정하여 글자 출력하기
LCD에 글자 연속으로 출력
04-7 네오픽셀 LED
네오픽셀 LED R,G,B 켜기
다양한 색상 하나씩 켜기
04-8 SD카드
SD카드에 파일생성 후 쓰기
SD카드 파일에서 읽기
SD카드 파일에 연속으로 쓰기
SD카드 파일 목록 확인하기
SD카드 파일 삭제하기
CHAPTER 05 사물인터넷
05-1 블루투스 통신
블루투스 통신으로 데이터 주고받기
블루투스 통신으로 LED 제어하기
05-2 WIFI 통신
WIFI 스캔을 통해 주변 WIFI 찾기
WIFI 연결하기
WIFI 고정 IP 설정하기
WIFI AP모드로 변경하기
05-3 인터넷 시간표시
NTP 서버에 접속하여 시간받기
시간을 표시하기
+9시간을 더해 한국시간으로 표시하기
05-4 날씨표시
기상청 RSS 접속
기상청 RSS 접속하여 RSS데이터 받기
온도 습도 데이터만 출력하기
주기적으로 접속하여 온도 습도 데이터 출력하기
05-5 공공데이터 미세먼지
공공데이터 포털에서 활용 신청 및 데이터 확인하기
공공데이터 미세먼지 데이터 출력하기
json 데이터 분리하여 출력하기
강남대로의 미세먼지, 초미세먼지만 출력하기
05-6 이메일 보내기
구글 이메일 설정하기
내 구글 계정으로 이메일 보내기
이메일 보내는 부분 함수화 하기
여러 개의 메일을 전송하기
05-7 주식 시세 표시
네이버 주식데이터 접속하여 값 확인하기
삼성전자 주식 시세 확인하기
여러 개의 주식 시세 확인하기
05-8 비트 코인 시세 표시
업비트 API 활용하여 비트코인 데이터 확인하기
비트코인 시세 출력하기
여러 개의 가상화폐 시세 출력하기
CHAPTER 06 표준 프로토콜
06-1 TCP
TCP 서버 생성하여 데이터 통신
TCP 서버 데이터수신 쓰레드 생성
TCP 서버를 PC에 만들기
TCP 클라이언트로 데이터 통신
06-2 UDP
UDP로 데이터 주고받기
UDP로 데이터 송신
데이터 수신을 논블로킹으로 처리
06-3 MQTT
PC에 모스키토 MQTT 브로커 설치하고 설정하기
PC에 MQTT 프로그램 설치하기
자신의 컴퓨터의 IP 주소 확인하기
MQTT 데이터 발행하기
MQTT 데이터 구독하기
MQTT 발행 구독하기
06-4 웹서버
웹서버 버튼 만들기
웹서버 버튼으로 LED 제어하기
CHAPTER 07 사물인터넷 서비스
07-1 IFTTT
IFTTT 서비스 만들기
IFTTT 데이터 보내기
07-2 thingspeak
thingspeak 서비스 만들기
thingspeak에 데이터 전송하기
thingspeak에 무작위 데이터 계속 전송하기
07-3 firebase
firebase 프로젝트 생성
firebase에 데이터 쓰기
firebase에 데이터 읽기
07-4 텔레그램
텔레그램 봇 만들기
텔레그램 메시지 수신 및 id 확인
텔레그램 수신 메시지 등록하기
텔레그램 메시지 전송하기
CHAPTER 08 작품만들기
08-1 스마트홈 프로젝트
스마트홈 센서 읽어 출력하기
스마트홈 센서 조건추가하기
스마트홈 센서값 출력 웹페이지 만들기
08-2 스마트팜 프로젝트
스마트팜 센서값 읽어 출력하기
스마트팜 MQTT로 통신하기
08-3 스마트환경분석 프로젝트
인터넷 시간 받기
조도, 온도, 습도 센서 SD카드에 기록하기
10분마다 이메일 보내기
08-4 날씨정보 알리미
실내온도와 실외온도 출력하기
실내온도와 실외온도 thingspeak에 기록하기
08-5 주식, 코인 시세 알리미
비트코인, 삼성전자 금액 출력하기
비트코인, 삼성전자 금액 10분마다 텔레그램으로 전송하기