初投稿です^^
ロボット業界でエンジニアをしているものです。
プログラムは勉強中なので、アドバイスをいただけると嬉しいです!
#概要
・目的: Processingを用いた、UDPの送信と受信を簡易的に行えるようにする。
・内容: 送信ボタンを押すとUDP通信で受信のログに記載される。
・準備:
1. Processingのダウンロード
2. ライブラリのインポート
3. コードを書く
4. 実行
#実践
###1. Processingのダウンロード
###2. ライブラリのインポート
1. Processingを起動し、「スケッチ/ ライブラリをインポート.../ ライブラリを追加...」の順で進んでください。
2. “UDP”と“controlP5”をインストールしてください。
「Status」に緑のチェックがついている「Name」を選択し、「Install」をクリック。
※“ControlP5”はProcessingにおけるGUIコントローラの一種です。
インストールを終わったら、完了です!
###3. コードを書く
では、コードを書いていきます。
送信側のコードは下記のとおりです。
import hypermedia.net.*;
import controlP5.*;
UDP udp;
ControlP5 cp5;
final String IP = "localhost";
final int PORT = 1000; //送信側のポート番号
String msg = "test_messege"; //UDPで送るコマンド
void setup() {
size(200, 200);
cp5 = new ControlP5(this);
udp = new UDP( this, 2000 );
ControlFont cf = new ControlFont(createFont("メイリオ",20));
cp5.addButton("UDP_Msg")
.setFont(cf)
.setLabel("送信")
.setPosition(50,50)
.setSize(100,100);
}
void draw() {
background(200);
}
void UDP_Msg(){
udp.send(msg,IP,PORT);
}
受信側のコードは下記のとおりです。
import hypermedia.net.*;
import controlP5.*;
UDP udp;
final String IP = "localhost";
final int PORT = 2000;
void setup() {
udp = new UDP(this, 1000);
udp.listen( true );
}
void draw() {;}
void receive( byte[] data, String ip, int port ) {
String message = new String( data );
println( "receive: \""+message+"\" from "+ip+" on port "+port );
}
###4. 実行
実行結果すると下記の図のようになります。
「送信」ボタンを押すとreceiveで受け取れてるのがわかりますね!
以上、簡単にご紹介しました。
ご質問や、アドバイス等があれば気軽にコメントしてください。
#余談
PCの壁紙が目に悪いと言われますが、この色が好きなのです!
今年のカラー・オブ・ザ・イヤー2019に選ばれたのが『Living Coral(リビングコーラル)』です。
・PANTONE:16-1546 Living Coral
・カラーコード:#FF6F61
・RGB:R255, G111, B97
・CMTK:C0, M65, Y54, K0
この色を今年は多く取り入れれば、良いことあるかもです!