Back
=MEMO=
ThumbDVの登場でサーバソフトウェアが変更になり,手順も初回のものから変化して来ているので,現状に即して一部書き直し致しました。(2015/08/02)BlueDVの普及やその他 AMBE Server 利用シーンの増加、又OSが Raspbian 10 Buster になった事に即して再編集しました。 BlueDVなどはDummyRepeaterと同様の既存モデムアプリですので、アプリについての設定などはそれぞれのマニュアルに従ってください。(2019/10/16)
DV3000とは最近 NW Digital Radio という会社が発売した,Raspberry Pi 用の音声圧縮ボード(Vocoder)です。 通常,D-Starの音声圧縮には AMBE-2020TM というチップを搭載していましたが,このボードは名前から想像が付くように AMBE-3000TM を搭載しています。
何が違うのでしょう。詳しくは別の機会に譲るとしてAMBE-2020TM が AMBE+TMという規格であるのに対し,AMBE-3000TMはAMBE+2TMという規格に対応しており,業務無線の P25(APCO Project 25)や,DMRにも採用されていると言う点です。
(註:TM マークの付いた商品名は Digital Voice Systems, Inc. の登録商標です。)
今回のセットアップはD-Star用ですが,将来ソフトが作られればハードウェアを変更せず他のデジタル無線規格に対応できるでしょう。
=MEMO=
本記事の内容を一歩進めて,PC用ヘッドセットと画面によるPTTをPTT付きのスピーカーマイクにすることで,より使いやすくする工夫をご紹介します。
DV3000の出荷元であるNW Digita Radio のブログ
にJA1SCW局が製作組み立てされた Portable Dummy Repeater が紹介されたところ,本文中にも出て来る「DummyRepeater ALSAaudio版」のメンテナンサーである
John Wiseman氏(G8BPQ)からコメントがありました。それにより改良されたPortable DummyRepeater V.2とその構成図を公開して戴きました。外付けのUSBサウンドも基盤だけにして内蔵するとコンパクトになりますね。このサウンドカードは,当記事で紹介しているものと同一とのことです。
Special thanks to JA1SCW, JH1BLT and G8BPQ.
ハードウェアの準備
Raspberry Pi 起動用 SDカードの作成
最初にOSの入ったSDカードを作成します。作業の詳細は
Western D-Star の新しいイメージをインストールしてみるをご参照ください。
ソフトウェアの準備
さて,Raspberry の OS(Raspbian)が GUI で立ち上げられたところで,次に示したソフトウェアをダウンロードします。
ソフトウェアのインストール
ircDDBGateway と dummyrepeater の設定
まず ircDDBGateway の設定についてはircDDB Gateway 初めての設定
をご参照ください。
Raspberry Pi 2 type B 旧型Raspberryでも十分 | Amazon.co.jp RS コンポーネンツ |
4GB microSDカード Class10 上記旧型はSD | Amazon.co.jp |
DV3000またはThumbDV | NW Digital Radio |
USB Sound | Amazon.co.jp |
USB Wi-Fiクライアント(無線LAN子機) | Amazon.co.jp |
適当なスピーカーとマイク(PC用) | |
写真のスマートフォンとバッテリーは,モバイル用途でなければ不要です。 |
なお,DV3000 は Raspberry Pi に取り付けておきます。私の場合取り付け用のスペーサーが短く, ピンに無理がかかると思われたので,水平に保てる長さのものに取り替えました。
旧型Rasberryの場合USBポートは2つなのでWiFiを使いたい場合DV3000しか使えません。
なお,この説明でのコンソールコマンドは,ディスプレイやキーボードを接続して作業している方は, LXTerminal を使用してください。 また,Windows などからPuTTYなどのSSHソフト を使ってリモートする方は,OSインストール時メモしたIPアドレスとポート22番を指定してください。
すでに,装備されているVNCを使用するときは,Windows の場合 VNC Viewer for Windowsなどをお使いください。SSH,VNC いずれの場合もログイン名:pi,パスワード:raspberry です。
DStarRepeater+ircDDBGateway+VNCイメージ | Western D-Star |
DummyRepeater-20150507.zip(確認済み) Raspberry OS 立ち上げ後 |
Yahoo!Groups "PC Repeater Controller" Yahoo US及びグループに入会必要 |
DV3000/DV3000U Daemon Source Raspberry OS 立ち上げ後 |
DV3000.zip AMBE Serverソフト |
=MEMO=
今回使用している Wester D-Star のイメージファイルには,最低限必要なライブラリーや WiringPi,
その他の環境がすでにインストールされています。
もし OS のみのクリーンインストールをした場合はそれらが必要と同時に,VNC などの環境設定も必要となります。
■DV3000 を動作させるサーバーソフトをインストール
$ sudo apt update $ sudo apt -y upgrade
何かインストール作業を始める前にはおまじないのようにこのコマンドを実行します。
最初に,DV3000 が稼働するのに必要な Raspberry Pi 側の環境変更をします。次の3つのテキストファイルの内容を編集します。
$ sudo nano /boot/config.txt
GNU nano 3.2 File: /boot/config.txt
# Enable audio (loads snd_bcm2835) # dtparam=audio=on <---------------------コメントアウト init_uart_clock=3686400 #init_uart_clock=50000000 # 下記参照 # Pi Zero, Pi3, Pi4 で GPIOシリアルを使用する時(DV3000)加筆する。 dtoverlay=pi3-disable-btファイル末尾に一行書き加えます。AMBEserver立ち上げ時に AMBEserver: unknown byte from the DV3000, 0xFF の様なエラーが見られたら、 init_uart_clock=50000000 と言うような極端に大きな値を設定してみてください。
上述のGPIOシリアル用設定と同様の目的で、次の設定をします。
$ sudo nano /boot/cmdline.txt
GNU nano 3.2 File: /boot/cmdline.txt
#dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=547679c6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=547679c6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait既存の一行を「#」でコメントアウトして,その一部(太字部分)を削除した行を追加します。(既存の一行は元に戻すときのためにコメントとして残す)
$ sudo systemctl disable serial-getty@.service
=MEMO=
いずれのファイルもシステムに関わる重要なファイルなので最善の注意を要します。
再起動をしてみて,もし立ち上がらない時はSDカードを Windows マシンなどで開くと最初の2ファイルは編集できますので元に戻して試してみてください。
また,それでもだめなら「SDカードの作成」からやり直す事をお勧めします。
$ unzip DV3000.zipダウンロードして置いた圧縮ファイルを解凍すると,DV3000というフォルダが出来ます。
$ cd DV3000DV3000フォルダに入ります。
$ make $ ls AMBEserver AMBEserverGPIO.o AMBEtest3.py dv3000d.c Makefile AMBEserver.c AMBEserver.o dv3000d dv3000d.o README-dv3000d.txt AMBEserverGPIO AMBEtest2.py dv3000d-AMBEserver.pdf init.d README.txtAMBEserverGPIO, AMBEserver が生成されます。GPIOと付いているのがDV3000用で,そうでないのがThumbDV用です。ここで「dv3000d-AMBEserver.pdf」はこのブログのネタ元です。 また AMBEtest2.py,AMBEtest3.py は状態をテストするプログラムで,後ほど設定終了後使用します。
次のコマンドを実行するとServerソフトが /usr/binに配置されます。
$ sudo make install
電源を入れたら自動起動するように設定します。
$ sudo nano /etc/systemd/system/ambeserver.service
GNU nano 3.2 File: /etc/systemd/system/ambeserver.service
[Unit] Description=AMBE Server ThumbDV(DV3000U)/PiDV(DV3000) After=network.target [Service] ExecStart=/usr/bin/AMBEserverGPIO -d -p 24600 -i /dev/ttyAMA0 ExecStop=/usr/bin/killall AMBEserverGPIO #ExecStart=/usr/bin/AMBEserver -d -p 24600 -i /dev/ttyUSB0 #ExecStop=/usr/bin/killall AMBEserver Restart=on-failure Type=forking [Install] WantedBy=multi-user.targetここで指定しているオプション -p 24600 はポートを変更するとき指定します。指定しないときの規定値は 2460 です。 また,-d はデーモン(サービス)として立ち上げるオプションです。 今生成された,新しいファイルはすでに実行権限を付与されています。
次に、この自動立ち上げファイルを有効にします。
$ sudo systemctl enable ambeserver.service
$ sudo reboot再起動して立ち上がったら,AMBEserverGPIO(ThumbDVの時は AMBEserver)が起動しているかチェックします。
$ ps -C AMBEserverGPIO PID TTY TIME CMD 3033 ? 00:00:03 AMBEserverGPIO 又は $ ps -C AMBEserver 3033 ? 00:00:03 AMBEserver
もう一つのチェックとして,先にダウンロードしたプログラムを使ってみましょう。 AMBEtest2.py は DV3000用のテストプログラムで,AMBEtest3.pyは ThumbDV用です。
$ sudo python AMBEtest2.py d 8 N 1 False False False 0 a9 Reset 6100010033 Wrote: 5 bytes a9 Product ID 6100010030 Wrote: 5 bytes a 0AMBE3000R Version 6100010031 Wrote: 5 bytes a11V120.E100.XXXX.C106.G514.R009.B0010411.C0020208 Set DSTAR Mode 61000c000a013007634000000000000048 Wrote: 17 bytes aこれで,自動起動した AMBEserverGPIO が正しく動いていることになります。
=MEMO=
AMBEserverGPIO 又は AMBEserver は単独で稼働しており、IPアドレスとポート番号を指定して他のマシンから利用できるので,このRaspberry Pi での設定はここまでにして、他の Windows マシンに DummyRepeater(BlueDV等も含む)をインストールして試してみます。その場合 DummyRepeater の設定の[Dongle]において[DV3000 network]を選択の上、Raspberry Pi の IPアドレスとポート番号(ファイアウォールを開ける必要あり)を指定します。
■DummyRepeater のインストール
今回は,AMBEserver 自身(Raspberry Pi)に DummyRepeater を組み込みます。(オールインワンと称しています)
まず,G4KLXオリジナルのリリース版をコンパイルし,インストールします。
$ sudo unzip DummyRepeater-20150507.zip
$ cd DummyRepeater/
$ sudo make
$ sudo make install
$ cd DummyRepeater/
$ sudo make
$ sudo make install
make に大分時間がかかりますが,実行するコマンドはこれだけでインストールが完了します。
また,dummyrepeater についても分からない場合には DV Dongle と ircDDB その接続方法をご参照ください。設定の違いは次の2画面だけです。
まずサウンドカードの認識の仕方が変わりました。portaudio の場合は,default に設定されたものしか利用できなかったため, USBサウンドを使った場合も hard 1(内蔵が hard 0) = default に設定するための難解な手続きが必要でした。それを達成したとしても結果に不満の残るものでした。 今回の改良の結果は,Windows におけるアプリごとのサウンドの選択同様に簡単です。 次に[Dongle]の設定ですが,[DV-Dongle]と[DV3000]がセレクトできるようになっています。最も新しいものでは[DV3000 network]と[ThumbDV(USB)]が分かれています。 [DV3000]を選択した場合,[Address]に DV3000 AMBE3000 Server のインストールされた Raspberry Pi のIPアドレスを(今回は自分自身なので127.0.0.1), また[Port]に AMBEserverGPIO のオプションとして[-p 24600]と指定した場合は「24600」を,指定しなかった場合は「2460」を設定します。
■DummyRepeater の自動起動設定
自動起動ファイルはホームフォルダ(/home/pi)の中にある隠しフォルダ .config/autostart/ の中に格納されています。
$ cd .config/autostart/
$ ls
start_gateway.desktop start_modem.desktop start_x11vnc.desktop
$ ls
start_gateway.desktop start_modem.desktop start_x11vnc.desktop
start_gateway.desktop は ircddbgateway の自動立ち上げファイルです。同様に start_x11vnc.desktop は VNC を自動立ち上げしいつでも接続できるように設定済みです。 したがって,ここでは start_modem.desktop のみ dummyrepeater 用に編集します。
$ sudo nano start_modem.desktop
GNU nano 2.2.6 File: start_modem.desktop
[Desktop Entry]
Type=Application
Exec=sudo /usr/local/bin/dummyrepeater
Type=Application
Exec=sudo /usr/local/bin/dummyrepeater
これで再起動すれば,自動接続(設定していれば)の「Link to REF047 C」などのアナウンスが聞こえるはずです。 また VNC で接続するとすでに立ち上がった ircDDB Gateway と DummyRepeater が確認できるはずです。お疲れ様でした。
Back
73
J E 3 H C Z @REF047 C
さっそくの最新情報、ありがとうございます。
返信削除自称職人さんの記事を拝見しながら、毎日楽しませていただいております。
これからもよろしくお願いいたします。
ありがとうございました!
追伸
このところSDカードの消費がハンパないです(笑)。
コメント有難うございます。
削除また,いつもご覧いただきとても励みになります。今月開催されるハムフェア2015東京ビッグサイトには,これも展示したいと考えております。もしお越しになるご予定がございましたら,ぜひお立ち寄りください。
Digital Radio ChallengersのブースJ-11でしたね。
返信削除とてもよい機会ですので、是非ともお邪魔したいと思います。
自称職人さん、いつもありがとうございます。
返信削除DV3000とThumbDV無事に稼働しております。
GPIO 3と6のショートでPTT制御もOKです。
取り急ぎご報告と御礼まで。
西宮の門前小僧様
削除レポート有難うございます。47Eに遅くまでのフットプリントがありました。
皆さんの実験によってますます,情報が積み重なって,総力でサイトが育っていけばいいなと思っております。今後ともよろしくお願いいたします。