반응형
저번에는 웹서버로 접속하여 설정할 공유기의 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; s += "<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>"; } s += "</select><br>Password: <input type='text' name='pw'>"; s += "<br><input type='submit' value='Save'></form>"; s += 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)말고도 다양한 정보를 가져오실 수 있습니다.^^
반응형
'Study > ESP8266(WIFI),ESP32(BLE,WIFI)' 카테고리의 다른 글
WEBSERVER 만들기(웹서버로 AP 설정하기-3) BY ARDUINO LIBRARY (10) | 2016.06.21 |
---|---|
wifi signal strength (0) | 2016.06.21 |
WebServer 만들기(웹서버로 AP 설정하기-1) by Arduino library (8) | 2016.06.17 |
스마트폰 연동 AP-STA 전환 using Arduino (10) | 2016.01.13 |
고유의 SSID만들기 (2) | 2016.01.13 |