스크랩

구간

아두이노 바이블 vol. 4 인터넷과 아두이노의 확장 편 상상이 현실이 되는 마법 스케치

허경용 저 | 제이펍 | 2021년 06월

미리보기 북트리

정가
$44.00
판매가
$35.64 (19%↓) 최저가 보상
적립금
$0.71 (2%P)
출고예상일
2026년 10월 09일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791191600056 / 400쪽 188 x 245 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

반디앤루니스 리뷰

아두이노로 상상할 수 있는 A부터 Z까지!

《아두이노 바이블》 제4권 ‘인터넷과 아두이노의 확장 편’은 총 15개의 장과 2개의 부록을 통해 아두이노를 사물인터넷에 참여시키는 방법과 아두이노의 생태계를 확장하는 방법을 살펴본다.

출판사 리뷰

4권 ‘인터넷과 아두이노의 확장 편’의 주요 내용 CHAPTER 64 인터넷과 사물인터넷 _ 사물인터넷 환경에서 아두이노가 사물로 동작하기 위해 이더넷과 와이파이를 사용하여 인터넷에 연결하는 방법을 알아본다. CHAPTER 65 ESP-01 와이파이 모듈 _ ESP-01 모듈의 특징과 아두이노에 연결하는 방법 그리고 AT 명령을 사용하여 ESP-01 모듈을 제어하는 방법에 대해 알아본다. CHAPTER 66 오늘의 날씨 클라이언트: AT 명령 _ AT 명령 입력을 자동화하는 스케치와 오픈 API를 사용하여 양식 정보가 없는 JSON 형식의 날씨 정보를 일정한 시간 간격으로 얻어와 출력하는 날씨 정보 클라이언트를 구현하는 방법을 알아본다. CHAPTER 67 온도 데이터 제공 서버: AT 명령 _ AT 명령을 통해 웹 서버를 구현하고 온도 정보를 클라이언트에 제공하는 방법을 알아본다. CHAPTER 68 웹 클라이언트와 서버: WiFiEsp 라이브러리 _ AT 명령을 바탕으로 웹 서비스를 쉽게 사용할 수 있도록 만들어진 WiFiEsp 라이브러리를 사용하여 오늘의 날씨 정보를 얻어오는 클라이언트와 온도 정보를 제공하는 서버를 구현하는 방법을 알아본다. CHAPTER 69 원격 제어 _ 웹 페이지를 통해 원격지의 기기를 제어하는 방법을 LED를 제어하는 예를 통해 알아본다. CHAPTER 70 인터넷 시간 사용하기 _ NTP 서버에서 시간을 얻어오는 여러 방법을 살펴본다. CHAPTER 71 미니 프로젝트: 스트림 데이터 검색기 _ SRAM 크기보다 큰 데이터를 처리할 수 있도록 데이터를 수신함과 동시에 필요한 정보를 찾아내는 방법을 살펴본다. CHAPTER 72 아두이노 메가2560 _ 아두이노 메가2560과 아두이노 메가2560에 사용된 ATmega2560 마이크로컨트롤러에 대해 알아본다. CHAPTER 73 아두이노 레오나르도 _ 아두이노 레오나르도의 특징과 아두이노 레오나르도를 사용하여 키보드나 마우스를 구현하는 방법을 알아본다. CHAPTER 74 아두이노 나노와 아두이노 나노 에브리 _ 아두이노 나노와 아두이노 나노 에브리의 특징과 사용 방법을 알아본다. CHAPTER 75 DIY 아두이노 _ 스케치 업로드 등의 부가 기능을 제외하고 아두이노 우노로 동작할 수 있게 하는 데 필수적인 기능들로 이루어진 아두이노 우노 호환 보드 DEUino를 만드는 과정을 살펴보고 DEUino를 사용하는 방법을 알아본다. CHAPTER 76 ATmega128 _ ATmega128 마이크로컨트롤러를 아두이노 환경에서 사용하는 방법을 알아본다. CHAPTER 77 ATtiny85 _ ATtiny85 마이크로컨트롤러와 Digispark 보드를 아두이노 환경에서 사용하는 방법을 알아본다. CHAPTER 78 ESP8266과 NodeMCU _ ESP-01 모듈의 업그레이드 버전인 ESP-12 모듈을 사용하여 아두이노 보드 없이 단독으로 시스템 구현에 사용할 수 있게 만들어진 NodeMCU 보드를 아두이노 환경에서 사용하는 방법을 알아본다. APPENDIX A 아두이노 기본 함수 _ 아두이노에서 제공하는 기본 함수의 기능에 대해 알아본다. APPENDIX B 아두이노 기본 클래스 _ 별도로 헤더 파일을 포함하지 않고 사용할 수 있는 2개의 기본 클래스인, UART 시리얼 통신을 위한 Serial 클래스와 문자열을 위한 String 클래스에 대해 알아본다.

