파이썬과 인공지능 프로젝트 with ASUS Tinker Board

제품 개발 실무에서 바로 사용할 수 있는
$32.20
SKU
9791198189233
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 12/6 - Thu 12/12 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 12/3 - Thu 12/5 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2023/04/07
Pages/Weight/Size 190*255*30mm
ISBN 9791198189233
Categories IT 모바일 > 컴퓨터 공학
Description
이 책은 라즈베리파이 사용자도 손쉽게 Tinker Board를 이용하여 제품 개발 실무에서 바로 사용할 수 있는 Tinker Board 활용 방법을 소개한 책입니다. Tinker Board는 ASUS에서 AIoT(인공지능 사물 인터넷) 환경을 준비하기 위해 만든 SBC(Single Board Computer)입니다. Tinker Board는 Raspberry Pi와 같은 개발 환경을 제공합니다. 그래서 기존 Raspberry Pi 사용자도 손쉽게 Tinker Board를 이용하여 제품 개발을 바로 사용할 수 있습니다.

이 책은 Python 3.x 언어 기반으로 opencv, Tensorflow, Pyorch 딥러닝 라이브러리 활용 방법을 소개하고 있습니다. 이 책에서는 카메라를 장착하여 팅커 보드에 영상 인식 기능을 추가하는 방법을 소개하고 있습니다. opencv 인공 지능 라이브러리를 이용하여 얼굴을 인식하는 방법과 Tensorflow, PyTorch 라이브러리 사용 방법을 소개하고 있습니다. 또한, 파이썬용 GPIO, I2C, SPI 라이브러리를 이용하여 여러 가지 하드웨어를 제어하는 방법을 소개하고 있습니다.

이 책에서는 하드웨어를 제어하는 방법 외에도 쓰레드와 메시지 큐의 사용법을 소개하고 있습니다. 팅커 보드는 리눅스 운영체제를 바탕으로 한 환경이기 때문에 쓰레드와 메시지 큐를 통해 프로그램을 구성할 수 있는 장점을 제공합니다. 쓰레드와 메시지 큐를 이용하면 큰 프로젝트를 효율적으로 구성할 수 있습니다. 특히 팅커 보드는 여러 가지 하드웨어 입력을 받는 환경을 제공하기 때문에 쓰레드를 통한 프로젝트 구성이 필요하기도 합니다.

이 책에서는 외부 디바이스를 장착하여 팅커 보드의 기능을 확장하는 방법도 소개하고 있습니다. L9110S DC 모터 드라이버 모듈을 이용하여 DC 모터를 제어할 수 있는 방법을 소개하고 있습니다. HM10 블루투스 모듈을 이용하여 팅커 보드의 시리얼 모듈을 이용한 통신 방법을 소개하고 있습니다, MCP3208 ADC 모듈을 이용하여 센서 입력을 받을 수 있는 방법을 소개하고 있습니다, PCA9685 PWM 드라이버를 소개하여 서보모터, 부저, BLDC 모터를 제어할 수 있는 방법을 소개하고 있습니다, MPU6050 자이로 센서 모듈을 읽는 방법을 소개하고 있습니다.

※ 이 책의 예제 소스파일 다운로드 방법은 4쪽을 참조하고, 책을 보면서 궁금한 사항의 질의응답 방법은 5쪽을 참조합니다.
※ 이 책의 실습 준비물은 6쪽 또는 46~47쪽을 참고하고, 만드는 방법 46~55쪽을 참조합니다.
Contents
CHAPTER 01 팅커 보드 준비하기

01 팅커 보드란?
01 _ 팅커 보드 개요
02 _ 팅커 보드 2와 라즈베리파이 4B 비교하기
03 _ 팅커 보드 종류 살펴보기

02 팅커 보드로 할 수 있는 일들
01 _ SMART CITIES : 지능형 도시
02 _ TRANSPORT & LOGISTICS : 운송 및 물류
03 _ HEALTHCARE : 보건 의료
04 _ RETAIL : 소매 시장

03 ASUS 팅커 보드 개발 환경 구성하기
01 _ micro SD 카드 준비하기
02 _ 팅커 보드 이미지 설치하기
03 _ 팅커 보드 부팅하기
04 _ 팅커 보드 기본 환경 설정하기
05 _ 파이썬 실습 환경 구성하기
06 _ 팅커 보드 원격 개발 환경 구성하기
07 _ 팅커 보드 핀 맵 살펴보기
08 _ 팅커 보드 A.I.Shield 살펴보기

