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