UnityとArduinoのUDP通信がうまくいかない
Windows10上のUnity(2019.1.3f1)とArduino ESP32間をUDP通信しようとしたところ,Processingなど他のアプリケーションで動作したものの,Unityのみ通信できませんでした。
結果,Windowsファイアウォール設定で接続拒否されていたことが原因でした。
以下の手順で,Unity上での通信が許可できました。
① コントロールパネル→システムとセキュリティ→WindowsDefender ファイアウォール設定→詳細設定より,インストールしたUnityのバージョンとファイアウォールの状態を確認。
② 接続がブロックされていたら,「接続を許可する」を選択してOK。
(特にファイアウォール設定を変更していないので,Unityを最新に更新したときに自動的にブロックされていたようです。)
・Processingによる動作確認
UDPポート(8888番)の受信のみを確認l。
import oscP5.*; import netP5.*; OscP5 oscP5; int receivePort = 8888; void setup() { size(100, 100); frameRate(60); oscP5 = new OscP5(this, receivePort); } void draw() { background(0); } void oscEvent(OscMessage theOscMessage) { print(" addrpattern: "+theOscMessage.addrPattern()); println(" typetag: "+theOscMessage.typetag()); theOscMessage.print(); }
コメント