04 A.I.TinkerBot 조립하기
01 _부품 살펴보기
02 _ 지지대 및 나사 장착도
03 _ A.I.TinkerBot 조립하기

CHAPTER 02 팅커 보드 파이썬 패키지 활용하기

01 print 함수
01 _print
02 _ while
03 _try~except
04 _ time.sleep
05 _ 문자열, 숫자 출력하기
06 _ % 형식 문자열 사용하기
07 _ str.format 함수 사용하기
08 _ f-string 사용하기
09 _정수, 실수 출력하기

02 ASUS.GPIO.output 함수
01 _ 부품 살펴보기
02 _ LED 회로 살펴보기
03 _ LED 켜고 끄기
04 _ LED 점멸 반복하기
05 _ LED 밝기 변경하기
06 _ LED 밝기 조절하기

03 ASUS.GPIO.PWM 모듈
01 _LED 점멸 반복하기
02 _ LED 밝기 변경하기
03 _ LED 밝기 조절하기

04 input 함수
01 _사용자 입력 받기
02 _ 파이썬 프롬프트 흉내내기

05 ASUS.GPIO.input 함수
01 _ 푸시 버튼 살펴보기
02 _ 버튼 회로 살펴보기
03 _ 버튼 값 읽어보기
04 _ 버튼 값에 따라 LED 켜고 끄기
05 _ 버튼 토글하기

06 ASUS.GPIO.add_event_callback 함수
01 _ 외부 인터럽트 살펴보기
02 _ 버튼 인터럽트로 LED 켜기

07 threading.Thread 클래스
01 _ 쓰레드 이해하기
02 _ 쓰레드 생성하기
03 _ 쓰레드로 다중 작업하기
04 _ 쓰레드로 LED 점멸 반복하기
05 _ 쓰레드로 LED 밝기 조절하기

08 메시지 큐 통신
01 _ 주 루틴과 쓰레드 간 메시지 큐 통신하기
02 _ 인터럽트 처리 함수와 쓰레드 간 메시지 큐 통신하기

CHAPTER 03 외부 디바이스 붙이기

01 L9110S 모터 드라이버 제어하기
01 _ L9110S 모터 드라이버 살펴보기
02 _ L9110S 모터 연결 살펴보기
03 _ 모터 회전시켜 보기
04 _ 모터 속도 조절해보기
05 _ RC카 주행 테스트하기
06 _ RC카 수동 조종해 보기

02 Serial에 HM10 블루투스 디바이스 붙이기
01 _ HM10 블루투스 디바이스 소개
02 _ HM10 모듈 연결 살펴보기
03 _ UART 모듈 활성화하기
04 _ 블루투스 통신 테스트하기

03 SPI 버스에 MCP3208 디바이스 붙이기
01 _ MCP3208 ADC 디바이스 소개
02 _ 센서 살펴보기
03 _ MCP3208 디바이스 연결 살펴보기
04 _ SPI 모듈 활성화하기
05 _ ADC 값 읽어보기
06 _ 가변저항 입력에 따라 LED 밝기 조절하기

04 I2C 버스에 PCA9685 디바이스 붙이기
01 _ PCA9685 PWM 디바이스 소개
02 _ PCA9685 디바이스 연결 살펴보기
03 _ I2C 모듈 활성화하기
04 _ LED 점멸 반복해보기
05 _ LED 밝기 4095 단계로 조절해보기
06 _ 부저 소리내보기
07 _ 부저 멜로디 연주하기
08 _ 서보모터 각도 조절해보기

05 I2C 버스에 MPU6050 디바이스 붙이기
01 _ MPU6050 가속도 자이로 센서 소개
02 _ MUP6050 디바이스 연결 살펴보기
03 _ MUP6050 I2C 테스트하기
04 _ 자이로 센서 X축 값 읽어보기

06 이미지로 얼굴 인식하기
01 _ python3-opencv 설치하기
02 _ 이미지 읽고 보여주기
03 _ 흑백 이미지로 바꾸기
04 _ 얼굴 인식하기

07 카메라로 얼굴 인식하기
01 _ Web Streaming 활성화하기
02 _ 카메라 영상 읽고 출력하기
03 _ 카메라 영상 얼굴 인식하기

CHAPTER 04 Deep Learning 알고리즘의 이해

01 딥러닝의 개요
01 _ 인공 신경망이란?
02 _ 인공 신경망의 학습 방법
03 _ 인공 신경 살펴보기

