スクリプトプログラマブルコントローラのローカル機能はほぼ完成し、リモート関連機能の実装を開始します。
リモート システムの全体的なアーキテクチャは次のとおりです:
ESP8266 の SDK を使用して TCP サーバーと TCP クライアントを実装します。
TCP サーバーに基づいて http プロトコル解析コードを作成し、シンプルな http サーバーを設計し、組み込み Web ページのダウンロードを含むブラウザーとのデータ対話を処理し、Ajax テクノロジーを使用して状態を取得してデータを保存します。
HTML、JS、CSSを使用してWebページをデザインし、ESP8266モジュールのフラッシュにダウンロードして保存します。バックエンドのC言語のデータ処理と組み合わせて、Webベースのスクリプトプログラミング、ステータスチェックを実現します。 、パラメータ設定およびその他の機能。
クラウド サーバー側では、Linux クラウド サーバー ホストを購入し、TCP/IP 通信ゲートウェイとして swoole を選択しました。
Swoole は実稼働環境用の PHP 非同期ネットワーク通信エンジンであり、PHP 開発者が高性能の非同期同時 TCP、UDP、Unix Socket、HTTP、WebSocket サービスを作成できるようにします。
Swoole フレームワークに TCP サーバーと WebSocket サーバーを実装します。TCP サーバーはコントローラーとクラウドの接続に使用され、コントローラーの TCP クライアントはクラウド サーバーの TCP サーバーとの長い TCP 接続を確立します。これにより、インターネットからのデータがTCP 接続を介してリモートからコントローラーに送信して、コントローラーのリモート制御を実現できます。
リモート Web ページは、WebSocket クライアントを使用して Swoole の WebSocket サーバーとの長い接続を確立し、クラウド サーバーと Web ページ間のリモート侵入を実現し、コントローラーのステータスを実際の Web ページにプッシュできます。表示時間。
WebSocket サーバーと TCP サーバー間のデータはメモリを介して共有され、PC ツール、Web ページ、およびコントローラーはすべて一意の番号を持ち、PC ホスト、コントローラー、Web ページ間のデータ メッセージはこの番号をソースとして使用し、宛先アドレスを指定し、TCP サーバーと WebSocket サーバーはデータ メッセージを受信後、宛先アドレスに従って転送し、PC 上でのデータ送信を実現します。データメッセージを受信した後、TCP サーバーと WebSocket サーバーは宛先アドレスに従ってメッセージを転送し、PC ツール、Web ページ、コントローラー間のデータの相互接続を実現します。
メモリ データベースとして redis を使用すると、コントローラーのステータス データをデータベースに一時的に保存して、異常な電話アラームなどの機能を実現できます。一方、mysql は一部の構成データを保存するための永続的なデータベースとして使用されます。
以上がESP6ベースのスクリプトプログラマブルコントローラー用クラウドのIOTゲートウェイフレームワークとしてswooleを使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。