ポートフォワードなしでインターネット経由でArduinoに連絡する


13

インターネットにアクセスできるWifiネットワークに接続されたArduinoボードがあります。私が望むのは、Arduinoのホームネットワークのポート転送の助けを借りずに、他のネットワークからこのArduinoボードに連絡する必要があるということです。現在、私がしていることは、2秒ごとにWebサーバーにArduinoのpingを送信することですが、これは実際的ではないと思います。

スマートwifi LEDライトのようなデバイスはどのようにインターネットに接続しますか?ポート転送や他のルーター構成の調整なしで、携帯電話でそれらを操作できますか?どうやってやっているの?


CoAP、そしておそらく他のIoTプロトコルを見てください。
ショーンフーリハネ

回答:


9

インバウンドトラフィックを許可するネットワーク上にいる必要を回避するために、アウトバウンド接続を行うクライアントからのリクエストを中継するサーバーにアウトバウンドを接続する必要があります。

これは本質的に、通信衛星のモデルのようなものです。ユーザーのコンピューターまたは電話、またはIoTデバイスの両方が、クラウド内のこのサーバーへのリンクを「維持」し、一方のメッセージが送信され、他方のメッセージが送信されます。

このようなサーバーを実装する方法は多数あります。現在流行しているのは、MQTT Brokerにすることです。MQTTでは、クライアント(IoTデバイスとユーザーデバイスの両方)がブローカーへのアウトバウンド接続を行い、壊れた共有メッセージは、ある「トピック」に「公開」されたメッセージを、ある「クライアント」が「トピック」に「サブスクライブ」したすべてのクライアントに「公開」しますトピック。

  • すでに接続が確立されているため、ブローカーはポーリング間隔の遅延なしに非請求トラフィックを送信できます。

  • 接続の確立を維持するために、時々キープアライブトラフィックが送信されます

  • 接続が切断された場合、再確立を試みるためのルールがあります

  • 基本的に、顕著な遅延は、ブローカーがメッセージの中継を試みた場合にのみ発生し、接続が切断されてまだ修復されていないことが判明した場合、再接続が完了するまでメッセージは遅延します。(メッセージの保持、削除などのオプションがあります)。


1
ずっとMQTT。手がかりクリスをありがとう。NodeJS + MQTTがその方法です。
Jithesh Ktを
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.