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. 이 출력된다.
이 이후는, 사용자가 알아서 용도에 맞게 프로그램을 만들면 됩니다.
저도 스마트콘피그가 뭔 내용인지 모르다가, 해 보고서야 이해가 되는데, 참 괜찬은 기능인 것 같습니다. ^^
댓글 없음:
댓글 쓰기