Blue Flower

    こんにちは、@opt_HohenheimことJN1GUWです。

    きょうは、NoraVRを使ってRaspberry Pi 3B+でNoraVRRemoteClientを構築してみたいと思います。

    ※前提:NoraVR + AMBE Serverの同居環境があること

 

 1.NoraVRRemoteClientをダウンロードする

    NoraVRRemoteClientをダウンロードします。(下記) 

https://1drv.ms/u/s!Alt6WCVd8PgfoW3Bc9KyJ9RlEHTu

    その後、NoraVR(RaspberryPi 3B+)にsftpなり、WinSCPなりで転送します(想定転送先:/home/pi)

 

 2.NoraVRRemoteClientをインストールする

    次に転送したNoraVRRemoteClientをインストールします。

$ sudo -s
# cd /opt/
# unzip /home/pi/NoraVRRemoteClient_v0.0.1a.zip
# cd NoraVRRemoteClient
# chmod ugo+rx start.sh
# cd config
# cp -p NoraVRRemoteClient.xml.default NoraVRRemoteClient.xml

    ここで、NoraVRRemoteClient.xmlをviなりnanoなりで編集します(下記)。

<?xml version="1.0" encoding="UTF-8"?>

<!--
        [serverAddress]
                NoraGateway(NoraVR)が動作しているデバイスのIPアドレスを指定する
        [serverPort]
                NoraGateway(NoraVR)が動作しているポートを指定する
        [loginCallsign]
                NoraGateway(NoraVR)へログインするユーザー名を指定する
                ※接続先NoraVRのレピータコールサインをloginCallsignに変換しますので、識別符号まで入力して下さい(JJ0TPX Fなど)
                 入力しなかった場合には、識別符号Aが使用されます
                ※RFが出力される際のノードコールサインとして使用されますので、RFが出力される場合には社団局などのコールサインを指定して下さい
        [loginPassword]
                NoraGateway(NoraVR)へログインするユーザーに設定されたパスワードを指定する
        [isRFNode]
                実際にRFが出力される構成であればtrue、出力されない構成であればfalseを指定する
        [statusFileOutputPath]
                ステータスファイルの出力先を指定する
                ※なんちゃってモニタを使用する場合には、「/tmp/」を指定して下さい
-->
<NoraVRRemoteClient
        serverAddress="192.168.11.3"     <!-- NoraVRのアドレス -->
        serverPort="52161"
        loginCallsign="JN1GUW D"         <!-- QRVするコールサイン -->
        loginPassword=""                         <!-- NoraVRのパスワード(ここでは、空パス) -->
        isRFNode="true"                          <!-- RF modeをtrue(デフォルト)にする -->
        statusFileOutputPath="/tmp/"       <!-- faileパスは、/tmpにする -->
        webRemoteControl="true"    <!-- trueにする -->
        webRemoteControlPort="3000">


<!--
        ***********************************
        * [1] モデム設定
        ***********************************
        ※各種モデムの中から「一つだけ」選択し、設定して下さい
-->


    NoraVRのコンフィグも/opt/NoraGateway/config/NoraGateway.xmlも編集します。

○Opus(24k VBR)コーデックを使用するか(音質:中/通信帯域専有:小)
<NoraVRUseCodecOpus24k>true</NoraVRUseCodecOpus24k>

○Opus(8k VBR)コーデックを使用するか(音質:悪/通信帯域専有:最小)
<NoraVRUseCodecOpus8k>true</NoraVRUseCodecOpus8k>

○個別ログインユーザー設定(いくつでも指定可)
    ※このリストに存在しないユーザーのログイン認証は、<NoraVRLoginPassword>が使用されます
<LoginUser loginCallsign="" loginPassword="passw0rd"  allowRFNode="true" />

