Slideshow CK

NoraVR

Nora Virtual Repeater(NoraVR)

 

【仕様】

概要などは仕様書を参照願います

仕様書 初版(2019/03/12 発行)

 

【既知の問題】

  • 制御コマンド(       U/       Iなど)のスペースは、アンダーバーに置き換えなければ使えません(_______U/_______I)
  • Android端末により音声が乱れる場合がある、また送信できずに落ちる場合があるようです
  • ショートメッセージにカタカナが入っていると文字化けを起こします

 

【動作環境について】 

必要動作環境

  • RaspberryPi 3B+以上
  • 10Mbps以上の安定したネットワーク

推奨動作環境

  • TBD

illg.ddns.net(Port:52161)にてデバッグ用のNoraGateway(NoraVR)が動作しています
パスワードは何を入れても接続可能になっています。動作試験にどうぞ。
※NoraVRは、同じNoraVR(NoraGateway)に接続したユーザー同士で、NoraGatewayを共有しています。送信したデータ・音声は同じNoraVRサーバーに接続されたユーザーに全て送信され、リンクされたリフレクターやゲート超えからのデータ・音声は、同じく接続されたユーザー全てに送信されます。使用する場合には、数分間ワッチしてから使用していない事を確認してお使い下さい。

 

【動作確認AMBEサーバー&デバイス】

  

【ユーザーアプリケーションサンプル】

サンプルアプリケーションによる通信経路は下記の通りになっています


※必ず、交信開始時に通信経路の確認を行って下さい
互いに交信が成立していても、設定を誤ると片通話などの事故が起きますのでご注意下さい

 
宛先 交信に使用 Your Callsign Use Gateway リンクしているリフレクターに送信されるか ゲート先に送信されるか 同じNoraVRサーバに
接続しているユーザーに送信されるか
備考
山かけCQ はい CQCQCQ OFF いいえ いいえ はい 同じNoraVR(NoraGateway)に接続されているユーザー同士で交信したい場合には、Use GatewayをOFFにする
リフレクターCQ はい CQCQCQ ON はい いいえ はい リフレクターにリンクしている事が条件
コールサイン指定 はい JJ0TPX F ON いいえ はい はい 無線機で行う場合と全く同じく、カーチャンクを2回程行い、UR?を確認して下さい
エリア指定 はい /JQ1ZYCF ON いいえ はい はい  無線機で行う場合と全く同じく、カーチャンクを2回程行い、UR?を確認して下さい
リフレクターリンクコマンド いいえ XLX380ZL ON いいえ いいえ はい MultiForwardも同様(JP1YKRALなど)
※リンクが完了したら、リフレクターCQで交信
リフレクター切断コマンド いいえ _______U ON いいえ いいえ はい  

 

[Last Heard]には、[LOCAL]や[GW]などのルートが表示されますが、下記の意味合いとなっています

  • [LOCAL  ]
    同じNoraVRサーバーに接続されたユーザーから発報されています
    山かけCQで交信可能です

  • [  GW  ]
    リフレクター、もしくはゲート超え(コール指定・エリア指定)で発報されています
    相手からの経路情報を聞き取り、リフレクターCQ・コール指定・エリア指定で交信可能です

  • [ CALL ]
    あなたをコール指定で呼び出した場合に表示されます
    コールサイン指定で呼び出して交信可能です

 

マイクレベルは下記くらいがピークになるように調整すると、無線機(純正マイク)から送信した時のレベルとおおよそ等しくなります
※MAXレベルに張り付くような過大入力をしますと、変調が歪みますのでご注意下さい

 

【ダウンロード】

NoraVR Client(Android単独音声端末)

【概要】

NoraGateway(NoraVR)に接続し、Android端末からDSTAR網/リフレクターへ接続するアプリケーション

 

【動作環境】

  • AndroidOS 5.0以降

 

【ダウンロード】

2019/05/12 NoraVR Client Sample⑫

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

  • PTT登録の削除機能を追加
  • 端末本体のスワイプボタンを操作して送信した際に、表示が乱れる問題を修正

 

2019/05/11 NoraVR Client Sample⑪

