이하의 내용은 2020년7월23일에 발행된 초판에만 적용됩니다. 2023년9월4일에 발행된 2쇄에는 해당되지 않으므로 이하의 내용을 무시해도 됩니다.
제2장 페이지39~47 [아두이노 IDE 설치하기], [ESP8266 보드 매니저 설치하기]를 대체하는 웹페이지를 제공합니다. 추가일 23-02-25
책에서는 옛 버전의 아두이노 IDE를 기준으로 설치 방법을 설명하고 있지만, 웹페이지에서는 새로운 아두이노 버젼 2.X 기준으로 설명하고 있습니다.
웹페이지의 내용은 책의 다음 두 섹션을 대체합니다.
CHAPTER 02 | SECTION 01 |아두이노 IDE 설치하기CHAPTER 02 | SECTION 02 |ESP8266 보드 매니저 설치하기 https://iotmaker.kr/iotbook-insatall-arduino-ide
제3장 페이지 100 sizeof(buf)를 sizeof(buf1)으로 수정 수정일 20-11-02
프로그램 3-6 String-to-char-array 에서 10행의 sizeof(buf)를 sizeof(buf1)으로 수정합니다.
nameStr.toCharArray(buf1,sizeof(buf1)); // sizeof(buf1): 10
제4장 페이지 117,118,120 변수 sum의 초기화 누락
함수 안에서 선언된 변수는 처음으로 읽기 전에 반드시 0으로 초기화 해야 함. 해당 페이지에서 변수 sum이 초기화되지 않은 것은 오류임.
각 프로그램은 다음과 같이 수정해야함
페이지117 프로그램4-3 sum-while 페이지118 프로그램4-4 sum-while-break 페이지120 프로그램4-5 sum-forint sum = 0;
제5장 페이지 138 아스키 값 표기 방식을 8진법에서 10진법으로 변경
[표5-4] 추가 입력 문자
아스크 코드값을 별도 표시없이 8진수로 표시하여 오해의 소지가 있음. 10진수로 변경하여 표시하기로 함
새줄의 아스키 코드 값을 12에서 10으로 수정함
(새줄의 아스키 코드 값은 8진수로는 12이고 10진수로는 10임) 캐리지 리턴의 아스키 코드 값을 15에서 13으로 수정함
(캐리지 리턴의 아스키 코드 값은 8진수로는 15이고 10진수로는 13임)
(새줄의 아스키 코드 값은 8진수로는 12이고 10진수로는 10임) 캐리지 리턴의 아스키 코드 값을 15에서 13으로 수정함
(캐리지 리턴의 아스키 코드 값은 8진수로는 15이고 10진수로는 13임)
제6장 페이지 161,162 ICACHE_RAM_ATTR 을 IRAM_ATTR 로 수정함 수정일 23-02-25
ICACHE_RAM_ATTR는 퇴출될(depreciated) 예정이므로 대신 IRAM_ATTR를 사용하는 것이 좋습니다.
프로그램 6-5 serial-led-ticker-esp는 다음과 같이 수정합니다.
[인쇄된 내용]
void ICACHE_RAM_ATTR ledISR() {[변경]
void IRAM_ATTR ledISR() {페이지 162 프로그램 설명 부분의 ICACHE_RAM_ATTR는 IRAM_ATTR로 수정합니다.
제8장 페이지 211,212 Github의 다운로드 버튼 이름 변경됨
Github의 프로그램 다운로드 버튼 이름이 Clone or Download에서 Code로 변경되었습니다. 버튼 이름만 바뀌었을 뿐 조작법은 동일합니다. 이에 따라 본문의 사진 2장를 다음과 같이 변경합니다.
페이지 211
2 Github의 'WifiManager' 페이지로 이동합니다. 페이지 212
3 ①[Code] - ②[Download ZIP]을 선택하여 ③ 라이브러리의 .zip 파일을 다운로드합니다.
페이지 211
2 Github의 'WifiManager' 페이지로 이동합니다. 페이지 212
3 ①[Code] - ②[Download ZIP]을 선택하여 ③ 라이브러리의 .zip 파일을 다운로드합니다.
제9장 페이지 232 void val() 을 int val()로 수정함
메소드 val은 int를 돌려줌. 그래서 앞의 void를 int로 해야함.
[인쇄된 내용]
void val()[변경]
int val()
제9장 페이지 246 첫 줄 AimPass를 AimConfig로 수정함 수정일 23-02-25
제9장 페이지 254 연습문제 조건이 수정됨
1
템플릿 파일 이름에서 Chapter09가 chapter09으로 변경됨
2 문장 이 프로그램은 MQTT 브로커와 접속하여 통신합니다.를 삭제함
제10장 페이지 266 에 다음 내용을 추가합니다. 수정일 21-08-23
1
윈도우즈에 Mosquitto를 설치하면 초기설정으로는 동일 PC(로컬 머신) 내에서만 접속이 됩니다. (즉, 동일한 PC 내에서 MQTTLens와 같은 도구로만 접속이 가능합니다.) 외부에서 접속할 수 있도록 허용하기 위해서는 mosquitto.conf파일에 listener 1883을 추가하여야 합니다.
2 만약 유저네임(ID)과 비밀번호 없이 접속할 수 있게 하려면 mosquitto.conf파일에 다음과 같이 allow_anonymous true를 설정합니다.
제11장 페이지 288외 Node-RED를 node-red로 변경
소프트웨어 이름으로서는 Node-RED라고 표기해야 하지만, 프로그램 설치나 실행과 관련된 명령어, 폴더 이름, URL은 node-red라고 입력해야 함
288페이지
npm install -g --unsafe-perm node-red
node-red
cd node-red node-red
289페이지
폴더 이름을 .node-red로 바꿈
291페이지
https://iotmaker.kr/iotbook-node-red-clouds
295페이지
https://iotmaker.kr/iotbook-node-red-flows
315페이지
https://iotmaker.kr/iotbook-node-red-study
제12장 페이지 351 연습문제 json 파일 이름 변경됨
파일 이름flows-led-control.json이 flows-led-control-exam.json으로 변경됨
제14장 페이지 380 [그림14-8]의 두번째 저항 이름이 R2로 변경됨
[그림14-8]의 두번째 저항 이름이 R2로 변경됨
제15장 페이지 400 그림의 토픽 지정 변경됨
토픽이 relay에서 room/relay-r로 변경됨
제16장 페이지 407 저항(10KΩ)이 추가됨
DHT22의 데이터핀(여기서는 D4)을 저항 10KΩ으로 풀업해야 함
제16장 페이지 408 센서 실드의 핀번호를 바꾸어서 오류 해결하기 수정일 23-02-28
DHT22 센서 실드가 오류를 일으키는 경우가 있습니다. 이 경우 데이터 핀을 변경하여 오류를 피할 수 있습니다.
DHT22 센서 실드의 핀번호를 바꾸어서 오류 해결하기
제16장 페이지 421 연습문제의 파일 이름 변경됨
아래에서 세번째 줄 dht12-oled-exam.ino에서 dht22-oled-exam.ino로 변경됨