정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 HTML 문안에 스크립트를 이용하여 값 전달을 시도 하려는데요.
김덕수 | 2016-09-19
아두이노에서 웹서버를 구축하여 페이지는 만들었는데 로그인 기능을 만드려고 합니다.
그래서 여러방면으로 검색해보니 스크립트로 하는것이라 하여 일단 기본적으로 시간을
넣어보려했는데요. php 코드 자체가 작동을 안하는것 같아 이렇게 질문을 남기게 되었습니다.
혹시 이러한 값전달을 하기위해 php를 html 안에 사용하려하는데 도움을 주실수 있으신가요?
일단 아래에 현재 코드를 모두 첨부해두겠습니다.
혹시 html안에 php를 사용하여 값전달하는 것이 무리이거나 다른 방법을 제시해주셔도 정말 감사드리겠습니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
#include <SPI.h>
#include <WiFi.h>
#include <EEPROM.h>
char ssid[] = "";
char pass[] = "";
int keyIndex = 0;
int aveval = 1018; //EEPROM 평균 소모량 저장 위치 시작점
int sumval = 1020; //EEPROM 총 소모량 저장 위치 시작점
int status = WL_IDLE_STATUS;
WiFiServer server(80);
void setup() {
  Serial.begin(9600);
  while (!Serial) {
    ;
  }
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println(F("WiFi shield not present"));
    while (true);
  }
  String fv = WiFi.firmwareVersion();
  if (fv != "1.1.0") {
    Serial.println(F("Please upgrade the firmware"));
  }
  while (status != WL_CONNECTED) {
    Serial.print(F("Attempting to connect to SSID: "));
    Serial.println(ssid);
    status = WiFi.begin(ssid, pass);
    delay(10000);
  }
  server.begin();
  printWifiStatus();
}
void loop() {
  WiFiClient client = server.available();
  if (client) {
    Serial.println(F("new client"));
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        if (c == '\n' && currentLineIsBlank) {
          client.println(F("HTTP/1.1 200 OK"));
          client.println(F("Content-Type: text/html"));
          client.println(F("Connection: close"));  //연결 유지
          //client.println(F("Refresh: 10"));  //웹페이지 새로고침
          client.println();
          client.println(F("<!DOCTYPE HTML>"));
          client.println(F("<html>"));
          client.println(F("<head>"));
          client.println(F("<title>Project</title>"));
          client.println(F("<? date_default_timezone_set('Asia/Seoul'); ?>"));
          client.println(F("</head>"));
          client.println(F("<body>"));
          //client.println(F("<br />"));
          client.println(F("Hello World"));
          client.println(F("Time : "));
          client.print(F("<?php echo asdfasdf ?>"));
          client.println(F("</body>"));
          client.println(F("</html>"));
          break;
        }
        if (c == '\n') {
          currentLineIsBlank = true;
        } else if (c != '\r') {
          currentLineIsBlank = false;
        }
      }
    }
    delay(100);
    client.stop();
    Serial.println(F("client disonnected"));
  }
}
void printWifiStatus() {
  Serial.print(F("SSID: "));
  Serial.println(WiFi.SSID());
  IPAddress ip = WiFi.localIP();
  Serial.print(F("IP Address: "));
  Serial.println(ip);
  long rssi = WiFi.RSSI();
  Serial.print(F("signal strength (RSSI):"));
  Serial.print(rssi);
  Serial.println(F(" dBm"));
}
void saver(int index, int amount){
  byte hiByte = highByte(amount);
  byte loByte = lowByte(amount);
  EEPROM.write(index, hiByte);
  EEPROM.write(index+1, loByte);
  Serial.print(F("Save Add: "));
  Serial.print(index);
  Serial.print(F(", Amount: "));
  Serial.println(amount);
  delay(100);
}
int reader(int index){
  int amount;
  byte hiByte = EEPROM.read(index);
  byte loByte = EEPROM.read(index+1);
  amount = word(hiByte, loByte);
  Serial.print(F("Read Add: "));
  Serial.print(index);
  Serial.print(F(", Amount: "));
  Serial.println(amount);
  delay(100);
  return amount;
}
이전글   |    하드웨어 초보자가 사용법 여쭙니다.. 2016-09-19
다음글   |    uart 통신 질문드려요 2016-09-19