1

私はWeb開発にまったく慣れていないので、この質問が不要な場合に備えてご容赦ください。これが私がやろうとしていることです:私は(センサーとLCDスクリーンを使用して)データを収集して表示している複数のArduino(EthernetShieldsを装備)を持っています。すべてのArduinoは、MySQLデータベースをホストするWebサーバーおよびデータを視覚化するWebページと通信します。Arduino自体は、いくつかの単純なhtml / php/etcを実行できる最小限のWebサーバーをホストすることができます...

私の質問は次のとおりです。Arduinoとメインサーバー間の通信を実装して、ユーザーの操作なしでそれらの間でデータを送受信できるようにするための最も簡単な方法は何ですか?データは、比較的少数の整数値と短いテキスト文字列で構成されています。セキュリティは問題ではありません。

明確にするために編集:2つのWebサーバー間でデータを継続的に送受信するにはどうすればよいですか?私がPHPを使用していると仮定すると、これを行う簡単な方法は何ですか?GETメソッドとPOSTメソッドのすべてのチュートリアルには、「フォームアクション」の使用が含まれていました。これは、私の理解では、ユーザーの操作が必要です。

4

1 に答える 1

1

私があなたを正しく理解しているなら、あなたはたくさんのarduinoと通信する必要がある中央のウェブサーバーを持っています。arduinoと中央サーバーの間で双方向に情報を送信する必要があります。そして、これを行うためにWeb(http / tcp / ip)プロトコルを使用したいとします。

あなたは選択に直面します:
中央サーバーに通信を開始させたいですか?それとも、各arduinoに通信を開始させたいですか?

2番目の選択肢はかなり良いと思います。これは、中央サーバーをなんらかの方法で再構成することなく、システムに新しいarduinoを追加できることを意味します。しかし、私はあなたのアプリケーションについてあまり知らないので、これが悪い考えである理由があるかもしれません。

したがって、実行するのは、各arduinoに単純なWebクライアント(ブラウザーではない)を実装することです。次に、定期的なスケジュールで、各arduinoにメインサーバーへのWebリクエストを実行させます。arduinoからサーバーに送信する必要のあるデータの量に応じて、GETまたはPOSTを使用できます。データが小さい場合は、GETリクエストを使用できます。たとえば、気温と湿度の場合は、このようなリクエストを1秒に1回送信できます。

http://server/upload.php?temp=65&humidity=78

これに応じて、中央サーバーはこのデータを正しく処理できます。クライアントのインターネットアドレスによって、どのarduinoからのものかがわかりますREMOTE_ADDR

次に、サーバーは、サーバーがarduinoに送信する必要のあるデータを含む応答を送信します。

これがどうなるかわかりますか?毎秒、各arduinoがWebサーバーにアクセスし、「これが私があなたのために持っているものです。あなたは私のために何を手に入れましたか?」と言っています。

于 2013-01-13T18:58:34.133 に答える