본문 바로가기
아두이노

아두이노 이더넷 웹서버 만들기 -#18

by 오징어땅콩2 2020. 5. 20.
반응형

최근 2,3주 동안 이더넷 쉴드로 아이피를 할당 받고,
여러가지 웹서비스, 웹서버를 만들어 봤다.
원리는 간단하고 공부해야 할 것은  HTML, 자바스크립트 문법이다.
그래도 간단한 버턴, 입력창 정도는 쉽게 만들수 있으니 만들어 보기 바란다.

사실 서버가 중요한개 아니고 본인이 무슨 서버의 서비스를 할지가 중요하다.
데이더베이스 서버,
웹서버,
FTP서버 등등..

항상 중요한것은 문법 하나 하나가 중요한게 아니다. 
개념을 이해하고 넘어 가야 한다.

여유가 된다면 이것도 공부하시기 바란다.
우노의 2k 바이트는 너무한것 같다.

 

 

const char message [27][200] PROGMEM  = 

{

  {"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"},

  {"

http://www.w3.org/1999/xhtml\">"</html xmlns=\"

},

  {"<head>"},

  {"<meta http-equiv=\"Content-Type\" content=\"application/xhtml+xml; charset=utf-8\" />"},

  {"<meta name=\"viewport\" content=\"user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width\" />"},

  {"

http://code.google.com/apis/maps/documentation/javascript/examples/standard.css\" rel=\"stylesheet\" type=\"text/css\" />"</link href=\"}, 

  {" }, 

  {"<script  type=\"text/javascript\">"}, 

  {"function initalize() {"},

  {"var mapOptions = {"},

  {"zoom: 15,"},

  {"center: new google.maps.LatLng(0, 0),"},       

  {"disableDefaultUI: true,"},

  {"mapTypeId: google.maps.MapTypeId.ROADMAP,"},

  {"draggable: false  "},

  {"} "},

  {"var map = new google.maps.Map(document.getElementById(\"map_canvas\"), mapOptions);"},

  {"var marker = new google.maps.Marker({map: map, position: map.getCenter()});"},

  {"}"},

  {"</script> "}, 

  {"<title> Google Map JavaScript API </title>"},

  {"</head>                         "},

  {"<body onload=\"initalize()\">"},

  {"<div id=\"map_canvas\" style=\"width: 640px; height: 480px; margin: 0 auto; top:50px; border: 1px solid black;\"> </div>"},

  {"</body>"},

  {"</html>"},

};

 

void webPage3(EthernetClient& c, double y, double x)  

{

  for(int i =0; i < 26; i++)

  {

    char* p = msg;

    if(i!=11)

    { 

        for (byte k = 0; k < strlen_P(message[i]); k++

        {

         *= pgm_read_byte_near(message[i]+k);

          p++;

        }

        *='\0';     

    }

    else

    { 

      p+=sprintf(p,"center: new google.maps.LatLng(%s, %s),", String(y,8).c_str(), String(x,8).c_str());           

    }

    if(strlen(msg) >200)

    {

        Serial.print(strlen(msg));

        Serial.print(msg); 

        Serial.println();    

    }  

    c.println(msg);     

    delay(10);

  }

 

  return ;

}

 

Colored by Color Scripter

댓글