'9600'에 해당되는 글 5건

  1. 2020.01.17 Hardware | bluetooth 모듈 SPP-C 사용해 보기
  2. 2020.01.05 Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 2
  3. 2019.07.07 Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 1
  4. 2018.12.31 Hardware | ESP-01 or ESP8266 사용기 - 2 2
  5. 2018.10.04 Hardware | ESP-01 or ESP8266 사용기 - 1 4

Hardware | bluetooth 모듈 SPP-C 사용해 보기

|

Bluetooth 모듈에 꽂혀 꽃혀, 한꺼번에 구입한 모듈들의 마지막 모듈인 SPP-C 확인 포스트 입니다.

지금까지 확인해 본 Bluetooth 모듀에 대해서는 아래 글을 참고해 보세요.


* Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 2

- https://chocoball.tistory.com/entry/Hardware-bluetooth-HC06-HC05-2


* Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 1

https://chocoball.tistory.com/entry/Hardware-bluetooth-HC06-HC05-1




1. SPP-C


이름도 생소한 SPP-C Bluetooth 모듈입니다.

구입처는 아래 링크에서 구입. 일반 모듈 치고는 3천원 정도로 고가네요.


* SPP-C Bluetooth serial pass-through module wireless serial communication from machine Wireless SPPC Replace HC-05 HC-06

- https://www.aliexpress.com/item/32755550889.html



사용된 main chip 은 Beken 이라는 중국 회사 제품 입니다.


* BK3231

BKDatasheet.pdf

SPP-CA HardwareGuide_chn.pdfSPP.pdf

SPP.pdf


외형은 다음과 같이 생겼어요.



사진에서 볼 수 있 듯, 사용된 breakout board 는 HC-05 / 06 과 동일한 ZS-040 이 사용 되었습니다.




2. 간단 구동


FTDI 로 연결하여 Arduino IDE 의 Serial Monitor 를 통해, AT command 로 상태 확인을 해보겠습니다.



이렇게 계속 LED 가 깜빡이면, AT command mode 라고 하네요.

Paring 이 되면, LED 가 계속 켜져 있습니다.



아래는 간단한 AT command 의 결과 입니다.

HC-05 / 06 과 다른 점은, AT 명령어 끝에 물음표 ( ? ) 를 넣지 않습니다.



AT

ready 상태 확인


AT+RESET

상태 reset


AT+VERSION

firmware version 확인


AT+LADDR

할당된 주소 표시


AT+NAME

기기 확인용 이름 확인하거나 설정


AT+ROLE

Master / Slave 확인하거나 설정


AT+PIN

Paring 시 사용 될 비밀번호 확인하거나 설정


AT+BAUD

Paring 시 사용 될 baud rate 확인하거나 설정


AT+HELP

특이하게 HELP 명령어를 지원합니다. 어떤 명령어들이 준비되어 있는지 알 수 있으니 좋네요.





3. Windows 10 과 연동


HC-05 / 06 에서 했던 OS 와 연동시켜 봅니다.



Windows 10 에서 기기를 찾을 수 있습니다.



Paring 을 위한 password 를 넣습니다. 아까 AT command 로 확인한 "1234" 겠죠?



일반 Bluetooth 기기처럼 쉽게 연결이 됩니다. 장치관리자에서 기기 등록이 완료됩니다.



연결된 Bluetooth 가, 그 모듈이 맞는지 주소도 확인해 봅니다.



Windows 에서는 COM11 로 연결되었군요.



Putty 를 이용해 접근해 봅니다. 초기 Speed Baud rate 는 9600 입니다.



Serial Monitor (FTDI 연결) 와 Putty (Serial) 접속 - 각각 다른 접근을 통해, paring 통신이 가능한지 확인해 봅니다.



서로 연결이 문제없이 되고, 문자 전송으로 통신 연결을 확인 할 수 있습니다.

동영상 첨부합니다.



HC-05/06 과 다른 점은, pairing 연결/해제에 대한 상태 및 상대 주소도 보여줍니다.


Paring 성공

+CONNECTING<<

CONNECTED


Paring 해제

DISC:SUCCESS

+READY

+PAIRABLE





4. Master / Slave 연동 준비


HC-05/06 에서 해 봤던, Master/Slave 연동을 시험해 보기로 합니다.



우선 HC-05/06 에서 통신 속도를 38400 baud rate 로 맞춰서 진행했으니, 동일하게 설정합니다.

AT 명령어는, "AT+BAUD6" 입니다.



Serial Monitor 에서 명령어 실행 후, baud rate 를 바꿔 확인하면, 정상적으로 설정 된 것을 확인.



SPP-C 를 Slave 로 이용시, 가지고 있는 주소를 알아야 Master 에서 직접 연결이 가능하므로, 주소를 따 놓습니다.

그 주소를 HC-05 Master 에 등록해 줍니다.




5. Master / Slave 연동 연결


연결은 한번 해봤던 회로를 그대로 사용.


   SPP-C  | Arduino Nano
-------------------------
    TXD   |      D10
    RXD   |      D11
-------------------------
          |     POWER
-------------------------
    VCC   |      3.3V
    GND   |      GND
-------------------------
  SWITCH  |      D2
 LED+220Ω |      D8
-------------------------


회로도도 동일.



아래와 같이 배선. 얼핏 보기엔 복잡하지만, LED 와 스위치, 그리고 TX/RX 를 연결해 주면 됩니다.



다른 분들은 쉽게 하는것 같은데, arduino 에서 전원을 끌어다 쓰면 정상동작 하지 않았습니다.

외부전원 - MB102 를 사용해야 정상 동작했습니다.



동작 확인 동영상 입니다.

Arduino 에 들어간 소스는 tactile switch 가 눌리면 Master / Slave 에 신호를 보내고,

상대 Slave / Master 에서 신호를 받으면 LED 를 high 로 만드는 소스 입니다.



소스는 이전 포스트인 아래 글에 올려 놨습니다.


    * Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 2

- https://chocoball.tistory.com/entry/Hardware-bluetooth-HC06-HC05-2




5. Master / Slave 모드 변경


검색 해보면, SPP-C 에 사용된 BK3231 는 Slave 뿐만 아니라, Master 로도 사용이 가능합니다.

"AT+ROLE1" 명령어로 Master 로 변경되어야 하나, command 결과가 OK 라 할지라도 모드 변경이 되지 않습니다.



메뉴얼을 찾아 봤습니다.



하드웨어적으로 Slave only 가 될 수도 있다고 하네요.

