プロジェクト

全般

プロフィール

ネームサーバー、マスターマネージャにIIOP以外でアクセスできるようにする手順

動作確認環境

  • Ubuntu24.04デスクトップPCのホスト環境(hostname: zku2404)・・・VM環境ではないということ
  • ソースビルドで作成したdebパッケージをインストールしている
  • ソースは、最新masterソース(017dbb2)へ下記2つのPRをマージして使用
    https://github.com/OpenRTM/OpenRTM-aist/pull/999
    https://github.com/OpenRTM/OpenRTM-aist/pull/1003
    • この2つをマージするとManager.cppでコンフリクトが発生するので、PR1003の修正を優先させる
  • ソースビルド時は、OpenRTM-aist/scripts/ubuntu_2404/Dockerfile.package を使用
  • ビルドスクリプトは、下記を使用
    https://github.com/n-kawauchi/RTM-src-pkgs-docker-build/blob/master/ubuntu_2404/build-cxx.sh
    • 実行時、RTM-src-pkgs-docker-build/blob/master/ubuntu_2404/下にマージした OpenRTM-aist を手動で配置
    • build-cxx.shの下記★の2行をコメントアウトして、ソースをcloneしないようにして実行する
      #----- OpenRTM-aist 
      echo "${password}" | sudo -S rm -rf ${TARGET}-*
      #rm -rf OpenRTM-aist ・・・★コメントアウト
      
      #git clone https://github.com/OpenRTM/OpenRTM-aist ・・・★コメントアウト
      
      VERSION=`dpkg-parsechangelog --file OpenRTM-aist/packages/deb/debian/changelog --show-field Version | cut -b 1-5`
      
    • ビルドが終了すると、カレントディレクトリの cxx-deb-pkgs下に生成されたdebパッケージが入っている
  • cxx-deb-pkgsディレクトリをインストールする環境へコピーし、下記手順でインストールする
    $ sudo dpkg -i openrtm2-idl_2.1.0-0_amd64.deb\
     openrtm2-dev_2.1.0-0_amd64.deb\
     openrtm2_2.1.0-0_amd64.deb\
     openrtm2-naming_2.1.0-0_amd64.deb\
     openrtm2-example_2.1.0-0_amd64.deb
    

C++

HTTP

