IoT 사물인터넷과 OpenAI 인공지능을 위한 라즈베리파이 5 정석
Description
〈IoT 사물인터넷과 OpenAI 인공지능을 위한 라즈베리파이 5 정석〉은 실습 작품과 OpenAI 인공지능 활용 내용을 대폭 보강해서 최신 개정판으로 출간되었습니다.
이 책은 왕초보도 라즈베리파이를 이용해 다양한 IoT를 직접 개발할 수 있도록 전기전자 기초 원리부터 센서제어 및 나만의 가상비서 만들기 등 초수/중수/고수 예제 실습과 실전 프로젝트까지 단계별로 구성하였습니다.

라즈베리파이가 무엇인지부터 시작하여 전기, 전자와 배경지식이 부족한 분들도 볼 수 있도록 관련 부품의 동작 원리와 파이썬 기초 내용부터 아주 쉽게 설명하였습니다.

이 책은 라즈베리파이 5와 라즈베리파이 4 버전 모두 사용할 수 있다. 독자는 라즈베리파이 5, 4 중 어떤 버전을 선택해도 이 책의 내용을 학습하는데 충분하도록 환경 설정 방법을 자세히 설명하였습니다.

이 책은 라즈베리파이로 IoT와 OpenAI를 만들 때 필요한 거의 모든 기술을 담았습니다!
- 왕초보를 위한 알기 쉬운 리눅스/파이썬/전자 기초
- 각종 센서 활용하기
- Flask를 활용한 센서 제어하기
- 라즈베리파이 카메라 활용하기
- NodeMCU 활용하기
- 포트포워딩과 슈퍼디엠지로 우리집 LED 제어하기
- 머신러닝 Open API와 가상 비서 만들기
- Git 버전관리(형상관리)
- OpenAI 인공지능 활용

이 책은 부품 및 전자회로가 어떻게 동작하는지와 IoT 동작을 위해 어떻게 코딩해야 하는지를 도식화와 한 줄 한 줄 등으로 진짜 친절하게 설명하였습니다.

이 책에서 사용하는 전체 부품은 5쪽과 19~21쪽을 참조합니다.

※ 이 책의 실습에 필요한 부품은 편리하게 본인에 맞게 선택해서 키트로 구매할 수 있다. 구매 관련 자세한 내용은 19쪽을 참조합니다.

저자

최주호,김재범,정동진

저자:최주호
현)부산IT교육센터전임강사
현)blog.naver.com/codingspecialist운영
현)JSPStudy.co.kr운영자

(저서)
IoT사물인터넷과OpenAI인공지능을위한라즈베리파이5정석(앤써북)
만들면서배우는플러터앱프로그래밍(앤써북)
클라우드서비스개발자를위한AWS로구현하는CI/CD배포입문(앤써북)
모두가할수있는플러터UI실전(앤써북)
모두가할수있는플러터UI입문(앤써북)
JSPStudy의JSP&Servlet웹프로그래밍입문+활용(앤써북)
그누위즈의PHP&MySQL웹프로그래밍입문+활용(앤써북)
JSPStudy의JAVA프로그래밍입문(앤써북)

저자:김재범
현)부산IT교육센터강사
전)㈜패러데이오투_IoT제품개발부팀장

(저서)
IoT사물인터넷과OpenAI인공지능을위한라즈베리파이5정석(앤써북)

저자:정동진

현)동의대자바프로그래밍과정강사
현)JSPStudy.co.kr대표운영자

(저서)
IoT사물인터넷과OpenAI인공지능을위한라즈베리파이5정석(앤써북)
JSPStudy의JSP&Servlet웹프로그래밍입문+활용(앤써북)
그누위즈의PHP&MySQL웹프로그래밍입문+활용(앤써북)
JSPStudy의JAVA프로그래밍입문(앤써북)

목차


Chapter01라즈베리파이시작하기
01_라즈베리파이살펴보기
01-1라즈베리파이란?
01-2하드웨어구성

02_라즈베리파이실습준비물
02-1라즈베리파이실습부품세트1
02-2라즈베리파이실습부품세트2