좀더 찾아 봤습니다. BC04-A 이지만, BC04-B 메뉴얼에 보면, PIO(4)PIO(5) 를 이용해서 모드 변경이 가능하다 합니다.



PIO(4) 를 3.3V 에 연결하면 software 변경 모드로 온다 합니다. 이렇게 하면 AT command 로 조정 가능해 보입니다.

그렇게 하면 PIO(5) 는 건들지 않아도 된다고 하네요.



27번핀이 PIO(4) 인 것이군요.


BC04-B Technical specification.pdf

BC04-B_AT_Command.pdf

BK3231_ARM968E-S.pdf

BLK-MD-BC04-B_AT-COMMANDS.pdf

DS_IM130614001_Serial_Port_BLE_Module_Master_Slave_HM-10.pdf


단, 좀 확신을 가질 수 없는게, 명확히 BC04-A 레이아웃에도 적용이 되는지 입니다.

여러 사진들을 찾아 봤으나, BK3231 이 올라간 그림에서 PIO(4) 는 여기닷! 이라고 찍혀 있는 사진이 없었습니다.



이렇게 보면, Pin 구성이 많이 다른것 같기도 하고...





6. 접점 변경


일단 BC04-B 기준으로 접점 조정을 해보기로 합니다.



배를 갈라주고...



저 노란색 화살표의 제일 오른쪽이 PIO(4) 인데, 일단 납땜이 되어 있습니다.

Slave 고정되어 있는 현재의 상태를 변경해줘야 하니, 땜 접점을 없애 주기로 합니다.



열풍기가 있으면 한방이겠지만... ㅠ.ㅠ

토스트기에 넣고 구우면서 핀셋으로 흔들어 봅니다. 효과 없군요.



RX/TX 부분이 가장 멀리 떨어져 있으니, 여기서부터 납 제거 및 보드를 살짝씩 들어 올려서 분리 시도 합니다.



잘 떨어졌는데, 위 사진의 화살표 보이는 것 처럼 동판도 들려버렸습니다. 아...



캡톤 테이프 성애자인 저는, 막아야 할 27 pin 및 혹시라도 접점이 생길것 같은 부분을 커버해 줍니다.



27 pin 을 방어한 체로, 다시 납땜.



그리고 FTDI 에 연결.

반응이 없습니다..............


FTDI 연결 모듈에 들오지 않은 불이 하나 더 들어 옵니다. 어딘가 쇼트가 되었거나 기판 (동판) 이 망가진 듯.

27 pin 을 다시 납땜 해서 접점을 만들어 줘도 동일 현상.


확실하게 망가졌네요. ㅠㅠ


SPP-C 를 Master 화 시키는 것은 실패했습니다.
오기가 발동하여, 동일한거 하나 더 구입해서 깔끔하게 다시 작업해 볼까 했습니다만,
다른 할것도 많고, 실제 구현때는 더 좋은 모듈을 사용할 것이기에 여기까지만 해보기로 타협합니다.


And

Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 2

|

일전에 구입해 놓은 bluetooth 모듈인, HC-06, HC-05, SPP-C 사용기 2탄 입니다.

첫번째 포스트는 아래 링크를 참고해 보세요.


* Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 1

- https://chocoball.tistory.com/entry/Hardware-bluetooth-HC06-HC05-1


오늘은 master/slave 두 가지 모드를 지원하는 HC-05 에 대해 알아봅니다.




1. Firmware


Wi-Fi 모듈처럼 자체 firmware 를 가지고 있습니다.

Firmware 를 최신버전으로 update 하고 싶었으나, 인터넷에서 찾기는 어렵네요.


HC-05 는 Bluetooth 계열에서는 고가면서 다기능인 RN42 로 업그레이드가 가능하다고 하지만,

저의 PCB 는 불가능한 제품임을 알게 되었습니다.


* Fake HC-05/HC-06 modules with BlueCore3 chips relabeled as BC417

https://github.com/lorf/csr-spi-ftdi/issues/25



언뜻 튜닝 요소가 많아 보이지만, 요즘 나오는 제품들은 튜닝이 불가능 한것 같습니다.




2. USB 시리얼 연결


궂이 arduino 를 통해서 연결할 필요는 없고, 직접 serial 통신으로 연결합니다.


  HC-05 | FTDI
----------------
   RX   |  TX
   TX   |  RX
----------------
        | POWER
----------------
   GND  |  GND
   VCC  |  3.3V
----------------


Arduino 를 거치지 않더라도 Arduino IDE 를 사용할 수 있습니다.

FTDI 가 연결 된 Port 만 정확하게 선택하면 Serial Monitor 를 이용하여 AT 명령어를 확인해 볼 수 있습니다.



HC-05 가 사용하는 전류량이 많은지라, arduino 나 FTDI 에서 전력을 공급하면 불안정한 모습을 보입니다.

Bluetooth 모듈도 Wi-Fi 모듈과 동일하게, 외부 전원을 이용하는 편이 좋습니다.



실제 연결은 다음과 같습니다.





3. AT mode


HC-05 가 동작하는 mode 는 두 가지가 있습니다. 하나는 보통 mode 이고, 다른 하나는 AT mode.

Normal mode 는 LED 깜빡임이 빠르고, AT mode 는 깜빡임이 느려서 그 구분을 할 수 있습니다.


참고로 설정을 변경할 수 있는 모드가 AT mode 이고, 기본 모드가 아닙니다.


* Normal mode



* AT mode



AT mode 로 들어가는 방법은 두 가지가 있습니다.



EN pin 을 high 로 (전원 연결)

EN pin 에 대해 전원을 연결한 상태로 키면 AT mode 로 진입하게 됩니다.

어떤 제품은 그냥 켰다가, 한번만이라도 EN 에 전원을 인가해 주면 AT mode 로 접근한다 하는데, 제꺼는 처음부터 high 로 놓지 않으면 AT mode 로 진입할 수 없었습니다.


Button 를 누른 상태에서 켜기

위의 화살표 버튼을 누른 상태에서 전원을 인가하면, AT mode 로 동작합니다.

그 뒤에 손을 놔도 그대로 AT mode 를 유지합니다.





4. Command list


HC-06 과 비슷하지만 다른 부분들도 있습니다.

주로 사용하는 command 를 가지고 간단한 설명을 남겨 놓습니다.



AT+VERSION?

firmware 버전에 대해 확인합니다.

비교적 요즈음 구매해서 그런지 "VERSION:3.0-20170601" 라고 뜨네요.


AT+STATE?

커멘드 입력시의 상태를 표시해 줍니다.