結果OK ・・・2025/08/20確認

  • ターミナル1・・・ネームサーバ起動
    • 自動起動しているomniNamesを停止させてからopenrtmNamesを起動する
      $ systemctl status omniorb-nameserver.service
      $ sudo systemctl stop omniorb-nameserver.service
      $ export ORBtraceLevel=40
      
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.http.conf > openrtmNames-http.log 2>&1
      
    • ログは右記ページ参照 ・・・ openrtmNames-http.log
    • /usr/etc/rtc.names.http.confの内容
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:http://localhost:2809/call
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
    • ログを取りたいのでHOME下に /usr/share/openrtm-2.1/components/c++/examples をコピーして利用する
      $ mkdir test0820
      $ cd test0820/
      $ cp -r /usr/share/openrtm-2.1/components/c++/examples/* .
      $ ./ConsoleOutComp -f /usr/etc/http/rtc.http.conf
      
    • RTCのログは右記ページ参照 ・・・ rtc_http.log
    • /usr/etc/http/rtc.http.confの内容
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      naming.formats: %h.host_cxt/%n.rtc
      
      manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http
      manager.preload.modules: HTTPTransport.so
      
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:http:///call
      corba.nameservers: http://localhost:2809/call
      corba.master_manager: giop:http:http://localhost:2810/call
      
  • ターミナル3 ・・・rtshell起動
    • 環境変数設定項目が多いので、シェルスクリプトで定義しておく
    • rtls_export.sh
      #!/bin/bash
      
      export RTCTREE_HTTP_ENABLE=YES
      export RTCTREE_NAMESERVERS=http://localhost:2809/call
      export ORBserverTransportRule="* http" 
      export ORBclientTransportRule="* http" 
      export ORBendPoint=giop:http:http:///call
      export ORBtraceLevel=40
      
    • 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
      $ source rtls_export.sh
      $ rtls /http://localhost:2809/call#`hostname`.host_cxt > rtls-http.log 2>&1
       :
      ConsoleOut0.rtc
      
    • ログは右記ページ参照 ・・・ rtls-http.log
    • ログをファイルに落とさない場合、rtlsの結果として ConsoleOut0.rtc が返ってきた

HTTPS

結果OK ・・・2025/10/07確認

  • ターミナル1・・・ネームサーバ起動
    • 起動しているomniNames、openrtmNamesが無いことを確認してからhttps向けを起動
      $ export ORBtraceLevel=40
      
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.https.conf > openrtmNames-https.log 2>&1
      
    • ログは右記ページ参照 ・・・ openrtmNames-https.log
    • /usr/etc/rtc.names.https.confの内容
      corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.http.key_file_password:password
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:https://localhost:2809/call
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
      $ ./ConsoleOutComp -f /usr/etc/http/rtc.https.conf
      
    • RTCのログは右記ページ参照 ・・・ rtc-https.log
    • /usr/etc/http/rtc.https.confの内容
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      naming.formats: %h.host_cxt/%n.rtc
      
      manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http
      manager.preload.modules: HTTPTransport.so
      
      corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.http.key_file_password:password
      
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:https:///call
      corba.nameservers: https://localhost:2809/call
      corba.master_manager: giop:http:https://localhost:2810/call
      
  • ターミナル3 ・・・rtshell起動
    • 環境変数設定項目が多いので、シェルスクリプトで定義しておく
    • rtls_export.sh
      #!/bin/bash
      
      export RTCTREE_HTTP_ENABLE=YES
      export RTCTREE_NAMESERVERS=https://localhost:2809/call
      export ORBendPoint=giop:http:https://localhost:2811/call
      export ORBhttpsCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt
      export ORBhttpsKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem
      export ORBhttpsKeyPassword=password
      export ORBserverTransportRule="* http" 
      export ORBclientTransportRule="* http" 
      export ORBtraceLevel=40
      
    • 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
      $ source rtls_export.sh
      $ rtls /https://localhost:2809/call#`hostname`.host_cxt > rtls-https.log 2>&1
        :
      ConsoleOut0.rtc
      
    • ログは右記ページ参照 ・・・ rtls-https.log

WS

結果OK ・・・2025/09/05確認

  • ターミナル1・・・ネームサーバ起動
    • 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
      $ export ORBtraceLevel=40
      
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.ws.conf > openrtmNames-ws.log 2>&1
      
    • ログは右記ページ参照 ・・・ openrtmNames-ws.log
    • /usr/etc/rtc.names.ws.confの内容
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:ws://localhost:2809/ws
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
      $ ./ConsoleOutComp -f /usr/etc/http/rtc.ws.conf
      
    • RTCのログは右記ページ参照 ・・・ rtc_ws.log
    • /usr/etc/http/rtc.ws.confの内容
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      naming.formats: %h.host_cxt/%n.rtc
      
      manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http
      manager.preload.modules: HTTPTransport.so
      
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:ws:///ws -ORBendPoint giop:tcp::
      corba.nameservers: ws://localhost:2809/ws
      corba.master_manager: giop:http:ws://localhost:2810/ws
      
  • ターミナル3 ・・・rtshell起動
    • 環境変数設定項目が多いので、シェルスクリプトで定義しておく
    • rtls_export.sh
      #!/bin/bash
      
      # WS
      export RTCTREE_HTTP_ENABLE=YES
      export RTCTREE_NAMESERVERS=ws://localhost:2809/ws
      export ORBendPoint=giop:http:ws:///ws
      export ORBserverTransportRule="* http" 
      export ORBclientTransportRule="* http" 
      export ORBtraceLevel=40
      
    • 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
      $ source rtls_export.sh
      $ rtls /ws://localhost:2809/ws#`hostname`.host_cxt > rtls-ws.log 2>&1
       :
      ConsoleOut0.rtc
      
    • ログは右記ページ参照 ・・・ rtls-ws.log

WSS

結果OK ・・・2025/10/07確認

  • ターミナル1・・・ネームサーバ起動
    • 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
      $ export ORBtraceLevel=40
      
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.wss.conf > openrtmNames-wss.log 2>&1
      
    • ログは右記ページ参照 ・・・ openrtmNames-wss.log
    • /usr/etc/rtc.names.wss.confの内容
      corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.http.key_file_password:password
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:wss://localhost:2809/ws
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
      $ ./ConsoleOutComp -f /usr/etc/http/rtc.wss.conf
      
    • RTCのログは右記ページ参照 ・・・ rtc-wss.log
    • /usr/etc/http/rtc.wss.confの内容(WSプロトコルと同様に修正して下記とする)
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      naming.formats: %h.host_cxt/%n.rtc
      
      manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http
      manager.preload.modules: HTTPTransport.so
      
      corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.http.key_file_password:password
      
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:wss:///ws
      corba.nameservers: wss://localhost:2809/ws
      corba.master_manager: giop:http:wss://localhost:2810/ws
      
  • ターミナル3 ・・・rtshell起動
    • 環境変数設定項目が多いので、シェルスクリプトで定義しておく
    • rtls_export.sh
      #!/bin/bash
      
      export RTCTREE_HTTP_ENABLE=YES
      export RTCTREE_NAMESERVERS=wss://localhost:2809/ws
      export ORBendPoint=giop:http:wss://localhost:2811/ws
      export ORBhttpsCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt
      export ORBhttpsKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem
      export ORBhttpsKeyPassword=password
      export ORBserverTransportRule="* http" 
      export ORBclientTransportRule="* http" 
      export ORBtraceLevel=40
      
    • 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
      $ source rtls_export.sh
      $ rtls /wss://localhost:2809/ws#`hostname`.host_cxt > rtls-wss.log 2>&1
       :
      ConsoleOut0.rtc
      
    • ログは右記ページ参照 ・・・ rtls-wss.log

SSL

結果OK ・・・2025/10/07確認

  • ターミナル1・・・ネームサーバ起動
    • 起動しているomniNames、openrtmNamesが無いことを確認してからssl向けを起動
      $ export ORBtraceLevel=40
      
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.ssl.conf > openrtmNames-ssl.log 2>&1
      
    • ログは右記ページ参照 ・・・ openrtmNames-ssl.log
    • /usr/etc/rtc.names.ssl.confの内容
      corba.ssl.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.ssl.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.ssl.key_file_password:password
      corba.args:-ORBserverTransportRule "* ssl" -ORBclientTransportRule "* ssl" -ORBendPoint giop:ssl:localhost:2809
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
      $ ./ConsoleOutComp -f /usr/etc/ssl/rtc.ssl.conf
      
    • RTCのログは右記ページ参照 ・・・ rtc-ssl.log
    • /usr/etc/ssl/rtc.ssl.confの内容
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/ssl
      manager.preload.modules: SSLTransport.so
      
      corba.ssl.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.ssl.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.ssl.key_file_password:password
      corba.args:-ORBserverTransportRule "* ssl" -ORBclientTransportRule "* ssl" -ORBendPoint giop:ssl::
      corba.nameservers: corbaloc:ssliop:localhost:2809
      corba.master_manager: giop:ssl:localhost:2810
      
  • ターミナル3 ・・・rtshell起動
    • 環境変数設定項目が多いので、シェルスクリプトで定義しておく
    • rtls_export.sh
      #!/bin/bash
      
      export RTCTREE_HTTP_ENABLE=YES
      export RTCTREE_NAMESERVERS=ssliop:localhost:2809
      export ORBsslCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt
      export ORBsslKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem
      export ORBsslKeyPassword=password
      export ORBclientTransportRule="* ssl" 
      export ORBtraceLevel=40
      
      • 変更点
      • rtls はクライアントとしてネームサーバに接続するだけなので、エンドポイント(=受け口)を立てる必要はない
        ⇒ ORBserverTransportRule, ORBendPoint を指定する必要はないということ
    • 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
      $ source rtls_export.sh
      $ rtls /ssliop:localhost:2809/`hostname`.host_cxt > rtls-ssl.log 2>&1
       :
      ConsoleOut0.rtc
      
    • ログは右記ページ参照 ・・・ rtls-ssl.log

Python

ソースは下記PRを利用
https://github.com/OpenRTM/OpenRTM-aist-Python/pull/254

HTTP

結果OK ・・・2025/10/01確認

  • ターミナル1・・・ネームサーバ起動
    • 自動起動しているomniNamesを停止させてからopenrtmNamesを起動する
      $ systemctl status omniorb-nameserver.service
      $ sudo systemctl stop omniorb-nameserver.service
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.http.conf
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
    • ログを取りたいのでHOME下に /usr/share/openrtm-2.1/components/python3 をコピーして利用する
      $ mkdir testPR254-1001
      $ cd testPR254-1001/
      $ cp -r /usr/share/openrtm-2.1/components/python3/* .
      $ cd SimpleIO/
      $ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.http.conf
      
    • /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.http.confの内容
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      manager.modules.load_path: /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http
      manager.preload.modules: HTTPTransport.py
      
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:http:///call
      corba.nameservers: http://127.0.0.1:2809/call
      corba.master_manager: giop:http:http://127.0.0.1:2810/call
      
  • ターミナル3 ・・・rtshell起動
    $ export RTCTREE_HTTP_ENABLE=YES
    $ export RTCTREE_NAMESERVERS=http://localhost:2809/call
    $ export ORBserverTransportRule="* http" 
    $ export ORBclientTransportRule="* http" 
    $ export ORBendPoint=giop:http:http:///call
    
    $ rtls /http://localhost:2809/call#`hostname`.host_cxt
    ConsoleOut0.rtc
    

HTTPS

結果OK ・・・2025/10/15確認

  • ターミナル1・・・ネームサーバ起動
    • 起動しているomniNames、openrtmNamesが無いことを確認してからhttps向けを起動
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.https.conf
      
    • /usr/etc/rtc.names.https.confの内容
    • この時の動作確認はconfファイル内のssl証明書のパスを変更した
      corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.http.key_file_password:password
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:https://localhost:2809/call
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
      $ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.https.conf
      
    • /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.https.confの内容
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      manager.modules.load_path: /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http
      manager.preload.modules: HTTPTransport.py
      
      corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.http.key_file_password:password
      
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:https:///call
      corba.nameservers: https://127.0.0.1:2809/call
      corba.master_manager: giop:http:https://127.0.0.1:2810/call
      
  • ターミナル3 ・・・rtshell起動
    • 環境変数設定項目が多いので、シェルスクリプトで定義しておく
    • rtls_export.sh
      #!/bin/bash
      
      export RTCTREE_HTTP_ENABLE=YES
      export RTCTREE_NAMESERVERS=https://localhost:2809/call
      export ORBendPoint=giop:http:https://localhost:2811/call
      export ORBhttpsCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt
      export ORBhttpsKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem
      export ORBhttpsKeyPassword=password
      export ORBserverTransportRule="* http" 
      export ORBclientTransportRule="* http" 
      
    • 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
      $ source rtls_export.sh
      $ rtls /https://localhost:2809/call#`hostname`.host_cxt
      ConsoleOut0.rtc
      

WS

結果OK ・・・2025/10/01確認

  • ターミナル1・・・ネームサーバ起動
    • 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.ws.conf
      
    • /usr/etc/rtc.names.ws.confの内容
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:ws://localhost:2809/ws
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
      $ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.ws.conf
      
    • /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.ws.confの内容
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http
      manager.preload.modules: HTTPTransport.so
      
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:ws:///ws
      corba.nameservers: ws://localhost:2809/ws
      corba.master_manager: giop:http:ws://localhost:2810/ws
      
  • ターミナル3 ・・・rtshell起動
    • 環境変数設定項目が多いので、シェルスクリプトで定義しておく
    • rtls_export.sh
      #!/bin/bash
      
      # WS
      export RTCTREE_HTTP_ENABLE=YES
      export RTCTREE_NAMESERVERS=ws://localhost:2809/ws
      export ORBendPoint=giop:http:ws:///ws
      export ORBserverTransportRule="* http" 
      export ORBclientTransportRule="* http" 
      
    • 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
      $ source rtls_export.sh
      $ rtls /ws://localhost:2809/ws#`hostname`.host_cxt
      ConsoleOut0.rtc
      

WSS

結果OK ・・・2025/10/15確認

  • ターミナル1・・・ネームサーバ起動
    • 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.wss.conf
      
    • /usr/etc/rtc.names.wss.confの内容
      corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.http.key_file_password:password
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:wss://localhost:2809/ws
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
      $ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.wss.conf
      
    • /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.wss.confの内容(WSプロトコルと同様に修正して下記とする)
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      manager.modules.load_path: /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http
      manager.preload.modules: HTTPTransport.py
      
      corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.http.key_file_password:password
      
      corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:wss:///ws
      corba.nameservers: wss://localhost:2809/ws
      corba.master_manager: giop:http:wss://localhost:2810/ws
      
  • ターミナル3 ・・・rtshell起動
    • 環境変数設定項目が多いので、シェルスクリプトで定義しておく
    • rtls_export.sh
      #!/bin/bash
      
      export RTCTREE_HTTP_ENABLE=YES
      export RTCTREE_NAMESERVERS=wss://localhost:2809/ws
      export ORBendPoint=giop:http:wss://localhost:2811/ws
      export ORBhttpsCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt
      export ORBhttpsKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem
      export ORBhttpsKeyPassword=password
      export ORBserverTransportRule="* http" 
      export ORBclientTransportRule="* http" 
      
    • 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
      $ source rtls_export.sh
      $ rtls /wss://localhost:2809/ws#`hostname`.host_cxt
      ConsoleOut0.rtc
      

SSL

結果OK ・・・2025/10/01確認

  • ターミナル1・・・ネームサーバ起動
    • 起動しているomniNames、openrtmNamesが無いことを確認してからssl向けを起動
      $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.ssl.conf
      
    • /usr/etc/rtc.names.ssl.confの内容
      corba.ssl.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.ssl.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.ssl.key_file_password:password
      corba.args:-ORBserverTransportRule "* ssl" -ORBclientTransportRule "* ssl" -ORBendPoint giop:ssl:localhost:2809
      
  • ターミナル2 ・・・RTC起動
    • サンプルRTCの実行
      $ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/ssl/rtc.ssl.conf
      
    • /usr/lib/python3/dist-packages/OpenRTM_aist/ext/ssl/rtc.ssl.confの内容
      logger.enable: YES
      logger.log_level: DEBUG
      #logger.file_name: stdout
      
      manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/ssl
      manager.preload.modules: SSLTransport.so
      
      corba.ssl.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt
      corba.ssl.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem
      corba.ssl.key_file_password:password
      corba.args:-ORBserverTransportRule "* ssl" -ORBclientTransportRule "* ssl" -ORBendPoint giop:ssl::
      corba.nameservers: corbaloc:ssliop:localhost:2809
      corba.master_manager: giop:ssl:localhost:2810
      
  • ターミナル3 ・・・rtshell起動
    • 環境変数設定項目が多いので、シェルスクリプトで定義しておく
    • rtls_export.sh
      #!/bin/bash
      
      export RTCTREE_HTTP_ENABLE=YES
      export RTCTREE_NAMESERVERS=ssliop:localhost:2809
      export ORBsslCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt
      export ORBsslKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem
      export ORBsslKeyPassword=password
      export ORBclientTransportRule="* ssl" 
      
    • 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
      $ source rtls_export.sh
      $ rtls /ssliop:localhost:2809/`hostname`.host_cxt
      ConsoleOut0.rtc