02 딥러닝 7 공식
01 _ 딥러닝 제 1 공식 : 순전파
02 _ 딥러닝 제 2 공식 : 평균 제곱 오차
03 _ 딥러닝 제 3 공식 : 역전파 오차
04 _ 딥러닝 제 4 공식 : 입력 역전파
05 _ 딥러닝 제 5 공식 : 가중치, 편향 순전파
06 _ 딥러닝 제 6 공식 : 가중치, 편향 역전파
07 _ 딥러닝 제 7 공식 : 신경망 학습
08 _ 딥러닝 반복 학습해 보기
09 _ 딥러닝 7 공식 정리하기

03 딥러닝 7 공식 확장하기
01 _ 2입력 1출력 인공 신경
딥러닝 제 1 공식 : 순전파
딥러닝 제 2 공식 : 평균 제곱 오차
딥러닝 제 3 공식 : 역전파 오차
딥러닝 제 4 공식 : 입력 역전파
딥러닝 제 5 공식 : 가중치, 편향 순전파
딥러닝 제 6 공식 : 가중치, 편향 역전파
딥러닝 제 7 공식 : 신경망 학습
딥러닝 반복 학습해 보기
02 _ 2입력 2출력 인공 신경망
딥러닝 제 1 공식 : 순전파
딥러닝 제 2 공식 : 평균 제곱 오차
딥러닝 제 3 공식 : 역전파 오차
딥러닝 제 4 공식 : 입력 역전파
딥러닝 제 5 공식 : 가중치, 편향 순전파
딥러닝 제 6 공식 : 가중치, 편향 역전파
딥러닝 제 7 공식 : 신경망 학습
딥러닝 반복 학습해 보기
03 _ 2입력 2은닉 2출력 인공 신경망
인공 신경망 수식 정리하기
인공 신경망 구현하기

04 텐서플로우로 딥러닝 7 공식 구현하기
01 _ Tensorflow 라이브러리 설치하기
02 _ 1입력 1출력 인공 신경 구현하기
03 _ 2입력 1출력 인공 신경 구현하기
04 _ 2입력 2출력 인공 신경 구현하기
05 _ 2입력 2은닉 2출력 인공 신경망 구현하기

05 활성화 함수 추가하기
01 _ 활성화 함수의 필요성
02 _ 활성화 함수의 순전파와 역전파
03 _ 활성화 함수 적용하기
04 _ 출력층에 linear 함수 적용해 보기
05 _ softmax 활성화 함수/cross entropy 오차 함수 살펴보기
06 _ softmax 활성화 함수/cross entropy 오차 함수 적용하기

06 Tensofrlow 활용하기
01 _ 7세그먼트 인공 신경망
02 _ 은닉층 늘려보기
03 _ 딥러닝 활용 예제 살펴보기

APPENDIX 01 외부 디바이스 분석과 드라이버 이해
01 L9110S 모터 제어 살펴보기
01 _ 전진 후진 속도 기준 통일하기
02 _ 전진 후진 속도 보정하기
03 _ 양쪽 바퀴 전진 후진 코딩하기
04 _ 모터 드라이버 살펴보기

02 MCP3208 디바이스 살펴보기
01 _ SPI 내부 블록도 살펴보기
02 _ MCP3208 통신 프로토콜 살펴보기
03 _ MCP3208 ADC 드라이버 살펴보기

03 PCA9685 디바이스 살펴보기
01 _ PCA9685 블록도 살펴보기
02 _ PCA9685 레지스터 살펴보기
03 _ PCA9685 PWM 제어 살펴보기
04 _ PCA9685 PWM 드라이버 살펴보기

04 MPU6050 디바이스 살펴보기
01 _ MPU6050 드라이버 살펴보기
02 _ 자이로 센서 값 해석하기

05 MAX98357A I2S 디바이스 살펴보기
01 _ MAX98357A I2S 오디오 디바이스 소개
02 _ MAX98357A 모듈 연결 살펴보기
03 _ I2S 모듈 활성화하기
04 _ 오디오 테스트

APPENDIX 02 PyTorch의 이해와 활용
01 딥러닝 7 공식 구현하기 : PyTorch
01 _ 1입력 1출력 인공 신경 구현하기
02 _ 2입력 1출력 인공 신경 구현하기
03 _ 2입력 2출력 인공 신경 구현하기
04 _ 2입력 2은닉 2출력 인공 신경 구현하기