"INITIALIZED" ---- initialized status
"READY" ---- ready status
"PAIRABLE" ---- pairable status
"PAIRED" ---- paired status
"INQUIRING" ---- inquiring status 
"CONNECTING" ---- connecting status
"CONNECTED" ---- connected status
"DISCONNECTED" ---- disconnected status
"NUKNOW" ---- unknown status


AT+ROLE?

Master 인지 Slave 인지 확인할 수 있습니다. Master 이면 1, Slave 면 0 입니다.


AT+ADDR?

주소 정보를 반환해 줍니다.


AT+NAME?

기기 이름을 설정하거나 알려 줍니다.


AT+PSWD?

비밀번호를 확인할 수 있습니다.


AT+UART?

Serial connect 시에 사용될 속도를 설정/확인 할 수 있습니다.



AT+CMODE?

지정된 기기와 연결 시킬 것인지, 여러 기기와 통신하게 할 지를 정할 수 있습니다.

0 이면, 지정된 기기와의 연결만 가능하고, 1 이면 다른 여러 기기와 연결시킬 수 있는 mode 입니다.


AT+BIND?

연결할 상대 기기 주소 지정.


AT+POLAR?

PIO8 / PIO9 연결 상태에 따른 LED 표시 상태를 정의한다 합니다. 무슨 이야기 인지 하나도 모르겠습니다.


AT+IPSCAN?

IP 스캔할 인터벌과 타이밍을 설정합니다.


AT+SENM?

Safe / Encryption mode 라고 합니다.


AT+ADCN?

인증을 통해 pairing 된 기기의 수를 알려 줍니다.


AT+MRAD?

가장 최근에 인증을 통해 연결된 기기를 보여줍니다.


AT+MPIO?

Multiple port output 이라고 합니다. 무슨 소리인지 모르겠습니다.


AT+CLASS?

디바이스 타이프를 보여 줍니다.


AT+IAC?

Access code 에 GIAC type (General Inquire Access Code : default 는 0x9e8b33) 을 사용.


AT+INQM?

RSSI 모드로 몇 개의 device를 최장 몇 초동안 받아들일지의 설정.


잘 쓰이지 않을 보안과 deep한 설정은 잘 모르겠네요. 기준이 되는 문서를 첨부합니다.

추가로, firmware version 에 따라 명령어가 조금씩 다를 수 있습니다.


HC-0305_serial_module_AT_commamd_set_201104_revised.pdf




5. Slave 모드로 Windows 10 과 연결해 보기


HC-06 을 가지고 놀 때도 했지만, HC-05 이니 한번 더 동일한 방법으로 Windows 10 와 연결 해 봅니다.



인식 후, 연결을 위해 암호를 입력합니다.



특별한 문제 없이 연결 되었습니다.



장치 관리자에서 확인해 보면, Bluetooth 장치에 정상적으로 등록 되었네요.



Putty 로 연결해 보기 위해 COM port 를 확인해 봅니다.



Putty 의 Serial 로 연결해 봅니다.



Putty 에서 키보드로 입력하면, Putty 상에서는 보이지 않지만, Arduino IDE 의 Serial Monitor 에서는 전송된 글씨가 보입니다.



Slave 모드로 Windows 10 에 연결에 문제가 없네요.




6. Master 모드로 Slave 연동 - firmware 설정


마지막으로, HC-05 (Master) 와 HC-06 (Slave) 를 연결하여 통신이 가능한지 확인해 봤습니다.

참고한 사이트와 너tube 정보는 다음과 같아요.


* How to Configure HC-05 Bluetooth Module As Master and Slave Via AT Command

https://www.instructables.com/id/How-to-Configure-HC-05-Bluetooth-Module-As-Master-/


* Communication between Master HC-05 and Slave HC-05
    - https://www.youtube.com/watch?v=mY803K-5WxE



구성품은 arduino / 스위치 / LED 각각 두 개씩 필요하고, Master/Slave 가 될, HC-05 / HC-06 이 필요합니다.


HC-06 Slave 설정

우선 HC-06 Slave 에서 다음과 같이 설정합니다.


- AT+ROLE=0 : Slave 설정

- AT+ADDR? : Master 에 등록하기 위해 address 를 알아 냄

- AT+UART=38400,0,0 : Serial 통신 속도를 38400 으로 맞춤



통신속도를 맞추면, Serial Monitor 의 속도도 새로운 값 - 38400 에 맟줘 줘야 확인이 가능 합니다.



HC-05 Master 설정

그 다음으로, HC-05 Master 는 다음과 같이 설정합니다.


- AT+ROLE=1 : Master 설정

- AT+CMODE=1 : pairing 할 기기를 검색하지 않고, 지정하여 등록. 등록은 아래의 BIND 명령어로 설정.

- AT+BIND=98D3,41,F93341 : 패어링 할 Slave 기기를 지정. (위에서 Slave 의 ADDR 로 확인한 주소 정보)

- AT+UART=38400,0,0 : Serial 통신 속도를 38400 으로 맞춤



최종적으로 BIND 정보를 확인하여, Slave 어드레스가 잘 등록되어 있으면 OK 입니다.





6. Master 모드로 Slave 연동 - arduino 와 연결


Pin 연결은 다음과 같습니다.

HC-05 와 HC-06 의 연결은 Master/Slave 로 기능은 다르나, 연결 방법은 동일합니다.


 HC-05/06 | Arduino Nano
-------------------------
    TXD   |      D10
    RXD   |      D11
-------------------------
          |     POWER
-------------------------
    VCC   |      3.3V
    GND   |      GND
-------------------------
  SWITCH  |      D2
 LED+220Ω|      D8
-------------------------


회로도를 Fritzing 으로 그려 봤습니다.

최근에 업데이트 된 0.9.4 로 그렸는데, 그림 export 에 버그가 있네요. (점프선에 점선)



실제 구현한 사진 입니다.



주의할 점으로는, Wi-Fi 모듈 연결 시험 했을때와 동일하게, Bluetooth 모듈도 추가 전원으로 연결해야 원활한 확인이 가능 합니다.

Arduino 로부터 빼서 사용하는 전원은 충분치 못하여 불안정한 동작을 보입니다.



위의 사진 오른쪽 밑에 있는 것이 추가 전원입니다.

Arduino 에 써넣을 sketch 는 다음과 같습니다.


Master Source


//this is master

#include "SoftwareSerial.h"

SoftwareSerial BTSerial(10, 11);
int state = 0;
const int ledPin = 8;
const int buttonPin = 2;
int buttonState = 1;

