답변:
예, 웹 서버를 사용하지 않고 ESP8266으로 데이터를 전송할 수 있지만, 하나를 사용하거나 기능적으로 관련된 것을 사용할 수 있습니다.
ESP8266은 WiFi 라디오와 네트워크 스택을 갖춘 상당히 범용적인 컴퓨팅 장치이므로 코드로 설명하려는 합리적인 프로토콜을 거의 구현할 수 있습니다 .
그러나 사람이 소비 할 수있는 소형 웹 페이지처럼 보이고 작동하는 프로토콜을 구현하는 것이 매우 인기가 있습니다.
즉, 클라이언트가 다음과 같은 것을 연결하고 수행하는 대신
GET /index.html HTTP/1.1
그것은 말할 수 있습니다
GET /gpio/15/value HTTP/1.1
URL은 특정 문서가 아니라 액세스하려는 장치의 일부 데이터를 나타냅니다. 당신은 비슷한 것을 할 수있는 POST, PATCH, DELETE등의 요청을.
사람이 소비 할 페이지를 작성하지 않는 한 일반적으로 교환하는 데이터는 HTML 페이지가 아닙니다. 종종 JSON과 같은 것일 수 있습니다. 예를 들어
GET /gpio/15/value HTTP/1.1
같은 응답을 유발할 수 있습니다
{"gpio": 15, "direction": "in", "value": 0}
마찬가지로 클라이언트가 다음과 같이 말하여 GPIO를 설정할 수있는 엔드 포인트를 만들 수 있습니다.
POST /gpio/15 HTTP/1.1
{"direction": "out", "value": 1}
그러한 질의에 응답하는 프로그램이 "웹 서버"라면 그것은 어느 정도 의미 론적 또는 구현 특정 질문이다-그것은 웹 서버가 될 수있다. 데이터베이스 쿼리에서 일부 컨텐츠를 생성하거나 데이터를 처리하고 HTTP를 말하는 방법을 알고있는 전용 프로그램 일 수 있습니다.
물론 HTTP를 사용하여 JSON 페이로드를 교환하는 것은 여러 가지 방법 중 하나 일뿐입니다. 현재 많은 웹 서버와 같은 개념을 재사용하고 웹 브라우저의 사용을 어느 정도 허용하는 현재 인기있는 방법 일뿐입니다 시험용.
전화와 ESP8266이 동일한 홈 WiFi 네트워크의 클라이언트 인 경우 이러한 구성표가 로컬에서 가장 잘 작동하는 경향이 있다는 점도 명심해야합니다. 전화가 "집에 있지"않았지만 모바일 네트워크에만있는 경우 ESP8266에 도달하도록 허용하면 외부 요청을 홈 네트워크에 허용하는 것이 바람직합니다. 이 경우 ESP8266 장치와 전화가 외부 릴레이 서버에 독립적으로 연결되어 그들 사이에 메시지를 전달하는 프로토콜을 사용하는 것이 매우 인기가 있습니다. MQTT는 릴레이 서버 기반 아키텍처가있는 시스템에 자주 사용되는 체계의 예입니다.
DELETE포트 구현 에 대해 궁금합니다. ;-)