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 件のコメント:
コメントを投稿