void setup() {
  BTSerial.begin(38400);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  pinMode(buttonPin, INPUT);
  digitalWrite(buttonPin, HIGH);
}

void loop() {
 if(BTSerial.available() > 0) { 
    // Checks whether data is comming from the serial port
    state = BTSerial.read(); // Reads the data from the serial port
 }
 
 // Controlling the LED
 buttonState = digitalRead(buttonPin);
 
 if (buttonState == LOW) {
  BTSerial.write('1');
 } else {
  BTSerial.write('0');
 }
 
 if (state == '1') {
  digitalWrite(ledPin, HIGH); // LED ON
  state = 0;
 } else if (state == '0') {
  digitalWrite(ledPin, LOW); // LED ON
  state = 0;
 }
}


Slave Source


//this is slave

#include "SoftwareSerial.h"

SoftwareSerial BTSerial(10, 11);
int state = 0;
const int led = 8;
const int button = 2;
int buttonstate = 1;

void setup() {
  BTSerial.begin(38400);
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);
  pinMode(button, INPUT);
  digitalWrite(button, HIGH);
}

void loop() {
 if(BTSerial.available() > 0) { 
    // Checks whether data is comming from the serial port
    state = BTSerial.read(); // Reads the data from the serial port
 }
 
 // Reading the button
 buttonstate = digitalRead(button);
 
 if (buttonstate == LOW) {
   BTSerial.write('1'); // Sends '1' to the master to turn on LED
 } else {
   BTSerial.write('0');
 }  

  if (state == '1') {
  digitalWrite(led, HIGH); // LED ON
  state = 0;
 } else if (state == '0') {
  digitalWrite(led, LOW); // LED ON
  state = 0;
 }
}


여기까지 오면 모든 준비는 다 되었습니다.




7. Master 모드로 Slave 연동 - 확인


HC-05 (Master) 와 HC-06 (Slave) 끼리의 연동 통신을 위해 서로 LED 가 깜빡거리다 연결 됩니다.


Arduino 소스 및 회로에서 구성한 대로,

Master 의 스위치를 누르면, Slave 쪽의 LED 가 켜지고, Slave 의 스위치를 누르면, Master 쪽의 LED 가 점등하는 것을 알 수 있습니다.



문제 없이 서로 통신하고 있다는 것을 LED 점등으로 확인 할 수 있습니다.




8. SPP-C 연동


다음 편에서는 SPP-C 확인을 해보도록 하겠습니다.




And

Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 1

|

1. Bluetooth 통신


룰루~ arduino 로 놀 수 있는 센서나 모듈이 뭐가 있을까~ 하고 AliExpress 를 둘러 보던 중,

HC-05, HC-06, SPP-C 가 bluetooth 연결에 사용할 수 있는 모듈이라는 것을 알았습니다.


아직 쌓여있는 센서가 많지만, 일단 구매해 봅니다.


* SPP-C Bluetooth serial pass-through module wireless serial communication from machine Wireless SPPC Replace HC-05 HC-06

https://www.aliexpress.com/item/32755550889.html




* HC-05 HC 05 hc-06 HC 06 RF Wireless Bluetooth Transceiver Slave Module RS232 / TTL to UART converter and adapter

https://www.aliexpress.com/item/32523867394.html








2. 도착


한 업자에게서 구매 해서 동시에 배달되었습니다.



HC-05 이구요.



HC-06 이구요.



응? HC-05 랑 보드는 같고, 다른점은 오른쪽 밑에 스위치와 pin 갯수가 다른 것 뿐이네요.



뒷면에 세겨진 pin out 배열도 동일합니다.



SPP-C 만 다른 보드를 사용합니다.






3. HC-06


일단 오늘은, Slave 만으로 사용할 수 있는 가장 간단한 HC-06 구동을 시험해 보기로 합니다.

HC-05 는 Master / Slave 양쪽으로 사용할 수 있고, HC-06 은 Slave 만 가능하다 하네요.


보드가 동일한 것을 미리 알았더라면, HC-05 만 두개 살껄 그랬습니다.

SPP-C 는 완전 다른 모양이라 HC-05 / HC-06 을 가지고 놀아 보고 그 다음애 해보려 합니다.


구동 전원 Vcc 는 3.6v~5V 라서 arduino nano 의 3.3v 로는 조금 부족하고 5v 로 확실하게 구동됩니다.


HC-06 의 RXD, TXD 는 3.3v 를 이용한 입출력이므로. level shift 회로가 필요합니다만, 출력 (TXD) 은 그대로 하고,

입력 (RXD) 에 저항을 연결하여 회로를 보호해 줍니다.

사실 그대로 연결해도 됩니다만, 저항을 연결해 주는게 느낌상 좋습니다.


실제로 전용회로를 꾸미게 되면, 입출력 전압을 측정하여 거기에 맞는 저항을 달아 주는 것이 좋겠죠?

사양은 다음과 같습니다.


- Bluetooth protocol: Bluetooth V2.0 protocol standard

- Power Level: Class2(+6dBm)

- Band: 2.40GHz—2.48GHz, ISM Band   

- Receiver sensitivity: -85dBm

- USB protocol: USB v1.1/2.0

- Modulation mode: Gauss frequency Shift Keying

- Safety feature: Authentication and encryption

- Operating voltage range:+3.3V to +6V

- Operating temperature range: -20ºC to +55ºC

- Operating Current: 40mA


* Specification : hc06.pdf





4. pin out


여러 연결 방법이 있을 수 있으나,

우선 가장 간단한 arduino nano 를 통해서 PC 와 통신을 시도해 봅니다.

Pin out 정보 입니다.


 HC-06 | Arduino Nano
-----------------------
  RXD  |      D2
  TXD  |      D3
  GND  |      GND
  VCC  |      3.3V
-----------------------



아두이노에서 받는 3.3v 전원은 조금 약한 감이 있고, 5v 를 받자니 arduino nano 가 버거울 것 같아,

외부 전원을 사용하면 안정적으로 3.3v 인가 가능할 것 같습니다.


실제로 arduino nano 의 3.3v 에 연결하면, 되었다 안되었다 불안한 동작을 보여 줍니다.





5. layout


연결 diagram 입니다.



실제로 아래와 같이 연결했습니다.



삽질한 부분은 arduino nano 와 추가 전원의 ground 는 서로 연결해줘야 하는 것이였습니다.

그렇지 않으면, 정상적으로 통신이 되지 않습니다.

Ground 는 꼭 서로 맟춰 줘야 합니다.





