답변:
예, 웹 서버를 사용하지 않고 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
포트 구현 에 대해 궁금합니다. ;-)