忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[399]  [398]  [397]  [396]  [395]  [394]  [393]  [392]  [391]  [390]  [389
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

今日でプロジェクトページを作ってから一か月が経ちました。
予想通りコメントはありませんでした。そろそろ、なりすまし用の別アカウントを作りたいと思います。
まあそれは嘘ですけど。何の意味もないですから。
前の目標変更の記事を見てまさか本気でやると思った人はいないよなあとちょっと不安になってきました。



今回はとりあえず適当にWebブラウザでボタンを押すとRTCのサービスポートのサービスを実行するようなプログラムを作ってみます。
実装方法は違いますが、RTMコンテスト2013の作品のRobotControlBrowser RTCの劣化版ぐらいな感じで思ってくれていいです。
今回のプログラムはここからダウンロードできます。
使用方法は、
  1. testserver.pyを実行して簡易サーバーを起動する
  2. CGITest\CGITestProvider.pyを実行してRTCを起動する
  3. RTCをアクティブにする
  4. WebブラウザでURLにhttp://localhost:8000と入力する
  5. CGITest.set関数を呼び出す場合、テキストボックスに文字列を入力して入力ボタンを押す
  6. CGITest.get関数を呼び出す場合、取得ボタンを押す
とりあえず、JavaScriptからXMLHTTPRequestによりPythonのCGIを呼び出すところまでは以前の記事で書いたことなので省略します。


CGITestProvider.pyもサービスポートがあるだけで特に変わった所はないので説明は省略します。
cgi-bin\CGICompConsumer.pyだけを説明します。
まず、
form = cgi.FieldStorage()
cmd = form['cmd'].value
・・・
value = form['value'].value

はCGIRTC\CGIRTC.jsのobj.send(str);で入力したデータを取得しています。

まず、以下のコードでサービスポートを作成しています。
_mycon = OpenRTM_aist.CorbaConsumer(interfaceType=CGITest.mCGITest)
        
_cpCon = OpenRTM_aist.CorbaPort("CGITest")
_cpCon.registerConsumer("mCGITest", "CGITest::mCGITest", _mycon)
そして、起動したCGITestProvider0.rtcをrtctreeにより取得しています。
tree = rtctree.tree.RTCTree(servers='localhost', orb=orb)
rtc = tree.get_node(['/', 'localhost','CGITestProvider0.rtc'])
さらにサービスポートを接続しています。
e_port = rtc.get_port_by_name("CGITest")._obj
conprof = RTC.ConnectorProfile("connector0", "", [e_port,_cpCon.getPortRef()], [])
ret = e_port.connect(conprof)
最後に以下のようにサービスを呼び出しています。
if cmd == "set":
      value = form['value'].value
      _mycon._ptr().set(value)
elif cmd == "get":
       value = _mycon._ptr().get()

適当な説明ですが今日はこれぐらいにしておきます。
RobotControlBrowser RTCの実装方法に比べて特に利点はないので、余程の理由がない限りはあちらの実装方法を参考にしてください。


次はOmniORB関連の事をやると思います。





にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
36
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]