13

USB経由でインターフェースする製品を開発しています。そのためのコントロールアプリを書きたいのですが、うんち用のGUIをプログラムできないので、プログラムのインターフェイスとしてWebページ(アプリのインストールディレクトリのローカル)を使用することを思いつきました。

したがって、通信回線は次のようになります。ユーザー-> HTMLページ(ホストされていない-ローカル)->C++プログラム->USBポート

少なくともUIに関しては移植性があり、HTMLを流暢に書くことができるので、このようにしたいと思います。

私の質問はこれです:HTMLページを使用してC ++プログラムを介してUSBポートと通信することは可能でしょうか?

そうでなければ、私はGTKを学びます-それは十分にポータブルです。

PS。これはPHP、または(eugh)Javaで可能でしょうか?

編集:PHPはサーバー側の言語であることに気づきました-ページをプログラムとして実行する必要があるため、私の状況では機能しません(つまり、実際の処理はC / C ++)

4

7 に答える 7

10

実際には、 Wt(Qtと同様のAPI)と呼ばれるツールキットを使用してC++でWebアプリケーションを作成できます。スタンドアロンブラウザとApache用のモジュールがあります。このようにして、ASP.NETでC#を使用する場合と同じようにプログラミング言語としてC ++を使用できるため、既存のC++コードを使用することもできます。しかし、それは本当にエレガントではありません。

実際には、Qtを学び、その上にアプリケーション全体を作成することをお勧めします。非常に移植性が高く、ほぼすべてに対応する広範なAPIを備えています。これはアプリケーションフレームワークです。GTK +はUIだけを実行し、CではC++用のGTKmmラッパーが優れています。http://qt.nokia.comで確認してください。GNULGPLで入手できます。

于 2010-10-03T14:42:13.513 に答える
6

私はマングースを使用してHTTP/HTMLを介してサーバーを制御しました。ページをC++で直接生成しましたが、PHPインタープリターを呼び出してページのコンテンツをレンダリングできなかった理由がわかりません。

于 2010-10-03T13:08:42.717 に答える
5

ブラウザプラグイン(移植性はあまり高くありません)を作成しない限り、Webページを表示しているブラウザはC++プログラムの関数を呼び出すことはできません。

ブラウザからデバイスを制御する場合は、基本的にC++プログラムにWebサーバーを組み込む必要があります。したがって、リンクまたはボタンがクリックされると、C ++プログラムは、リッスンしているソケットで接続を受信し、何でも実行できます。

それは(おそらくWebサーバーの側面を支援するためにいくつかのサードパーティライブラリを使用して)行うことを学ぶのに完全に立派なことですが、GUIアプリを書くことを学ぶこともあり、後者はここでより直接的にポイントになります;-)

確かに、Javaは同じことを行うことができます。コマンドラインからPHPを実行し、サーバーをPHPで実装することもできますが、これはPHPが通常使用される方法とは裏返しになっています。

于 2010-10-03T13:12:55.360 に答える
2

あなたがそれをしたいのなら-あなたのC++プログラムはhttpサーバーの役割を果たさなければならないでしょう。AFAIK-多くのルーター構成ユーティリティがこのように機能します(AppleのAirport Express / Extremeを除く)-CGIを介して提供されるhtmlページで実行される小さなhttpdがあります。

于 2010-10-03T13:09:25.710 に答える
2

HTMLayoutをチェックしてください。低レベルのコンポーネントであるHTMLayout自体は無料です。私の知る限り、現時点ではWindowsのみですが、LinuxとMacに移植する作業が進行中です。(Windows Mobileポートは既に存在します)。また、HTMLayoutを中心に構築され、スクリプト機能を備えたSciterもあります。デモをチェックしてください、彼らは印象的です!

(プラグのように聞こえたら申し訳ありません。私はそれらとは提携していませんが、HTMLayoutが本当に好きです:))。

于 2010-10-03T14:14:27.997 に答える
1

私が考えることができる最も近いことは、Firefox / Chrome / IE / Safariプラグインを作成し、ユーザーにそれを自分のブラウザーにインストールして、GUIを実行してデバイスを制御させることです。

于 2010-10-03T13:09:35.493 に答える
1

アプリの機能にRESTインターフェースを公開し、インターフェースを呼び出すことができるHTMLページを提供する単純なhttpサーバー(たとえば、http://code.google.com/p/mongoose/ )を埋め込むことができます。

于 2010-10-03T13:13:08.650 に答える