본문 바로가기
Study/ESP8266(WIFI),ESP32(BLE,WIFI)

WEBSERVER 만들기(웹서버로 AP 설정하기-2) BY ARDUINO LIBRARY

by Answer Choi 2016. 6. 20.
반응형

저번에는 웹서버로 접속하여 설정할 공유기의 SSID와 PW를 직접 적어주는 포스트였습니다.


WEBSERVER 만들기(웹서버로 AP 설정하기-1) BY ARDUINO LIBRARY


예제소스 다운로드


이번에는 접속가능한 AP리스트를 검색해서 선택하는 포스트입니다.


AT명령어를 사용하는 예제는 많은데, Arduino코드를 사용하는 예제는 많이 없는 것 같아서 좀 헤맸습니다.


html header와 footer입니다.


1
2
String header = "<!DOCTYPE html><html><title>JME PLUG Setting</title><head></head><body><BR>";
String footer = "</body></html>"
cs


그리고 본 소스코드입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String ssid;
int netcount = WiFi.scanNetworks();
 
String s = header;
+= "<form method='post' action='save'>SSID: <select name='ssid'>";
for (int i = 0; i < netcount; ++i) {
    ssid=WiFi.SSID(i);
    s += "<option name=ssid>";
    s += ssid;
    s += "</option>";
+= "</select><br>Password: <input type='text' name='pw'>";
+= "<br><input type='submit' value='Save'></form>";
+= footer;
Web.send(200"text/html", s); 
cs


Line 2 : WiFi는 ESP8266WiFiClass 입니다.


scanNetworks()는 주위의 접속가능한 AP정보들을 가져옵니다.


Line 4~14 : Web page에 검색된 SSID를 option 태그를 이용하여 나타내줍니다.


Line 7 : WiFi.SSID(i)가 scanNetworks()에서 검색한 AP정보에서 SSID정보를 가져오는 역할을 합니다.


Line 12~13 : 이전 포스트와 같이 ssid와 pw를 /save라는 페이지로 전달합니다.


Line 15 : 웹페이지에 Line5~14의 내용을 나타냅니다.


실행모습입니다.


ESP8266의 웹페이지에 접속한 모습입니다.



접속할 SSID를 선택한 후 PW를 적고 Save버튼을 눌러줍니다.


성공적으로 ESP8266에 SSID와 PW가 저장되었습니다.



debug 메세지에도 정상적으로 출력이 됩니다.^^


WiFi.scanNetworks() 다음에 WiFi.SSID(i)말고도 다양한 정보를 가져오실 수 있습니다.^^ 



반응형

인기글