Apache でホストされた Web ページと、 Raspberry PiやDD-Wrtなどの小さな Linux デバイスで実行されているカスタム C++ アプリとの間の通信リンクを実装したいと考えています。
Web ページのボタンを使用して GPIO ピンの LED を制御する Raspberry Piのチュートリアルがここにあります。この例では、Web ページとスクリプトの間の通信インターフェイスとして MySQL を使用し、スクリプトは GPIO への読み取り/書き込みアクセスを持っています。MySQL は、Apache がホストする Web ページおよび C++ への成熟した/ユビキタスなインターフェイスの利点を提供しますが、速度が遅くなり、フラッシュと RAM のフットプリントが必要以上に大きくなる可能性があります。
MySQL よりも小さい/高速な通信リンクを見つけようとして、C++ アプリに対して XML-RPC を実行する Javascript を使用する例があります。しかし、 2012 年 2 月 24 日のこの投稿は、xmlrpc が廃止され、より新しいもの (JSON、REST) に置き換えることができることを暗示していますが、投稿にはこれらの方法論に関する詳細が欠けています。
考慮される別のオプションは、Wtやその他の組み込みライブラリのようなものですが、学習曲線があり、Web 開発者はそれに慣れていない可能性があります。
私の質問は、Raspberry Pi やその他の組み込み Linux デバイスのようなリソースに制約のあるデバイスにカスタム C++ アプリ用の Web インターフェイスを実装するのに適したアーキテクチャは何でしょうか?
仮定:
- Apache は、メモリに収まり、Web 開発者が使い慣れているため、推奨されます。
- インターフェイスは「モダン」である必要があります
- ページは単純なテキストのみで、約 10 ページで、データ フィールドの 90% は読み取り専用で、残りの 10% は編集可能なフィールドです。
- Web サーバーは、ユーザーが 3 人以下のプライベート ネットワーク上にあります。ユーザーの数は、セキュリティ/ログインを使用して適用されます。
- SD から起動する組み込み ARM プラットフォーム
- CGI (トランザクションごとにプロセスを起動する) は、必要以上に遅いと想定されます。FastCGI は問題ないかもしれません。
私の質問に答えなかった同様の質問が見つかりました: -組み込みデバイスの Web インターフェイスの言語選択 -組み込みシステムの Web インターフェイスの設計