02 활성화 함수 적용하기
01 _ 활성화 함수 적용하기 : ReLU, Sigmoid
02 _ 출력층에 linear 함수 적용해 보기
03 _ softmax 활성화 함수/ cross entropy 오차 함수 적용하기

03 PyTorch 활용하기
01 _ 7 세그먼트 인공 신경망
02 _ 은닉층 늘려보기
03 _ 딥러닝 활용 예제 살펴보기
Author
서민우,전한결
연세대학교 정보산업공학 학사

코코랩스(http://www.kocolabs.co.kr/) 대표
MDS 아카데미 Cortex-M3/M4, 드론, 리눅스 교육
대한상공회의소 서울기술교육센터 출강
LG 전자 신입사원 C/C++ 교육
SK 하이닉스 RTOS 교육
삼성전자 리눅스 드라이버/RTOS 교육
Xilinx FPGA/HDL 교육
ETRI verilogHDL 교육
숭실대 아두이노 IoT 교육
국민대 Cortex-M3 교육

[저서]
한 권으로 끝내는 파이썬 아두이노 입문+실전(종합편) (2021. 9 앤써북)
아두이노로 코딩하며 배우는 딥러닝(2021. 06 앤써북)
ESP32 아두이노 드론 만들고 직접 코딩으로 PID 제어하기(2021. 02 앤써북)
아두이노 자율주행 RC카 만들고 직접 코딩하기(2020. 12 앤써북)
진짜 코딩하며 배우는 라즈베리파이 4(2020. 08 앤써북)
진짜 코딩하며 배우는 파이썬(2020. 08 앤써북)
아두이노 드론 만들고 날리고 직접 코딩하기(2020. 03 앤써북)
마이크로비트로 배우는 파이썬(2020. 02 앤써북)
아두이노로 만드는 사물인터넷(2019. 07 앤써북)
라즈베리파이 드론 만들고 직접 코딩하기(2018. 07 앤써북)
아두이노 드론 만들고 직접 코딩하기(2018. 06 앤써북)
아두이노처럼 사용하는 라즈베리 파이 3 직접 코딩하기(2018. 03 앤써북)
아두이노 피지컬 컴퓨팅 다두블럭으로 만들고 엔트리로 코딩하기(2017. 09 앤써북)
아두이노 드론 만들고 코딩하고 날리기 입문 (2017. 03 앤써북)
아두이노와 안드로이드로 45개 프로젝트 만들기(2014. 9 앤써북)
연세대학교 정보산업공학 학사

코코랩스(http://www.kocolabs.co.kr/) 대표
MDS 아카데미 Cortex-M3/M4, 드론, 리눅스 교육
대한상공회의소 서울기술교육센터 출강
LG 전자 신입사원 C/C++ 교육
SK 하이닉스 RTOS 교육
삼성전자 리눅스 드라이버/RTOS 교육
Xilinx FPGA/HDL 교육
ETRI verilogHDL 교육
숭실대 아두이노 IoT 교육
국민대 Cortex-M3 교육

[저서]
한 권으로 끝내는 파이썬 아두이노 입문+실전(종합편) (2021. 9 앤써북)
아두이노로 코딩하며 배우는 딥러닝(2021. 06 앤써북)
ESP32 아두이노 드론 만들고 직접 코딩으로 PID 제어하기(2021. 02 앤써북)
아두이노 자율주행 RC카 만들고 직접 코딩하기(2020. 12 앤써북)
진짜 코딩하며 배우는 라즈베리파이 4(2020. 08 앤써북)
진짜 코딩하며 배우는 파이썬(2020. 08 앤써북)
아두이노 드론 만들고 날리고 직접 코딩하기(2020. 03 앤써북)
마이크로비트로 배우는 파이썬(2020. 02 앤써북)
아두이노로 만드는 사물인터넷(2019. 07 앤써북)
라즈베리파이 드론 만들고 직접 코딩하기(2018. 07 앤써북)
아두이노 드론 만들고 직접 코딩하기(2018. 06 앤써북)
아두이노처럼 사용하는 라즈베리 파이 3 직접 코딩하기(2018. 03 앤써북)
아두이노 피지컬 컴퓨팅 다두블럭으로 만들고 엔트리로 코딩하기(2017. 09 앤써북)
아두이노 드론 만들고 코딩하고 날리기 입문 (2017. 03 앤써북)
아두이노와 안드로이드로 45개 프로젝트 만들기(2014. 9 앤써북)