※DVStickなどのAMBE3000デバイスが必要です
***************************************
-->

                <Repeater
                        enable="true" type="Internal" callsign="JN1GUW D"
                        defaultRoutingService="JapanTrust" routingServiceFixed="false"
                        allowDIRECT="false"
                        autoDisconnectFromReflectorOnTxToG2Route="true"
                >
                        <Modem type="NoraVR" allowDIRECT="false">
                                <ConfigurationProperties>
                                        <DV3KInterfaceType>Network</DV3KInterfaceType>
                                        <DV3KServerAddress>127.0.0.1</DV3KServerAddress>
                                        <DV3KServerPort>2460</DV3KServerPort>
                                        <NoraVRPort>52161</NoraVRPort>
                                        <NoraVRClientConnectionLimit>100</NoraVRClientConnectionLimit>

                                        <NoraVRLoginPassword></NoraVRLoginPassword>
                                        <NoraVRAllowRFNode>true</NoraVRAllowRFNode>            <---- RF Node を trueにします。

                                        <NoraVRUseCodecAMBE>true</NoraVRUseCodecAMBE>
                                        <NoraVRUseCodecPCM>true</NoraVRUseCodecPCM>
                                        <NoraVRUseCodecOpus64k>true</NoraVRUseCodecOpus64k>
                                        <NoraVRUseCodecOpus24k>true</NoraVRUseCodecOpus24k>
                                        <NoraVRUseCodecOpus8k>true</NoraVRUseCodecOpus8k>

                                        <LoginUserList>
                                                <LoginUser loginCallsign="" loginPassword="passw0rd"  allowRFNode="true" />
                                        </LoginUserList>

                                </ConfigurationProperties>
                        </Modem>
                </Repeater>

 

    次にnginx(sudo apt install nginx)をインストールします

    ここで、私は、apt --fix-broken installをしないとインストール出来ませんでした。

# sudo apt install nginx(エラー)
#
apt --fix-broken install
# sudo apt install nginx
# service nginx restart

    次に/etc/nginx/sites-available/defaultを編集します(下記)

# Default server configuration
#
upstream websocket {
    server localhost:3000;
}

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server { listen 8080 default_server; listen [::]:8080 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; #root /var/www/html; root /opt/NoraVRRemoteClient/dashboard/; # Add index.php to the list if you are using PHP #index index.html index.htm index.nginx-debian.html; index index.html index.htm index.nginx-debian.html; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location /socket.io/ { proxy_pass http://websocket; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } # pass PHP scripts to FastCGI server
# #location ~ \.php$ { # include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): # fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }

    /opt/NoraVRRemoteClient/dashboard/js/config.jsを編集します。


const serverAddress = "guwgw.cir-ins.com:8080";   <---- ここはアクセスするブラウザから見たアドレスを入力する


const dashboardName = "via NoraVRRemoteClient";


    /opt/NoraVRRemoteClient/config/NoraVRRemoteClient.xmlを再び編集します。

<!--
        ***********************************
        * [1] モデム設定
        ***********************************
        ※各種モデムの中から「一つだけ」選択し、設定して下さい
-->

<!--
        [1].1 アクセスポイント・ターミナルモードインターフェースモデム


        [PortName]
                無線機が接続されているポート名を指定する
                ※Windowsの場合 = COM3など
                ※Linuxの場合 = /dev/ttyUSB0など
-->

        <Modem type="NewAccessPoint" allowDIRECT="true">
                <ConfigurationProperties>
                        <PortName>/dev/ttyUSB1</PortName>
                </ConfigurationProperties>
        </Modem>

   

 3.D-Star無線機を用意する

    D-Star無線機を適切な周波数にして、アクセスポイントモードにします。

    アイコムケーブルで無線機とRaspberryPi 3B+を接続します。

    NoraVRRemoteClientを起動します。 

# cd /opt/NoraVRRemoteClient/
# ./start.sh

    クライアントPCなどからNoraVRRemoteClientダッシュボードにアクセスします。(ここでは、http://guwgw.cir-ins.com:8080)

    下記のような表示になれば、動作しています。

 

 

 

   4.おわりに

    今回は、ICOMケーブルを使ってNoraVRRemoteClientを使えるようにする方法を紹介しました。

    今回の構成は、ThumbDV + NoraVR + AMBE Server + NoraVRRemoteClientとなります。

    ThumbDVは、どこで買えばいい?って方は、「ThumbDV 購入」で検索ください。

    謝辞:NoraGatewayを提供しているJI1ROJ局感謝です。

 

以上です。

最後までお読みいただきありがとうございました。

 

 


CloudManagerAdvance 2.2 以上
カテゴリ: ツール
Google Playで詳細を見る