6. sketch


아래는 arduino nano 를 PC 와 연결 할 경우에 사용한 소스 입니다.


#include "SoftwareSerial.h"
 
#define HC06_RXD 2
#define HC06_TXD 3
SoftwareSerial bluetooth(HC06_RXD, HC06_TXD);
 
void setup(){
  Serial.begin(9600);
  bluetooth.begin(9600);
}
 
void loop(){
  if (bluetooth.available()) {
    Serial.write(bluetooth.read());
  }
  if (Serial.available()) {
    bluetooth.write(Serial.read());
  }
}





7. AT commands


HC-06 과 연결되면 AT 명령어를 통해서 상태 확인이 가능합니다. 



Arduino IDE > Tools > Serial Monitor 를 띄우고 위의 AT 명령어들을 쳐 봅니다.



통신 속도 = baud rate 는 9600 으로 해야 합니다.

HC-06 은 공장 출하 설정이 9600 bps 로 되어 있습니다.


Bluetooth 이름은 "HC-06" 이구요, ROLE 은 0, 즉 SLAVE 로 되어 있습니다.


* AT+ROLE: See role of bt module(1=master/0=slave)



Password 는 기본 "1234" 로 되어 있습니다.


통신 속도 UART 는 9600 으로 되어 있네요.

바꾸고 싶을 경우는 아래와 같이 설정하면 됩니다.


* 1 set to 1200bps

* 2 set to 2400bps 

* 3 set to 4800bps 

* 4 set to 9600bps (Default) 

* 5 set to 19200bps 

* 6 set to 38400bps 

* 7 set to 57600bps 

* 8 set to 115200bps

  ex) AT+BAUD4 will set the baud rate to 9600



다른 명령어도 다 쳐 봤습니다.





8. Windows 10 과 연결해 보기


Windows 10 에서 블루투스 장치로 연결해 봅니다.



HC-06 을 연결하면 비번을 물어봅니다.



블루투스다 보니 잘 연결됩니다.



장치관리자에서 연결된 HC-06 의 주소를 확인해 보면, 가지고 있는 HC-06 의 address 인 것을 알 수 있습니다.

동일한 장치임을 확인 할 수 있는 부분이죠.



COM 포트를 확인해 보면, 송신 port 가 COM8 임을 알 수 있네요.



시리얼 포트 리스트에도 떠 있습니다.



putty 를 이용하여 COM8 에 연결합니다.



오호라. putty 에서 타이핑 한 것은 보이지 않지만, 글씨를 타이핑 후,

"Ctrl + M, J" 를 치면 arduino IDE 의 Serial Monitor 에서 송신된 단어를 확인할 수 있습니다.



반대로, Serial Monitor 에서 글씨를 치고 Send 를 누르면, putty 화면에 나타나는 것을 확인 할 수 있어요.






9. USB UART CP2102


Serial 연결은, USB Serial 장치인 CP2102 를 통해서도 연결해 봅니다.



RXD 는 저항을 달아서 보호해 주면서, 그림과 같이 연결해 줍니다.


 HC-06 | CP2102
----------------
  RXD  |  TXD
  TXD  |  RXD
  GND  |  GND
----------------

실제 연결은 다음과 같습니다.



역시 putty 를 이용해서 확인해 봅니다.



모든 AT commands 가 잘 먹힙니다. 정상적으로 통신이 가능하네요.





FIN


HC-06 / HC-05 은 해볼 것이 여러가지 있는것 같습니다.

일단 오늘은 HC-06 의 여러가지 연결법과 AT commands 를 사용해 봤습니다.


다음은 HC-05  HC-06 을 사용하여 Master / Slave 연결 등을 활용해 볼께요.




Update - 20210124


사진 정리를 하다, 예전 경주에 놀러갔을 때, 3D 놀이공간 건물 한켠에 전자 공방에서 찍은 사진을 발견.

HC-06 / HC-05 는 bluetooth 에 있어서 널리 사용되는 모듈임을 새삼 다시 알게 되었네요.



And

Hardware | ESP-01 or ESP8266 사용기 - 2

|

이 글은 전편이 있습니다.


* Hardware | ESP-01 or ESP8266 사용기 - 1

http://chocoball.tistory.com/entry/Hardware-ESP01-or-ESP8266-using-1


이번에는 전편에서 풀지 못했던, ESP8266 chip 을 생산하는 ESPRESSIF SYSTEMS 사의 정식 firmware 를 입혀보는 포스트 입니다.

AI-Thinker 사는 firmware 를 한뭉텅이로 만들어 줘서 쉽게 firmware 를 입혔지만,

ESPRESSIF SYSTEMS 사는 address 라던지 파일 순서와 선택이 중요합니다.




1. ESP8266 adapter


전편에서도 사용했지만, 구매 정보를 올리지 않아서 여기에 기록으로 남깁니다.


* 2PCS For ESP-01 Esp8266 ESP-01S Model Of The ESP8266 Serial Breadboard Adapter To WiFi Transceiver Module Breakout UART Module

https://www.aliexpress.com/item/Breadboard-Adapter-for-ESP8266-ESP-01-ESP-01S-Wifi-Transceiver-Module-Breakout/32775467213.html



두개 구입했고 1달정도 걸렸던것 같습니다.

기다리는 것이 익숙해 지긴 했지만, 빨리 확인해보고 싶은 경우는 조금 고통스럽네요.



양 다리는 스스로 납땜해야 합니다.

DIY 임을 명확하게 인지시켜주는 제품입니다.



DIY MORE 라는 회사가 눈에 자주 띄네요.



ESP8266 모듈을 끼우면 이렇게 됩니다.

가로를 세로로 변경해주는 방법입니다.






2. Flash Download Tool


그 사이 3.6.5 로 버전업을 했습니다.


* ESPRESSIF > Support > Download > Tools

https://www.espressif.com/en/support/download/other-tools



아무래도 새로운 버전을 사용하는게 좋겠죠?

그리고 baud rate 도 처음엔 9600 만 사용해야 하는줄 알았는데, 이제는 115200 이 일반화 된것 같습니다.

그래서 요즘 버전들이 지원하는 115200 이상은 큰 문제가 없는듯 합니다.





3. NON-BOOT mode


이제 ESPRESSIF SYSTEMS 에서 내놓은 firmware 를 올려볼 차례 입니다.

여러 버전들이 존재하지만, 단순히 ready 상태를 띄워놓고 프로그래밍 하는 방법과, AT command 를 활용하는 두가지 방법이 있습니다.