03_SDCardFormatter로SDCard포맷시키기

04_라즈비안다운및SD카드세팅
04-1라즈비안다운받기
04-2라즈비안SD카드세팅하기

05_라즈비안실행하기

06_라즈베리파이환경설정하기
07_라즈베리파이로LED동작시키기

Chapter02라즈베리파이를위한리눅스기초배우기
01_운영체제
01-1운영체제란?
01-2리눅스운영체제의종류
01-3라즈비안운영체제

02_원격접속을위한VNC와Putty
02-1그래픽모드접속
02-2터미널모드접속

03_리눅스파일시스템
03-1리눅스파일시스템의특징
03-2리눅스디렉토리구조

04_리눅스명령어
04-1쉘(Shell)
04-2기본명령어

Chapter03라즈베리파이를위한파이썬기초배우기
01_파이썬시작하기
01-1파이썬개요
01-2파이썬Windows설치하기
01-3파이썬의주석

02_파이썬자료형
02-1숫자형
02-2문자형
02-3리스트
02-4튜플
02-5딕셔너리

03_파이썬제어문
03-1if문
03-2for문
03-3whie문
03-4break문

04_파이썬함수사용법
04-1함수선언하기
04-2함수인수사용하기

05_파이썬클래스와모듈
05-1클래스
05-2모듈
05-3라이브러리

Chapter04라즈베리파이를위한전자기초배우기
01_알기쉬운전자회로
01-1옴(Ohm)의법칙
01-2키르히호프(Kirchhoffs)의법칙

02_데이터시트와회로를참고하여전자부품알아보기
02-1브래드보드
02-2저항
02-3LED
02-4푸시버튼스위치
02-5콘덴서
02-6트랜지스터(Transistor)
02-7다이오드(Diodes)

Chapter05라즈베리파이GPIO및센서활용하기
01_GPIO제어및테스트
01-1LED실습
01-2푸시버튼스위치실습(Polling방식)
01-3푸시버튼스위치실습(Event알림방식)
01-4푸시버튼입력으로LED실습

02_PWM제어
02-1PWM으로LED실습
02-2PWM으로부저실습
02-3PWM으로서보모터실습

03_초음파센서(HC-SR04)실습

04_PIR센서(HC-SR501)실습

05_아날로그신호와SPI통신
05-1아날로그신호를라즈베리파이로읽어오기
05-2SPI통신의이해

Chapter06Flask를활용한센서제어
01_Flask세팅하기
01-1라즈베리4에서설치하기
01-2Flask설치하기

02_Flask웹서버구축하기

03_Flask라우팅

04_FlaskLED제어하기
04-1FlaskLED제어정적라우팅
04-2FlaskLED제어동적라우팅<산형괄호>
04-3FlaskLED제어동적라우팅<쿼리스트링>

05_Falsk웹페이지
05-1Flask,HTML,CSS,Javascript를이용한웹페이지만들기
05-2fetch()함수이해하기
05-3화살표함수이해하기

06_IP,Port,Process개념잡기
06-1IP개념잡기
06-2Port개념잡기
06-3Process개념잡기

07_cron과daemon개념잡기
07-1cron(크론)개념잡기
07-2daemon(데몬)개념잡기

Chapter07Maria데이터베이스활용하기
01_데이터베이스설치
01-1DBMS설치하기

02_Maria데이터베이스서버에질의문을이용한회원테이블작성하기
02-1데이터베이스의구성‘도서관’
02-2회원데이블만들기

03_파이썬과Maria데이터베이스서버Connection

Chapter08블루투스비콘(Beacon)사용하기
01_블루투스(Bluetooth)와비콘(Beacon)이란?
01-1블루투스이미지의유래
01-2블루투스클래식과BLE
01-3주파수간섭과호핑(hopping)
01-4BLE동작방법

02_비콘(Beacon)이란?
02-1애플의아이비콘(iBeacon)
02-2구글의에디스톤

03_라즈베리파이4를블루투스비콘으로바꾸기
03-1라즈베리파이LED제어웹서버실행하기
03-2라즈베리파이4를비콘으로바꿔서웹서버접속하기

