스크립트 프로그래머블 컨트롤러의 로컬 기능이 거의 완성되어 원격 관련 기능 구현에 들어갑니다.
원격 시스템의 전체적인 아키텍처는 다음과 같습니다.
ESP8266의 SDK를 사용하여 tcp 서버와 tcp 클라이언트를 구현합니다.
TCP 서버를 기반으로 http 프로토콜 구문 분석 코드를 작성하고, 간단한 http 서버를 설계하고, 내장 웹페이지 다운로드를 포함한 브라우저와의 데이터 상호 작용을 처리하고, ajax 기술을 사용하여 상태를 가져오고 데이터를 저장합니다.
우리는 html, js 및 css를 사용하여 웹 페이지를 디자인하고 이를 ESP8266 모듈의 플래시에 다운로드 및 저장합니다. 백엔드에서 C 언어의 데이터 처리와 결합하여 웹 기반 스크립트 프로그래밍, 상태 확인을 실현합니다. , 매개변수 설정 및 기타 기능;
클라우드 서버측에서는 Linux 클라우드 서버 호스트를 구입하고 TCP/IP 통신 게이트웨이로 swoole을 선택했습니다.
Swoole은 PHP 개발자가 고성능 비동기 동시 TCP, UDP, Unix 소켓, HTTP, WebSocket 서비스를 작성할 수 있도록 하는 프로덕션 환경을 위한 PHP 비동기 네트워크 통신 엔진입니다.
Swoole 프레임워크에서 tcp 서버와 websocket 서버를 구현합니다. 여기서 tcp 서버는 컨트롤러와 클라우드를 연결하는 데 사용되며 컨트롤러의 tcp 클라이언트는 클라우드 서버의 tcp 서버와 긴 TCP 연결을 설정하여 인터넷의 데이터가 컨트롤러의 원격 제어를 달성하기 위해 TCP 연결을 통해 원격으로 컨트롤러에 전송될 수 있습니다.
원격 웹페이지는 websocket 클라이언트를 사용하여 Swoole의 웹소켓 서버와 긴 연결을 설정하여 클라우드 서버와 웹페이지 간의 원격 침투를 달성함으로써 컨트롤러의 상태를 실제로 웹페이지에 푸시할 수 있습니다. 전시 시간;
웹소켓 서버와 TCP 서버 사이의 데이터는 메모리를 통해 공유되며, PC 도구, 웹 페이지, 컨트롤러는 모두 고유 번호를 가지며, PC 호스트, 컨트롤러, 웹 페이지 사이의 데이터 메시지는 이 번호를 소스로 사용하고 대상 주소, 그리고 TCP 서버와 웹소켓 서버는 데이터 메시지를 수신한 후 대상 주소에 따라 데이터 메시지를 전달하여 PC에서 데이터 전송을 실현합니다. 데이터 메시지를 받은 후 TCP 서버와 웹소켓 서버는 대상 주소에 따라 이를 전달하여 PC 도구, 웹 페이지 및 컨트롤러 간의 데이터 상호 연결을 실현합니다.
redis를 메모리 데이터베이스로 사용하면 컨트롤러의 상태 데이터를 데이터베이스에 임시 저장하여 비정상적인 전화 경보 등의 기능을 구현할 수 있으며, mysql은 일부 구성 데이터를 저장하는 영구 데이터베이스로 사용됩니다.
위 내용은 ESP6 기반 스크립트 프로그래밍 가능 컨트롤러를 위해 클라우드에서 Swoole을 IOT 게이트웨이 프레임워크로 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!