우선 NON-BOOT mode 의 firmware 를 올려보겠습니다.


8Mbit = 1MiB 를 지원하는 NON-BOOT 버전은 2.0.0 이 마지막 버전인 듯 합니다.

(다른 버전에는 noboot 라는 디렉토리와 관련된 파일이 아예 없슴)


* ESP8266 NONOS SDK V2.0.0 20160810

https://www.espressif.com/en/support/download/sdks-demos

esp8266_nonos_sdk_v2.0.0_16_08_10.zip



위의 압축파일을 풀어보면, "README.md" 파일에 address 정보가 나와 있습니다.


esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\at\README.md



# NON-BOOT MODE
## download
    eagle.flash.bin              0x00000
    eagle.irom0text.bin          0x10000
    blank.bin
        Flash size 8Mbit:        0x7e000 & 0xfe000
        Flash size 16Mbit:       0x7e000 & 0x1fe000
        Flash size 16Mbit-C1:    0xfe000 & 0x1fe000
        Flash size 32Mbit:       0x7e000 & 0x3fe000
        Flash size 32Mbit-C1:    0xfe000 & 0x3fe000
    esp_init_data_default.bin (optional)    
        Flash size 8Mbit:        0xfc000
        Flash size 16Mbit:       0x1fc000
        Flash size 16Mbit-C1:    0x1fc000
        Flash size 32Mbit:       0x3fc000
        Flash size 32Mbit-C1:    0x3fc000


플러쉬 tool 에서 메모리 사이즈에 맞는 파일과 address 를 지정해 주면 됩니다.

저는 8Mbit = 1MiB 플레쉬 메모리 이므로 해당하는 값을 챙깁니다.



위의 설정에서 참고로, "CrystalFreq" 부분을 26M 로 하는 것은, 실제로 ESP8266 에서 26MHz 오실레이터를 사용하기 때문입니다.



플레쉬 회로 구성은 1편에서 자세히 다뤘습니다.

주의할 점은, flashing 할 때에는 아래처럼 "추가 전원" 이 꼭 필요하다는 점 잊지 마시구요.



Flash Download Tools 의 콘솔 화면입니다.



문제 없이 완료되면 위의 그림처럼 보입니다.

putty 로 접속하고, 만들어지 회로에서 RST 버튼을 누르면 아래처럼 ready 상태를 확인할 수 있습니다.






4. BOOT mode


BOOT mode 로 사용하게 되면 AT command 를 통해서 직접 ESP8266 을 컨트롤 할 수 있습니다.

1MiB 짜리 ESP8266 에 대응하는 BOOT mode 의 최신버전은 현재 기준 V2.2.1 인것 같습니다.

V3.0.0 이상으로 올라가면, flash memory 가 1MiB 초과하는 버전만 대응한다고 문서에 나와 있어요.


* ESP8266 NONOS SDK V2.2.1

https://www.espressif.com/en/support/download/sdks-demos

ESP8266_NONOS_SDK-2.2.1.zip



아래 AT Instruction Set 문서의 1.2.4 섹션을 보면 8Mbit Flash address 에 대해 나와있습니다.


* ESP8266 AT Instruction Set

https://www.espressif.com/en/support/download/documents?keys=&field_type_tid%5B%5D=14

4a-esp8266_at_instruction_set_en.pdf



위의 정보에서 boot.bin 부분을 boot_v1.6.bin 으로 바꿔서 flashing 하면 됩니다.

물론 동일한 디렉토리에 존재하는 boot_v1.7.bin 도 해봤습니다. 그치만 booting 되면 1.6 으로 뜨더군요.

아마 내부 로직으로 인하여 v1.7 은 overwrite 가 되지 않는것 같습니다.



Flash 잘 되었구요.

동영상도 올려 봅니다.



확인해 보니, 완전 최신으로 업데잇 되었습니다 (얏호~).



그치만 Ai-Thinker 는 web server 가 기본 장착되어 있지만, ESPRESSIF SYSTEMS 의 firmware 에는 없나 봅니다.

IP 를 얻고 접속해 봐도 web page 가 뜨지 않습니다.





FIN


이제 ESP8266 에 대한 firmware 방법은 마스터 한것 같습니다.

다음에는 AT command 활용과 sketch 올리는 법, 그리고 메모리 업그래이드 하는 방법을 시도해 보겠습니다.


And

Hardware | ESP-01 or ESP8266 사용기 - 1

|

1. 시작


아두이노에 연결해서 사용할 수 있는 저가의 Wi-Fi 모듈로는,

유명한 Espressif Systems 사의 ESP8266 와, Ai-Thinker 사의 ESP-01 모듈이 있습니다.


다른 여타 sensor 나 module 처럼 금방 사용할 수 있겠지 하고 덤볐다가, 지옥이 열렸습니다.


* ESP8266

https://en.wikipedia.org/wiki/ESP8266



저가이면서 Wi-Fi 구성이 된다니, 신기할 따름입니다.

바로 구매하여 확인해 봅니다.





2. 구매


AliExpress 에서 쉽게 검색이 됩니다.

외형이 살짝 다른 두 종류가 있어서 두가지 모두 구입해 봅니다.


한개는 8Mb flash memory 라고 하는군요.


* ESP-01, ESP8266,WIFI module 8Mb flash memory

https://www.aliexpress.com/item/WIFI-module-ESP-01-ESP8266-8Mb-flash-memory/32733744011.html





* Upgraded version ESP-01 ESP8266 serial WIFI wireless module wireless transceiver ESP01 ESP8266-01

- https://www.aliexpress.com/item/Free-shipping-ESP8266-serial-WIFI-wireless-module-wireless-transceiver/32341788594.html







3. 외형


모양은 이렇게 생겼습니다.



제조사는 다르지만 기본 chip 및 구성은 거의 동일합니다.



위의 그림에서 8Mbit Flash 라는 제품이 밑에 보이는 것인데,

memory chip 두께가 살짝 더 두꺼워 보입니다.



평범한 뒷모습.





4. Pin 배열


Pin out 이 2열로 되어 있어서, 빵판에서 그냥 꼽으면 short 가 발생합니다.

점퍼선으로 연결해도 되지만 깔끔하지 못할 뿐더러 연결시 자꾸 헷갈리기도 합니다.


Wi-Fi 모듈 보드 한쪽이 안테나를 형성하고 있어서,

이렇게 한쪽으로 모두 pin 을 모아야 하는 것은 이해가 갑니다만 빵판에서는 최악입니다.

꽤나 불편합니다.