Chapter09라즈베리파이카메라활용하기
01_RPI카메라
01-1라즈베리파이카메라세팅하기
01-2라즈베리파이카메라테스트하기
01-3라즈베리파이카메라명령어

02_파이썬을활용한RPI카메라
02-1python-picamera모듈활용하기

Chapter10NodeMCU활용하기
01_NodeMCU소개
01-1전원연결방법
01-2NoduMCU사용환경설정방법(아두이노IDE)
01-3아두이노프로그래밍

02_MQTT란?

03_Mosquitto브로커설치및테스트
03-1Mosquitto설치
03-2Mosquitto자가테스트

04_NodeMCU로MQTT사용하기
04-1MQTT라이브러리설치
04-2휴대폰으로MQTT활용하기

05_Flask웹서버로MQTT활용하기

Chapter11포트포워딩과슈퍼디엠지로우리집LED제어하기
01_TCP/IP란무엇인가

02_LAN과WAN

03_포트포워딩과슈퍼디엠지
03-1공유기설정하기

04_외부에서인터넷으로라즈베리파이GPIO제어하기
04-1외부IP주소확인방법(예_IPTIME공유기)
04-2라즈베리파이Flask웹서버
04-3HTML디자인을꾸며보자

Chapter12OpenAPI활용하기
01_아마존Rekognition
01-1카메라세팅및테스트
01-2AWS회원가입하기
01-3IAM생성하기
01-4이미지분석DetectLables
01-5얼굴비교CompareFaces
01-6얼굴인증웹사이트만들기

Chapter13Git버전관리(형상관리)
01_Git
01-1Git이란?
01-2버전관리이해
01-3Git설치하기

02_Git이해하기
02-1Git의3가지영역
02-2Git오브젝트

03_Git명령어
03-1init
03-2add
03-3commit
03-4파일내용변경하기

04_Reset되돌리기
04-1Reset을위한환경세팅하기
04-2Reset옵션
04-3reflog

05_github339
05-1github란?
05-2github회원가입하기
05-3원격저장소생성하기
05-4remote연결하기
05-5gitclone하기

06_브랜치(merge와checkout)
06-1브랜치란?
06-2브랜치종류
06-3브랜치실습하기

Chapter14OpenAI인공지능
01_OpenAI상상속이미지만들기
01-1OpenAI회원가입및비용결제하기
01-2OpenAI프로젝트생성및API키발급하기
01-3OpenAI테스트
01-4상상속이미지애플리케이션만들기

02_파이토치이미지분류하기
02-1개발환경설정
01-2카메라로사진찍어두기
01-3이미지분류애플리케이션만들기
01-4실행해보기

출판사 서평

“IoT!,라즈베리파이로만들고파이썬으로코딩하며배운다!”
368쪽의분량에단계별초수/중수/고수예제실습과실전프로젝트만들기는물론OpenAI인공지능활용까지라즈베리파이의모든것이한권에담겨있습니다.
이책의주요내용은다음과같습니다.
Chapter01라즈베리파이시작하기
이장에서는라즈베리파이란무엇인지알아보고이책을학습하기위한준비물을알아본뒤라즈베리파이에라즈비안운영체제를설치후환경세팅을한뒤간단하게LED를작동해봅니다.

Chapter02라즈베리파이를위한리눅스기초배우기
리눅스는리눅스토발즈가커뮤니티주체로개발한컴퓨터운영체제입니다.이장에서는운영체제,원격접속,리눅스파일시스템,리눅스명령어에대해서배워봅니다.

Chapter03라즈베리파이를위한파이썬기초배우기
책에서는라즈베리파이와연동을위한예제는파이썬으로구현을합니다.라즈베리파이는다양한언어파이썬,C,C++,JAVA,펄,루비등을지원하지만그래도파이썬이가장많이사용이되고IoT및빅테이터에사용을많이하는언어이기때문에다른언어보다파이썬을다룹니다.물론파이썬만다루는교재가아니기때문에여기서는파이썬의중급및고급기능은다루지않고라즈베리파이를사용하기위해서최소한의범위로알기쉽게설명합니다.