저자 소개

  • 저자 : 허경용
저자 : 허경용
연세대학교 전자공학과 학사와 동(同) 대학원 석사를 취득하였다. 이후 플로리다대학교(University of Florida)에서 컴퓨터공학 박사를 취득하였으며, 현재 동의대학교 전자공학과 교수로 재직 중이다. 저서로는 《허교수의 ARM Mbed 프로그래밍 입문》(2019), 《따라 하면서 배우는 마이크로컨트롤러》(2019), 《사물인터넷을 위한 ESP8266 프로그래밍》(2017), 《ATmega128로 배우는 마이크로컨트롤러 프로그래밍》(2016), 《따라 하면서 배우는 아두이노》(2016), 《사물인터넷을 품은 아두이노》(2016), 《아두이노 상상을 스케치하다》(2014) 등 11종이 있다

책 속에서

ESP8266에는 펌웨어 저장을 위한 플래시 메모리가 포함되어 있지 않으므로 SPI 방식의 외부 플래시 메모리가 필요하다􏘛 플래시 메모리가 포함되어 있지 않으므로 ESP8266은 단독으로 사용될 수 없고 메모리를 추가하여 만들어진 모듈이 주로 사용된다. 이 책에서 시리얼 와이파이 모듈로 사용하는 ESP-01 모듈에는 1MB의 외부 플래시 메모리가 포함되어 있다. _23쪽

스케치 66.6은 날씨 정보 요청 후 날씨 서버에서 수신되는 페이지를 처리하는 함수다. 헤더 수신 시작을 기다리는 상태, 헤더 수신 종료를 기다리는 상태, JSON 데이터 수신 종료를 기다리는 상태의 세 가지 상태를 가지며 process_state 변수로 구분하여 처리한다. 문자열 검색을 위해서는 표준 문자열 함수인 strstr 함수를 사용했다. _57쪽

스케치 69.7은 클라이언트의 요청을 파악하는 processRequest 함수를 나타낸다. 메인 페이지(1), LED OFF 페이지(2), LED ON 페이지(3)를 요청하는 3개 요청만 구별하도록 했다. 스케치 69.7에서는 앞의 예에서 사용한 스케치 69.4의 findRequestString 함수를 GET 문장에서 주소를 찾아내기 위해 사용한다. _122쪽

마이크로컨트롤러는 작고 간단한 시스템 구현을 위해 흔히 사용된다는 점, 특히 아두이노 우노는 8비트의 AVR 시리즈 마이크로컨트롤러를 사용한다는 점에서 시스템을 구현할 때는 하드웨어의 한계뿐만 아니라 제한적인 하드웨어를 사용하는 소프트웨어의 한계 역시 이해할 필요가 있다. _176쪽

스케치를 업로드하고 13번 핀에 연결된 내장 LED가 1초 간격으로 점멸하는 것을 확인해 보자. 마찬가지로 RX와 TX에 연결된 LED도 블링크 스케치에서 핀 번호를 24번(RX)과 25번(TX)으로 바꾸어서 업로드하면 1초 간격으로 점멸하는 것을 확인할 수 있다. _230쪽

사용할 수 있는 입출력 핀의 수가 적기는 하지만, 아두이노 환경에서 기본적인 디지털 및 아날로그 데이터 입출력 함수들을 모두 사용할 수 있으므로, 많은 입출력 핀이 필요하지 않은 작고 간단한 제어 장치를 구현하기 위해서라면 ATtiny85를 고려해 볼 수 있다. _294쪽

목차

vol.4 인터넷과 아두이노의 확장 편
머리말 x / 장별 주요 내용 xii / 장별 부품 목록 xvii / 베타리더 후기 xx

CHAPTER 64 인터넷과 사물인터넷
64.1 인터넷 계층 구조 3
64.2 하드웨어를 통한 연결: 이더넷.와이파이 5
64.3 데이터 전송을 위한 연결: TCP/IP 8
64.4 인터넷을 위한 새로운 주소 체계: IPv6 9
64.5 서비스 제공을 위한 연결: HTTP 10
64.6 인터넷 연결을 위한 설정 12
64.7 사물인터넷 16
64.8 맺는말 18
연습문제 20