AliExpress 에서 우연하게 breadboard 에서 편하게 사용할 수 있도록 해주는 adapter 를 발견하였습니다.


* 2PCS For ESP-01 Esp8266 ESP-01S Model Of The ESP8266 Serial Breadboard Adapter To WiFi Transceiver Module Breakout UART Module

https://www.aliexpress.com/item/Breadboard-Adapter-for-ESP8266-ESP-01-ESP-01S-Wifi-Transceiver-Module-Breakout/32775467213.html



아래는 실재 사용한 사진입니다.

수직을 수평으로 피면서 양쪽으로 pin 들을 분리해주는 



이 adapter 를 사용하면, 이쁘게 양쪽으로 pin 들을 구분해 줍니다.

여러분들도 꼭 구입해 보아요.





5. 먼저 알고 있어야 할 것들 - BAUD RATE


ESP8266 은 쉽게 접근할 수 있는 모듈이 아닙니다.

값싸고 성능이 괜찮은 대신, 문제 없이 구동시키려면 몇 가지 조건이 충족되어야 합니다.


이런 배경지식 없이 덥볐다가 시행착오에 꽤 많은 시간을 쏟아 부어야 했습니다.


거의 모든 ESP8266 모듈들은 공장 출하시 UART serial IO 속도가 115200 으로 정해져 있습니다.

Arduino Mega 와 같이 HW Serial 이 두개면 문제가 없습니다.


단, Arduino Uno/Nano 의 경우, 하나밖에 없는 HW Serial 을 USB 연결용으로 사용해 버리므로 문제가 됩니다.

결국, Arduino Uno/Nano 는 ESP8266 와 SoftwareSerial 로 연결되어야 하나,

SoftwareSerial 은 115200 처럼 높은 baud rate 를 지원하지 않습니다.


그래서 연결하려는 arduino 가 Uno/Nano 라면, BAUD RATE 를 변경해 줄 필요가 있습니다.

다음은 AT 명령어를 이용하여 통신 속도를 변경하는 방법 입니다.


AT+UART_DEF= baudrate , databits , stopbits , parity , flow control



보통 9600 으로 설정시 다음과 같은 명령어를 사용합니다.


AT+UART_DEF=9600,8,1,0,0


여기서 주의할 점은, ESP8266 에 구워진 AT 명령어 firmware 버전에 따라 사용하면 안되는 명령어들이 있습니다.

"AT+CIOBAUD=9600" 나 "AT+IPR=9600" 는 일시적으로만 동작되거나 ESP8266 을 벽돌로 만들어 버릴 수도 있습니다.


그러므로, 항상 최신버전의 AT firmware 를 먼저 굽고 사용해야 합니다.

firmware upgrade 에 대해서는 아래에서 자세하게 다룹니다.





6. 먼저 알고 있어야 할 것들 - 충분한 전류


ESP8266 모듈은 전력을 많이 소비합니다. 250mA 정도는 사용한다고 하네요.


ESP8266 구동에 필요한 3.3V 를 지원하기는 하지만,

200mA 이상 나오지 않는 Nano 의 3.3V 포트에 연결하면 정상적으로 동작하지 않습니다.


전류가 부족해서 나타나는 증상은, LED indicator 가 정상적으로 점멸하지 않다거나,

(아래 사진은 추가 전원을 이용하여 정상적으로 동작하는 모습)



AT 명령어에 대한 response 가 중구난방입니다.



전력을 충분히 공급하는 회로로는 3가지가 있습니다.



하나. arduino + level shifter



Uno 5V 포트는 3.3V 포트에 비해 더 많은 전류를 지원해 주지만,

거의 300mA 에 육박하는 전류를 커버하기 위해서는 외부 전원장치가 필요하므로, 이 방법은 시도해 보지 않았습니다.



. 외부 전력 공급장치


아래 보이는 것처럼 외부 전력 공급장치를 사용하는 것입니다.

예전 빵판 구입시 딸려 온 것을 사용해 봤습니다.


* Hardware | MB102 Breadboard Power Supply Module 를 사용해 보자

http://chocoball.tistory.com/entry/Hardware-MB102-Breadboard-Power-Supply-Module




셋. FTDI USB 모듈이나 그 호환 모듈


FTDI 나 CP2102 를 사용하면, 중간에 arduino 와 연결할 필요 없이 PC 와 직접 연결이 가능하며,

모듈 자체적으로 3.3V 및 충분한 전류가 공급됩니다.



저 개인적으로는 FTDI 모듈보다 CP2102 가 더 안정적인 동작을 보이는것 같습니다.


참고로 FTDI 일 경우, 장치 관리자에서 단순히 "USB Serial Port" 로 보여서 port 번호를 알 수 없습니다.

(Arduino IDE 를 띄우면 port 정보가 나오기는 함)



이는 Driver install 시에 보면, Driver 2개가 서로 연동 하면서 변경되는 port 정보를 알 필요 없이 만들어주기 위한 방법으로 보입니다만,

저에겐 오히려 귀찮은 방식입니다.



반면 CP2102 일 경우, 포트번호가 표시되므로, putty 를 이용하여 serial 접속시 포트번호를 지정할 수 있습니다.



앞으로 ESP8266 에 관련된 확인은 CP2102 를 가지고 진행하겠습니다.





7. 먼저 알고 있어야 할 것들 - 최신 firmware


AliExpress 를 통해서 구매한 firmware 들은 2015년 이전 버전을 그대로 적용해서 출하하고 있습니다.



Firmware 버전이 너무 낮으면, 대응되는 명령어도 적을 뿐더러 뭔가 많이 불안한 반응을 보입니다.

가능하면 최신 버전으로 flash 해줘야 마음이 편합니다.



Ai-Thinker 사에서 최신 firmware 라고 올라와 있는 것을 간단하게 flash 해서 update 한 결과 입니다.

여기까지 오는데 8개월 걸렸네요.


그렇습니다.

결국 이 ESP8266 을 잘 쓰려면, firmware flash 를 잘 해놓는게 가장 기본이 됩니다.

그러기 위해서는 충분한 전류를 공급하는 전원도 구비해야 하는 것 이구요.





8. 먼저 알고 있어야 할 것들 - flash 파일


Flash 파일은 몇가지 종류와 버전이 존재합니다.

Espressif Systems 사에서 공개한 일반적인 버전의 flash file 과, Ai-Thinker 사가 공개한 flash file 이 있습니다.


오늘 flashing 하려는 것은 Ai-Thinker 사의 Wi-Fi 모듈이므로, 해당 모듈용 최신 파일을 준비합니다.