Chapter04라즈베리파이를위한전자기초배우기
라즈베리파이를이용하여LED,LCD,각종센서등여러부품을제어하기위하여기초적인전자회로이론및각부품의데이터시트를활용하여회로를분석하는방법을익힙니다.

Chapter05라즈베리파이GPIO및센서활용하기
파이썬프로그래밍으로라즈베리파이의GPIO를제어해보고각종센서및부품을라즈베리파이에연결하여동작시키는방법을알아봅니다.

Chapter06Flask를활용하여센서제어하기
이장에서는Flask를활용하여센서를제어해봅니다.Flask를설치하고,VSCODE를설치한뒤웹서버를구축하여LED를제어하고,그외에도ip,port,process,cron,daemon에대해서학습한뒤공공데이터를활용해봅니다.

Chapter07Maria데이터베이스활용하기
많은자료들을특정한규칙에맞게대용량의저장장치에보관하여필요한업무에사용될수있는것을데이터베이스라고할수있다.프로그래밍에있어데이터베이스에있는자료를검색하고가공하고저장할수있는능력은꼭필요한부분이다.이장에서는데이터베이스에대한기본적인이해를통해서필요한자료를검색하고,가공하고,저장하며파이썬에서라즈베리파이에서설치된Maria데이터베이스서버에접속하는방법에대해알아본다.

Chapter08블루투스비콘(Beacon)사용하기
블루투스비콘에대해알아보고라즈베리파이4를별도의추가없이비콘으로변경하여스마트폰에비콘스캐너앱을설치한후라즈베리파이근처에도달했을때비콘의기능을활용해라즈베리파이의웹서버로접속해GPIO를제어하는방법을알아봅니다.

Chapter09라즈베리파이카메라활용하기
라즈베리파이카메라를세팅하고사진찍기,동영상촬영을해본뒤UV4L모듈을이용하여웹스트리밍을구현해보고Motion모듈을이용하여모션감지를해본다.

Chapter10NodeMCU활용하기
이장에서는사물인터넷(IoT)에널리쓰이는NodeMCU(ESP8266)보드에대해알아보고아두이노IDE를이용하여프로그램하는방법과간단한실습예제를통해서MQTT을이용하여사용하는방법을배워보겠습니다.

Chapter11포트포워딩과슈퍼디엠지로우리집LED제어하기
집에있는유무선공유기와라즈베리파이를이용하여웹서버를만들고공유기의포트포워딩이나슈퍼디엠지설정으로어디에있던지인터넷으로웹서버에접속해라즈베리파이로LED를켜고센서를확인하는방법을알아봅니다.

Chapter12OPENAPI활용하기
아마존은20년이상인공지능에과감히투자해왔고,수많은기계학습알고리즘을보유하고있습니다.그리고구글은지능형가상비서GoogleAssistant를통해음성AI시장을선도하고있습니다.이장에서는라즈베리파이를활용한아마존머신러닝API와구글Assistant를학습해봅니다.

Chapter13Git버전관리(형상관리)활용하기
이번장에서는Git이란무엇이고버전관리가무엇인지학습한뒤Git에대한다양한명령어를학습해보고Github원격저장소에대한학습을진행해보도록하겠습니다.

Chapter14OpenAI인공지능
OpenAI는인공지능연구와개발에집중하는선도적인기관으로,자연어처리,컴퓨터비전,강화학습등다양한AI분야에서혁신적인기술을선보이고있습니다.특히,ChatGPT와같은대규모언어모델을통해사람과자연스럽게소통할수있는AI를제공하며,이를바탕으로다양한산업에AI솔루션을적용할수있습니다.이장에서는라즈베리파이를활용해OpenAI의자연어처리기술뿐만아니라,PyTorch를이용한딥러닝모델을함께학습해보겠습니다.PyTorch는이미지분류와같은다양한AI작업에적합한강력한프레임워크로,자연어처리외에도여러AI응용프로그램에서유용하게사용될수있습니다.