iPhoneのZIG SIMアプリで9軸データを送り,macのPythonプログラムで受信してみます.mac側のプログラムは以下のとおり.
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Python 3.7.3 on macOS 10.15 Catalina Beta # 2019/8/7 # receive OSC data by UDP import argparse from socket import * from pythonosc import dispatcher from pythonosc import osc_server def handle_zigsim_osc_message(addr, *args): try: print("{0}: {1}".format(addr, args)) except ValueError: print("ValueError occrurred") def start_OSC_server(ip_addr, port_num): print("starting on address {}, port {}".format(ip_addr, port_num)) # OSC dispatcher dispatch = dispatcher.Dispatcher() dispatch.map("/ZIGSIM/*", handle_zigsim_osc_message ) server = osc_server.ThreadingOSCUDPServer( (ip_addr, port_num), dispatch) print("Serving on {}".format(server.server_address)) server.serve_forever() if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("--ip", default="127.0.0.1", help="IP address to listen on") parser.add_argument("--port", type=int, default=30000, help="port to listen on") args = parser.parse_args() start_OSC_server(args.ip, args.port)
クライアントのZIG SIMアプリの設定(送信データ)は以下のとおり.
ZIG SIMアプリの設定(プロトコル)は以下のとおり.IP ADDRESSにはパソコンのIPアドレスを入れます.ポート番号は30000にしました.
macでサーバープログラムを動かし,iPhoneでクライアントを動かすと,iPhoneから9軸データがサーバーに送られます.このときのクライアントの画面は以下のとおり.
サーバー側では,以下のようにデータが表示されて,ちゃんとデータがOSC形式で受信できていることが分かります.
現在のiPhone上でうごかしてZIG SIMを,「9軸センサー(加速度,ジャイロ,地磁気)のデータを使う (1)」で作成中のArduinoを使ったハードウェアで置き換えるのが目標です.
0 件のコメント:
コメントを投稿