* ESP8266 最新SDK发布

http://wiki.ai-thinker.com/esp8266/sdk

ai-thinker_esp8266_dout_aicloud_v0.0.0.6_20170517.7z


압축을 풀면 몇가지 버전이 나오는데, 저는 8Mbit 인것 같아서, 작은 사이즈의 8Mbit 을 사용합니다.



또한 flashing 할 때, flash file 별로 메모리상의 주소를 지정해 줘야 합니다.

다행히 Ai-Thinker 사는 한 뭉탱이로 flash file 을 만들어 놔서, 주소가 메모리 첫번째 부터 쓰게끔 "0x00000" 을 지정하면 됩니다.



다른 버전과 좀더 복잡한 내용은 다음 post 에서 다루도록 하겠습니다.

(내용이 너무 넘처남...)





9. 먼저 알고 있어야 할 것들 - flash tool


Firmware upgrade 를 위한 flash tool 로는 몇가지가 있지만,

저는 "Espressif Systems" 사에서 공개하고 있는 "FLASH_DOWNLOAD_TOOLS" 가 사용하기 편했습니다.


* ESP8266EX Resources


* FLASH_DOWNLOAD_TOOLS V3.6.4

flash_download_tools_v3.6.4_0.rar


* FLASH_DOWNLOAD_TOOLS V2.4

FLASH_DOWNLOAD_TOOLS_v2.4_150924.7z


V3.6.4 에서는 baud rate 가 기본 115200 이상만 지원합니다.

만일 arduino 와 연결을 위해 9600 으로 낮추게 설정 했을 경우에는 firmware 를 upgrage 하기 위해 AT+UART_DEF 를 사용해야 하나,

혹시 그 firmware version 이 낮아서 이 command 를 못 알아먹을 경우에는 방법이 없습니다.


그럴 때에는 version 이 낮아서 조금 찜찜하기는 하나, 9600 을 지원하는 V2.4 를 사용하면 됩니다.


이제 "어떻게" 잘 firmware flash 를 하는지를 알아봐야겠습니다.






10. Firmware flashing 회로


Flashing 을 위한 회로는 몇가지가 있지만, 저는 아래 글을 참고하였습니다.


* Update the Firmware in Your ESP8266 Wi-Fi Module

https://www.allaboutcircuits.com/projects/update-the-firmware-in-your-esp8266-wi-fi-module/



CH_PD 핀에 전원 인가 시 필히 저항을 달았으며,

RST 에 reset switch 와 GPIO0 에 flash 용 swtich 를 달았습니다.



똑딱이 스위치를 이 회로를 구성하기 위해서 구입했더랬습니다!!!


* Hardware | 스위치 부품 구매하기

http://chocoball.tistory.com/entry/Hardware-buying-switch-components


스위치의 사용법은 다음과 같습니다.


1. RST 의 스위치를 누른다.

2. FLASH 의 스위치를 누른다.

3. RST 의 스위치에서 손을 뗀다.

4. FLASH 의 스위치에서 손을 뗀다.

5. Flash program 에서 "시작" 을 누른다.


안정적으로 전원이 공급되므로 LED 가 정상으로 점등, 점멸 합니다.





11. Firmware flashing


굳이 V2.4 을 이용하여 flash 하였습니다.



위에서 열거한 방법을 반복해 보자면, 아래처럼 진행하면 됩니다.


1. RST 의 스위치를 누른다.
2. FLASH 의 스위치를 누른다.
3. RST 의 스위치에서 손을 뗀다.
4. FLASH 의 스위치에서 손을 뗀다.
5. Flash program 에서 "시작" 을 누른다.


여기까지 오는데 8개월이 걸렸습니다.

눈물좀 훔치겠습니다... ㅠ.ㅠ



정상적으로 진행되는 과정의 스샷 입니다. 5% 진행되었을 때 캡춰했네요.


아래는 flash start 누른 후의 화면들을 캡춰 했습니다.

여러가지 확인하는 과정들이 있네요.



동영상으로 떠 봤습니다.

지금 다시 봐도 감격스럽네요.







12. ESP8266 에 console 로 접속하기


PC 에서 console 접속하려면 terminal 어플이 필요합니다.

여기서는 open source 이면서 사용하기 편한 putty 를 이용했습니다.


* Download PuTTY: latest release (0.70)

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html


이제 문제없이 접속이 되니, putty 를 통해서 serial port 로 연결합니다.



AT 를 치고, Ctrl + M, J 하면 타이핑한 내용이 ESP8266 에 전송되고 그 결과를 보여줍니다.



접속 mode 라던지, 현재 상태, 그리고 집에서 쓰는 Wi-Fi AP 에서 할당받은 IP 를 확인해 봤습니다.

(따로 AT+CWJAP 이라는 command 를 통해서 접속하는 과정이 필요)


위에서 마지막에 나오는 "192.168.123.135" 이 ESP8266 이 할당받은 IP 입니다.

ESP8266 은 내부에 web server 를 탑재하고 있어서 browser 를 통해서도 접속이 가능합니다.


이 외에 여러가지 AT command 들이 있습니다만,

글이 너무너무 길어지기에 오늘은 간단한 결과 들만 올려 봅니다.

(누차 이야기 하지만, 여기까지 오는데 8....)





13. ESP8266 에 web 으로 접속하기


브라우저에서 접속해본 스샷입니다.



몇가지 설정을 web 을 통해서도 수정할 수 있게 되어 있네요.


아래는 web 에서 제공하는 "REBOOT" 버튼을 클릭하고 얻은 결과 입니다.

정상적으로 잘 동작 합니다.



Wi-Fi 연결 정보가 "AT+CWJAP" 이라는 command 로 저장되어 있기 때문에,
REBOOT 후에도 기존 Wi-Fi AP 에 접속 하는군요.





FIN


오랜 시행착오의 시간이 지나갔습니다. (사실 주말 가끔밖에 시간이 안나서...)


ESP8266 은 기능이 다양하고 강력한 대신, 길들여서(?) 사용하기가 여간 까다롭지 않습니다.

배경 지식도 많이 필요하구요.


다른 블로그 글들을 보면, 다들 쉽게 하던데 왜 나는 이렇게 어렵게 하는지 모르겠습니다.

이왕 여기까지 온거, 완벽하지는 않지만 납득이 가는 선까지 정리해 보고자 합니다.


다음 포스트에서는 나머지 이야기들을 정리해 보겠습니다.


And
prev | 1 | next