https://1drv.ms/u/s!Alt6WCVd8PgfoU-oYM5_HMyRCBWM

  • 外部PTTに対応した
    ◯Bluetoothキーボード(リモートシャッターを含む)
     →1回押すと送信、再度押すと停止します
    ◯Dellking系Bluetoothハンドマイク[H3-B/H2/U109など](※動作未検証)
     →押している間だけ送信します
     →動作検証していないので動作するかどうかは不明です

    ダイソーのリモートシャッターを使用する場合、小さい方のボタンで登録することをオススメします
    大きい方のボタンで登録しますと、リモートシャッターが接続されていない状態でも、端末本体のVOL-を押すと送信してしまいます

    上記以外でお持ちのマイクが動作しない場合、Android端末をデバッグモードにして記録したlogcatを下記まで送りつけて下さい
     →kenoh_doyu=アットマーク=txb.sakura.ne.jp
     ※Bluetoothのペアリングを済ませてからlogcatの記録を開始し、何回かPTTを押してlogcatを取得して下さい
     ※極普通のBluetoothハンズフリーマイクのボタンには対応出来ません(VOL+/VOL-/HOMEボタンのみのタイプ)
      専用のPTTボタンがあるタイプのBluetoothマイクに対応します

 

2019/04/06 NoraVR Client Sample⑩

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

  • 受信したGPS位置情報の地図表示に対応した
  • 受信したGPS位置情報の地図ポップアップ表示のON/OFFをConfig画面に追加
  • Android7以前のバージョンでCONNECTを押した瞬間に落ちる問題を修正

 

2019/04/04  NoraVR Client Sample⑨

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

https://1drv.ms/u/s!Alt6WCVd8PgfoH_V0E9i2TN3pUTv(上記で起動しないなど芳しくなかった場合)

  • GPS(DV-G)位置情報送信機能を追加
  • 定期的にリフレクターのリンク状態を問い合わせるように変更
  • ショートメッセージの表示を追加
    (NoraGateway v0.1.4a-dev5以上が必要です)

 

2019/04/03  NoraVR Client Sample⑧

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

  • ショートメッセージの送信に対応
  • ビープ音のON/OFFを追加
  • ビープ音のポップノイズを改修
  • ヘッダ情報を埋め込むようにした

 

2019/03/26 NoraVR Client Sample⑦

https://1drv.ms/u/s!Alt6WCVd8PgfoHo1Ai4qwZ-qDAhW

  • MIC GAINを追加

 

2019/03/25 NoraVR Client Sample⑥

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

https://1drv.ms/u/s!Alt6WCVd8PgfoHkbkEepLMCFDdSQ(音割れする場合はコチラ)

  • HISTORY画面のOK/CANCELボタンが画面外に消える問題を修正
  • Bluetoothヘッドセットに対応
  • ビープ音の音量を減音
  • その他微修正

 

NoraVR RemoteClient(Windows/Linux無線端末)

【概要】

NoraVR(NoraGateway)に接続し、MMDVM/アクセスポイントモード・ターミナルモード/アナログ無線機を使用したホットスポットを形成するアプリケーション

 

【動作環境】

  • Windows Vista/7/8/8.1/10(Oracle JRE8)(※AnalogModemPiGPIOは動作不可)
  • RaspberryPi 3B/ZeroWH(Zeroでも問題なく動作します)

 

【ダウンロード】

2019/05/13 NoraVR Remote Client①

https://1drv.ms/u/s!Alt6WCVd8PgfoW3Bc9KyJ9RlEHTu
※MMDVM/TM/APを使用する場合には、NoraGatewayもv0.1.4a-dev6以上にバージョンアップして下さい


※このアプリケーションでは、ホットスポットのコールサインとして、ログインコールサイン(loginCallsign)を使用します。よって、ホットスポットに対するアクセスを行う無線機には、ログインコールサインをレピータコールサインとして設定し、アクセスする必要があります(DRモードの場合)。この時、接続先のNoraVR(NoraGateway)に設定されたレピータコールサインは関係ありません

【アナログ無線機を使用する場合の注意事項】

  1. ダッシュボードを動作させる為に、/opt/NoraVRRemoteClient/config/NoraVRRemoteClient.xml内のwebRemoteControlをtrueに変更して下さい
  2. ダッシュボードを動作させないと、宛先・自局コールサインを変更出来ません
    (デフォルトではリフレクター宛になっており、自局コールサインはログインコールサインになっています)
  3. RaspberryPi(BananaPi含む)専用
  4. サウンドカードが別途必要です(USBサウンドカード可)
  5. アナログ無線機とのインターフェース回路の自作が必要です
  6. ユーザーnoraなどの専用ユーザーを使用して動作させる場合には、dialoutの他、audio、gpioグループに属する必要があります
  7. 現状では、UR?/RPT?をアナログ無線機側で知る手段がありませんので、リフレクターやローカル(山かけ)で使用して下さい
    (効果音を出力するなど検討中)
  8. アナログノード用の無線機には、必ずトーンまたはデジタルコードなどのスケルチを必ず設定して下さい

