본문 바로가기
kipfa 필기

0712_예제 - Hello server(성공)

by 헤옹스 2017. 7. 12.

SSID,Password 설정

WIFI 설정 - spec 이 다르거나 설정 잘못, APN이 멀때는 신호가 원할하지 않을 수 있음

예제 - Hello server


#include <ESP8266WiFi.h>

#include <WiFiClient.h>

#include <ESP8266WebServer.h>

#include <ESP8266mDNS.h>


const char* ssid = "kipfa-class1_2.4G";

const char* password = "classroom1";


ESP8266WebServer server(80);                                //포트가 다르면 못만남.


const int led = D4;


void handleRoot() {

 digitalWrite(led, 0);

 server.send(200, "text/plain", "hello sever!");

 digitalWrite(led, 1);

}


void handleNotFound(){

 digitalWrite(led, 1);

 String message = "File Not Found\n\n";

 message += "URI: ";

 message += server.uri();

 message += "\nMethod: ";

 message += (server.method() == HTTP_GET)?"GET":"POST";

 message += "\nArguments: ";

 message += server.args();                                                                        // 파라미터의 개수.

 message += "\n";

 for (uint8_t i=0; i<server.args(); i++){

   message += " " + server.argName(i) + ": " + server.arg(i) + "\n";

 }

 server.send(404, "text/plain", message);

 digitalWrite(led, 0);

}


void setup(void){

 pinMode(led, OUTPUT);                 // LED를 output으로 설정.

 digitalWrite(led, 0);

 Serial.begin(115200);                      // 터미널 속도맞춰야하니까 반드시확인! 이거없으면 시리얼 안돌아감.

 WiFi.begin(ssid, password);            // WIFI 오브젝트 실행시킴.

 Serial.println("");


 // Wait for connection

 while (WiFi.status() != WL_CONNECTED) {                // 아직 와이파이가 연결되지 않은 상태일 때.

   delay(500);

   Serial.print(".");

 }

 Serial.println("");

 Serial.print("Connected to ");

 Serial.println(ssid);

 Serial.print("IP address: ");

 Serial.println(WiFi.localIP());                                        // 와이파이 IP주소


 if (MDNS.begin("esp8266")) {

   Serial.println("MDNS responder started");

 }



/*Event Driven 프로그래밍 - 요새나온 모든 랭귀지는 이런 구조를 가짐. ㅎㅎ

   function선언해놓고 요고면 요고불러와라....*/

 server.on("/", handleRoot);                      // 선언) 명령이 "/" 이면 handleRoot 실행시키기.


 server.on("/inline", [](){                            // 선언) 명령이 "index" 이면 [](){...}; 라는 익명함수를 실행시키기.

   server.send(200, "text/plain", "this works as well");

 });


 server.on("/on", [](){                                // 선언) 명령이 "on" 이면 [](){...}; 라는 익명함수를 실행시키기.

   server.send(200, "text/plain", "LED ON");

     digitalWrite(led, 0);

 });


   server.on("/off", [](){                              // 선언) 명령이 "off" 이면 [](){...}; 라는 익명함수를 실행시키기.

   server.send(200, "text/plain", "LED OFF");

     digitalWrite(led, 1);

 });

 

 server.onNotFound(handleNotFound);                      //


 server.begin();

 Serial.println("HTTP server started");

}


void loop(void){

 server.handleClient();                                                // 없어도 아무일 안생김ㅎㅎ

}





'kipfa 필기' 카테고리의 다른 글

0713_먼지센서 구동_Sketch에서 실행  (0) 2017.07.13
0713_먼지센서(SDS011 Air Quality Sensor) 이용하기  (0) 2017.07.13
0712_HttpRequest 예제(성공)  (0) 2017.07.12
0712_Blink 예제(성공)  (0) 2017.07.12
0712  (0) 2017.07.12