______________________________________________________________________________________________________________________________
클라이언트/서버란 리소스 또는 서비스 제공자가 분리되어 있는 분산응용구조를 뜻한다. 예를 들어 아두이노 웹서버란 웹을 바탕으로 하는 서비스 관점에서 아두이노가 서버로서 서비스 코드를 실행하게 되면 네트워크를 통해 클라이언트 즉 스마트 폰이나 PC들이 아두이노에 request를 보내어 연결이 되면 아두이노가 실행하는 서비스 코드를 받아 보게 되는 것이다.....
나머지 내용은 아래의 블로그에 포스팅되어 있으므로 넘어가서 읽으세요.
아두이노 코딩-61: 아두이노 사물인터넷 NodeMCU Web Server 코딩에 의한 LED on OFF 특집
https://steemit.com/kr/@codingart/61-nodemcu-web-server-led-on-off
스팀잇에서 넘어 오신 분은 아래에 첨부한 코드를 받아가세요.
//Webserver_NodeMCU_01
#include <ESP8266WiFi.h>
const char* ssid = "android1234";//무선 공유기 id로 수정
const char* password = "dddddddddd";//무선 공유기 비빌번호
int ledPin = 2; //
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
// Set WiFi to station mode and disconnect from an AP if it was previously connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("Setup done");
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Start the server
server.begin();
Serial.println("Server started");
// Print the IP address
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
WiFiClient client = server.available(); // Check if a client has connected
if (!client) {
return;
}
Serial.println("new client");
while(!client.available()) { // Wait until client sends data
delay(1);
}
String request = client.readStringUntil('\r'); // Read the first line of the request
Serial.println(request);
client.flush();
// Match the request
int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
digitalWrite(ledPin, LOW);
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1) {
digitalWrite(ledPin, HIGH);
value = LOW;
}
client.println("HTTP/1.1 200 OK"); // Return the response
client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<body>");
client.print("Led pin is now: ");
if(value == HIGH) {
client.print(" on");
}
else {
client.print("Off");
}
client.println("<br><br>");
client.println("<a href=\"/LED=ON\"\"><button>Turn on </button></a>");
client.println("<a href=\"/LED=OFF\"\"><button>Turn Off </button></a><br />");
client.println("</body>");
client.println("</html>");
delay(1);
Serial.println("Client disonnected");
Serial.println("");
}//끝
'아두이노프로세싱 프로그래밍' 카테고리의 다른 글
WeMos D1(Retired) LED WiFi BLINKING & STOP(짤) (0) | 2018.06.08 |
---|---|
스타워즈 송을 Processing으로 Visualization하자 (0) | 2018.06.07 |
아두이노 난수발생기가 인터페이스된 Processing 시계 코딩(짤) (0) | 2018.06.05 |
미세먼지 측정기가 인터페이스된 Processing 시계 코딩 (0) | 2018.06.05 |
Processing 그래픽 언어에 의한 시계 코딩 (0) | 2018.06.05 |