페이지

글목록

2017년 2월 5일 일요일

[ESP8266] SmartConfig 소개. (ARDUINO IDE)

ESP8266 으로 FTP Server를 만들었는데, 장소를 옮겨서 다른 공유기에 연결하려고 할 때,
그 자리에서 SSID 와 Password를 수정하려면, 
펌웨어를 바꿔주거나 외부에서 UART 또는 SD-Card 의 설정 파일의 내용을 바꿔 주는 방법밖에 생각이 안들었다. 

그러니까, 8266 의 SSID 와 Password를 쉽게 바꿀 수 있는 방법이 없다는 말입니다.

이것을 쉽게 할 수 있는 방법이 SmartConfig 기능이다.
먼저 핸드폰의 SmartConfig APP 프로그램이 필요하다.
이 앱의 기능은 스마트폰이 ESP8266과 접속하면 ESP8266에게 SSID 와 Password를 전달해 준다.
즉, WiFi.begin(ssid, password); 함수를 Smartconfig 기능이 대체해 준다. 
대신 이과정에서 SmartConfig APP이 사용된다.
그 다음은, ESP8266 프로그램에서 전달받은 SSID 와 Password 를 사용해서 FTP 를 하든 WEB을 붙이든 하면 된다.

기존의 FTP 나 웹서버 등등의 SSID 와 Password 를 사용해서 연결하는 아두이노 IDE 소스 코드는 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const char* ssid = "SSID";
const char* password = "PASSWORD";
   ...
void setup(void){
  WiFi.begin(ssid, password);
  Serial.println("");
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
....
}
cs

이것을 다음과 같이 고치고,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void setup(void){
  WiFi.mode(WIFI_STA);
  delay(500);
  WiFi.beginSmartConfig();
  while(WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    if(WiFi.smartConfigDone()){
      Serial.println("WiFi Smart Config Done.");
    }
...
  }
cs


Smartconfig APP 은 구글 Play Store에서 smartconfig 로 검색하면 찾을 수 있다.



SmartConfig APP을 실행해 주면 접속할 SSID 와 Password를 입력해 준다.


그리고 confirm 을 눌러주면 SSID 와 Password가 8266에 전달된다. ESP serial 창에 보면 
대기중에 ....... 이 출력되고 SSID 와 PASSWORD가 전달되면 Wifi Smart Config Done. 이 출력된다.


이 이후는, 사용자가 알아서 용도에 맞게 프로그램을 만들면 됩니다.

저도 스마트콘피그가 뭔 내용인지 모르다가, 해 보고서야 이해가 되는데, 참 괜찬은 기능인 것 같습니다. ^^

댓글 없음:

댓글 쓰기