【ダッシュボードのインストール方法(概要)】

  1. nginx(sudo apt install nginx)をインストールします(Apacheでも可)
  2. /etc/nginx/sites-available/defaultを編集し、下記にように変更します
    # Default server configuration
    #
    upstream websocket {
        server localhost:3000;
    }
    
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }
    server {
            listen 80 default_server;
            listen [::]:80 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 /opt/NoraVRRemoteClient/dashboard/;
    
            # Add index.php to the list if you are using PHP
            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;
            #}
    }​​
  3. /opt/NoraVRRemoteClient/dashboard/js/config.jsを編集し、serverAddressをダッシュボードを見る端末から見た時の、IPアドレスを入力します
  4. デバイスの外部からブラウザにてアクセスし、下記のようにGateway/Repeatersが正常に表示されれば動作しています

 

  

【開発者向けNoraGateway】

2019/06/04 v0.1.4a-dev8

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

 

2019/05/21 v0.1.4a-dev7

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

  • NoraVR内アップリンク側にキャッシュを設けた(送信音声ケロ対策)

 

2019/05/13 v0.1.4a-dev6

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

  • NoraVR内AMBEパススルー時におけるパケット損失補償ルーチン追加
  • ./config/hosts.txtを定期的に監視し、変更がなされた場合には自動で再読込するようにした
    (cron等で定期的にhttps://kdk.ddns.net/norahosts/hosts.txtをダウンロードするようにすると、常にホストファイルが最新になります)

 

2019/04/04 v0.1.4a-dev5

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

  • NoraVR内低速データセグメントの受信データが化けていた問題を修正
  • NoraVR内各コーデックの使用・不使用を設定できるように追加
    (初期状態で全てのコーデックが有効になっています。理由のない限り、全て有効にしておくことをオススメします)

 

2019/03/24 v0.1.4a-dev4

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

  • 制御コマンド(I/Uなど)をカーチャンクしても、音声アナウンスが返らない問題を修正
  • サーバ側NoraVRの設定パラメータにパスワードを入力しなかった場合、認証をバイパスする処理を追加
    (※クライアント側のパスワードに何を入力されていても認証が通るようになります)

 

2019/03/19 v0.1.4a-dev3

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

  • ローカル(山かけ)の場合において、RPT1/RPT2が誤っていた問題を修正

 

2019/03/15 v0.1.4a-dev2

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

  • 複数ユーザーで同じコーデックを選択した場合において、全てのユーザーに正しいパケットを分配出来ていなかった問題を修正

 

2019/03/12 v0.1.4a-dev(v0.1.4a-PR16をベースにNoraVRを改修したもの)

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

./config/logback.xmlを下記のように書き換えると、NoraVRがやり取りしている全てのパケットをログに吐き出すようになります
(<logger name="org.jp.illg.dstar.repeater.modem.noravr" level="TRACE" />を追加)

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

	<appender name="fileout"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>./log/NoraGateway.log</file>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<!-- rollover daily -->
			<fileNamePattern>./log/NoraGateway_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
			<maxFileSize>50MB</maxFileSize>
			<maxHistory>30</maxHistory>
			<totalSizeCap>1GB</totalSizeCap>
		</rollingPolicy>
		<encoder>
			<pattern>%d{yyyy/MM/dd HH:mm:ss.SSS}, [%t], %-6p, %c{10}, %m%n</pattern>
		</encoder>
	</appender>
	
	<logger name="org.jp.illg.dstar.repeater.modem.noravr" level="TRACE" />

	<root level="INFO">
		<appender-ref ref="fileout" />
	</root>

</Configuration>

 

 

【設定パラメータ】

  1. AMBEサーバのIPアドレス
    <DV3KServerAddress>XXX.XXX.XXX.XXX</DV3KServerAddress>
    AMBEサーバが動作しているデバイスのIPアドレスを入力してください(localhost可)

  2. AMBEサーバの待受ポート
    <DV3KServerPort>2460</DV3KServerPort>
    AMBEサーバのポート番号を入力してください(変更していなければ2460です)

  3. ログインパスワード(クライアント側が接続する時に入力するパスワード)
    <NoraVRLoginPassword></NoraVRLoginPassword>
    このNoraVRに接続する際の認証に必要なパスワードを自由に決めて下さい(未入力可)

  4. RFノードを許可するか
    <NoraVRAllowRFNode>false</NoraVRAllowRFNode>
    このNoraVRに実際にRFが出力されるクライアントの接続可否を設定して下さい
  5. NoraVRに接続するユーザーの制限数
    <NoraVRClientConnectionLimit>100</NoraVRClientConnectionLimit>
  6. AMBEパススルーを使用するか
    <NoraVRUseCodecAMBE>true</NoraVRUseCodecAMBE>

  7. PCMコーデックを使用するか(音質:最良/通信帯域専有:高)
    <NoraVRUseCodecPCM>true</NoraVRUseCodecPCM>

  8. Opus(64k VBR)コーデックを使用するか(音質:良/通信帯域専有:中)
    <NoraVRUseCodecOpus64k>true</NoraVRUseCodecOpus64k>

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

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

 

【注意事項】

  • 各コーデックを全てリアルタイムでエンコードする為、NoraGateway(NoraVR)を実行するデバイスは処理能力が必要です。
  • 構成上、AMBEのエンコード・デコードを同時に行います。よって、AMBEサーバとNoraGateway(NoraVR)間のネットワークにおいては帯域に十分な余裕が必要です
  • ユーザーアプリケーションによっては、法制上の問題で運用不可能な構成も構築可能ですので、運用する構成には十分な注意をお願い致します

NoraGateway v0.0.1a-PR26 for Android

【ダウンロード】

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

 

【変更点】

  • NoraGateway v0.1.4a-PR16相当の機能を実装した
    • JARLの登録を受け、固有IDの反映を行った
    • JARL MultiForward Link使用時に遠隔レピータにカーチャンクした際に、書き換え要求を送信するようにした(To設定ミスによる一方通行対策)
      ※リフレクター運用時に書き換え要求を送らない設定よりも優先されます
    • リフレクターへ接続した状態で、コール・エリア指定を送信した際に、リフレクターとの接続を強制切断するようにした
      ※JARL MultiForward Link接続時においては、接続先レピータ山かけで喋っている相手局のコールを指定してゲート超えをしますと強制切断されてしまいますので、必ず、無線機のTOにUse Reflectorを設定してPTTを握って下さい
    • レピータコールサインの識別符号によって、使用可能なルーティングサービスに制限を設けた
      例として、日本の管理サーバでは、G/I/Sは使用不可になりました
  • Bluetooth接続アクセスポイント・ターミナルモードを実装した->NewAccessPointBluetooth
    電気的にBluetoothユニットから信号が出力されているトコロまで確認しましたが、実際に動作確認はしておりません
    Bluetoothユニットのボーレートを38400bpsに変更して、RS232レベルコンバータを噛ませば恐らく動作すると思われます(DATA端子に接続する場合)

 

Read more: NoraGateway v0.0.1a-PR26 for Android

なんちゃってモニタ

NoraGatewayと連携してOLED・Nextionディスプレイに情報を表示するソフトウェアを作者様より送付頂きましたので、ご紹介させて頂きます。

また、ご厚意により再配布許諾を頂きましたので、このページでも配布させて頂きます。

 

Read more: なんちゃってモニタ

NoraGateway v0.1.4a-PR16

【ダウンロード】

https://1drv.ms/u/s!Alt6WCVd8PgfoAEtach-hdmaSCfR

※NoraVRを使用する場合には、NoraVRから開発版を使用して下さい(NoraVRに関する問題を修正しています)

ホストファイル(config/hosts.txt)内XRF959のアドレスに誤りがありました
https://kdk.ddns.net/norahosts/hosts.txt
上記ホストファイルをダウンロードして、config/hosts.txtを上書きして頂ければ修正されます

 

【変更点】

  • JARLの登録を受け、固有IDの反映を行った
  • JARL MultiForward Link使用時に遠隔レピータにカーチャンクした際に、書き換え要求を送信するようにした(To設定ミスによる一方通行対策)
    ※リフレクター運用時に書き換え要求を送らない設定よりも優先されます
  • MMDVM(JumboSpotなど)のTransparentに対応した(例として、JumboSpotのNextionポートにNextionディスプレイを接続した時に使用します)
  • NoraVR暫定対応
    クライアント実装サンプルはコチラ
    ※クライアントサンプルは、用途例の一例です。ユーザーのアイディア次第で活用範囲は無限大に広がります
    ※通信仕様、クライアントサンプル(サンプルアプリ&ライブラリ)のソースコードは後日公開します

 

Read more: NoraGateway v0.1.4a-PR16

Page 2 of 11