CHAPTER 65 ESP-01 와이파이 모듈
65.1 ESP8266 22
65.2 ESP-01 모듈 23
65.3 ESP-01 모듈 설정 25
65.4 AT 명령을 통한 웹 서버 접속 32
65.5 맺는말 40
연습문제 42

CHAPTER 66 오늘의 날씨 클라이언트: AT 명령
66.1 OpenWeather: 날씨 정보 사이트 44
66.2 날씨 정보 얻기 48
66.3 맺는말 60
연습문제 62

CHAPTER 67 온도 데이터 제공 서버: AT 명령
67.1 온도 데이터 제공 서버 64
67.2 웹 서버를 위한 스케치 70
67.3 맺는말 76
연습문제 77

CHAPTER 68 웹 클라이언트와 서버: WiFiEsp 라이브러리
68.1 IPAddress 클래스 82
68.2 WiFiEspClass 클래스 83
68.3 WiFiEspClient 클래스 91
68.4 WiFiEspServer 클래스 103
68.5 맺는말 108
연습문제 109

CHAPTER 69 원격 제어
69.1 LED 점멸 제어: 연결 주소에 의한 제어 112
69.2 LED 점멸 제어: 웹 페이지에 의한 제어 120
69.3 LED 밝기 제어 124
69.4 맺는말 130
연습문제 132

CHAPTER 70 인터넷 시간 사용하기
70.1 TCP와 UDP 134
70.2 NTP와 SNTP 136
70.3 NTP 서버에서 시간 얻어오기: WiFiEsp 라이브러리 137
70.4 NTP 서버에서 시간 얻어오기: NTPClient 라이브러리 145
70.5 NTP 서버에서 시간 얻어오기: AT 명령 149
70.6 맺는말 154
연습문제 155

CHAPTER 71 미니 프로젝트: 스트림 데이터 검색기
71.1 원형 버퍼를 이용한 문자열 검색 158
71.2 오늘의 날씨 클라이언트 168
71.3 맺는말 175

CHAPTER 72 아두이노 메가2560
72.1 아두이노 메가2560 178
72.2 아두이노 메가2560에 스케치 업로드하기 183
72.3 하드웨어 시리얼 포트 184
72.4 맺는말 189
연습문제 190

CHAPTER 73 아두이노 레오나르도
73.1 아두이노 레오나르도 192
73.2 아두이노 레오나르도에 스케치 업로드하기 196
73.3 하드웨어 시리얼 포트 199
73.4 마우스와 키보드 라이브러리 203
73.5 맺는말 213
연습문제 214

CHAPTER 74 아두이노 나노와 아두이노 나노 에브리
74.1 아두이노 나노 216
74.2 아두이노 나노에 스케치 업로드하기 219
74.3 아두이노 나노의 아날로그 입력 핀 221
74.4 아두이노 나노 에브리 222
74.5 아두이노 나노 에브리에 스케치 업로드하기 227
74.6 아두이노 나노 에브리의 하드웨어 시리얼 포트 230
74.7 맺는말 234
연습문제 236

CHAPTER 75 DIY 아두이노
75.1 DEUino: DIY and Enjoy Your Arduino 239
75.2 DEUino에 스케치 업로드하기 248
75.3 8MHz 내부 클록 사용 257
75.4 맺는말 264
연습문제 266

CHAPTER 76 ATmega128
76.1 ATmega128 마이크로컨트롤러 268
76.2 ATmega128 보드 설정 270
76.3 ATmega128 아두이노 프로그래밍 276
76.4 맺는말 283
연습문제 285

CHAPTER 77 ATtiny85
77.1 ATtiny85 288
77.2 Digistump의 Digispark 보드 297
77.3 맺는말 306
연습문제 308

CHAPTER 78 ESP8266과 NodeMCU
78.1 NodeMCU 310
78.2 아두이노 환경에서 NodeMCU 보드 사용 312
78.3 시리얼 통신 317
78.4 와이파이 323
78.5 맺는말 327
연습문제 328

APPENDIX A 아두이노 기본 함수
A.1 디지털 입출력 함수 330
A.2 아날로그 입출력 함수 331
A.3 고급 입출력 함수 333
A.4 시간 함수 336
A.5 수학 함수 337
A.6 삼각 함수 340
A.7 문자 함수 341
A.8 난수 함수 346
A.9 비트 조작 함수 347
A.10 외부 인터럽트 함수 349
A.11 인터럽트 함수 351

APPENDIX B 아두이노 기본 클래스
B.1 Serial 354
B.2 String 361

찾아보기 374

top