KiwiSDRでラジオサーバー構築

【この記事の所要時間: 1117秒】

自宅内外からネットワークを介して操作・聴取出来るラジオサーバー的な物を作りたくて、Raspberry PiとUSB接続のRTL-SDRを組み合わせた構成を考えていたところ、或る日ふとツイッターで呟いたら「KiwiSDR」を教えていただいた。

BeagleBoneGreen(以降、BBGと略す)というRaspberry Piのようなワンボードプロセッサカードと専用SDRカードを組み合わせた物で、ネットワークを介して操作するが、クライアント側はWebブラウザを使用するためドライバ類や専用アプリが一切不要というのが大きな特長。
一般的なWebブラウザ(IE不可)が使用できれば、スマホ、タブレット、パソコン、等の広範囲なデバイスで利用出来る。(もちろんラズパイでも。)
また、GPS機能が搭載されていて(日本のみちびきにも対応)、GPSからの情報で時刻と受信周波数の補正を行うのも他のRTL-SDRでは余り見掛けない特長かも。(GPSアンテナ付属)

その後、更にツイッターで、とあるショップ(国内)の廃業セールでこのKiwiSDRも半額になっている…と教えていただき、購入(注文)した次第。
発送まで少々時間が掛かったが、今朝朝一で届いたので早速セットアップを開始し(メタルケースとACアダプタは先に入手済み)、目標のインターネット経由での利用設定まで無事完了した。

KiwiSDR in MetalCase

購入品

・KiwiSDRセット(BBG、KiwiSDRカード、プラスチックケース、GPSアンテナ、microSDカード、他一式)
・KiwiSDRメタルケース
・ACアダプタ(5V/3A トランス式)

事前検討

放熱性向上

主要チップにRaspberry Pi用のヒートシンクを装着

ラジオサーバーという用途上、24時間/365日の稼動が前提で、しかもSDRは搭載された各種チップからの発熱が多いため、安定稼動には放熱・排熱が重要。
KiwiSDRを構成する二枚のボード(BBG、KiwiSDRカード)に搭載されているチップには結構発熱するものが幾つか有る。
手元にRaspberry Pi用のヒートシンクが幾つか有り、サイズも手頃なので、BBGで使用することにした。

KiwiSDRの最も大きなチップ(FPGA)にクールスタッフ・チューブタイプを装着
クールスタッフ・チューブタイプがメタルケースに面接触し放熱を促す

KiwiSDRカードの方は、ふと見かけたサイトでヒートシンクの代わりに放熱フィルムを装着してメタルケースに熱を伝えて放熱する方法が紹介されていて、使用している放熱フィルム(沖電線 クールスタッフ・チューブタイプ)がちょうど手持ちに有ったので、取り入れさせていただいた。
尚、クールスタッフの平面部分は絶縁性だが、縁(切断面)は導電性のため、接触による万が一の短絡を避けるべく、基板上の接触しそうな部分にカプトンテープを貼って回避している。

ケース付属のファン(左)と交換したファン(中、右)
消費電流の違い…ケース付属のファン:0.19A、交換したファン:0.10A

更に、ケース内に装着するファン(30mm角・7mm厚)を、これも手持ちに有った同サイズのRaspberry Pi用静音ファンに変更して二基に増やした。
元々ケースに付属しているファンは5V/0.19Aで、今回使用したファンは5V/0.10A…アンペア数が約半分なので二基に倍増しても消費電力は同程度。
供給電圧は3.3Vなので更に静かになるはず。
実際に駆動音を聴き比べてみて、オリジナルのファン(一基)は音量が大きめで甲高い音が結構気になるが(他ユーザーのインプレも同様)、今回使用した静音ファンはかなり静かで、ケースに収めた状態では二基でも全くといっていいほど気にならない。(耳がケースに触れるほど近付けてもほぼ聞こえない。)

上述のクールスタッフを使った放熱方法を参考にさせていただいたサイトでは、ファン自体を無くした自然空冷にして更なる静音化を図っているが、自分の場合は無線機用ラックの中に収めるため自然放熱性が低いことと、ファンの駆動音が響きにくいこともあって、ファンを増やす方向で進めた。

受信ノイズ低減

ガルバニックアイソレーター&ローパスフィルタ

受信アンテナラインにはIC-705で使っているガルバニックアイソレーターとローパスフィルタを転用。
LPFの通過帯域は0〜14MHz…聴くのは中波帯がメインで短波もこれより上は殆ど聴かないため影響無く、また近接に特に強大な中波放送局はないので(ラジオ日本は強力だけど許容範囲内)、中波帯の低減対応も不要。
この二つは直結して、補強と埃除けを兼ねたアクリルパイプ製のカバー(Amazonの購入者レビューで紹介されていた物を自作)を装着している。

コモンモードチョーク&アンテナ分配器
手持ちのゴム足を装着

併せて、同じくIC-705で使っているコモンモードチョーク(フィルタ)を転用。
IC-705も引き続き受信用に使うので、受信アンテナ(屋内設置MLA)を共用するための分配器を使用している。
直結したコモンモードチョークと分配器の底面がほぼ面一なので、置いた時に安定する。

ACラインではトランス式のACアダプタを使用。
KiwiSDRで使用出来る出力(5V/2A以上)とDCプラグ仕様(外径φ5.5mm/内径φ2.1mm/センタープラス)を全て満たす安価な物を見付けることが出来た。

セットアップ

① アプリのセットアップとアップデート

添付の日本語説明書(ショップが作成したもので、カラー写真が多く掲載されていて判りやすい)を参照しながら組み立てとアプリのセットアップを行う。
アプリのセットアップといっても、添付のmicroSDカードをBBGに装着して電源を入れれば後は全て完全にお任せで進み、終了後には電源が切れて完了。
尚、BBG上に電源スイッチはあるが、KiwiSDRカードに(通電している)DCアダプタを接続するだけで電源が入る。
ケースに収めると電源スイッチを操作できないので、こういう仕様なのだろう。

この後、microSDカードを抜き、インターネットに繋げて(LANケーブルを接続して)再度電源を入れるとアップデートが始まる。
余談だが、自宅内ではWi-Fi接続のみなので有線LAN接続にしか対応していないBBGの接続についてしばし悩んだが、使用しているWi-Fi中継器に有線LANポートが有ることを思い出し、無線機用ラックにこの中継器を移動して有線接続することで対処した。

製品の状態(新品購入・時期、再セットアップ)によりアップデートの所要時間が大きく変わり、とあるユーザーのインプレでは二時間以上掛かったとの報告も。
自分の場合は一時間ほどで完了。
アップデート中に他デバイス(のWebブラウザ…Chrome)からアクセスするとアップデート中である旨の表示が出て、一応動作していることが判る。

② メタルケースへ収納

アップデートが完了し、これでひとまず使用可能になったので、次はメタルケースへの収納。
ケースへの組み込みのため、一度分解(BBGとKiwiSDRカードを分離)する。
メタルケースには英文の説明書しか添付されていないが、簡単な文章で写真が豊富なのでさほど難しい作業ではない。
ただ、パーツの使い分けに注意が必要だったり、ネジ留め時にワッシャーが落ちないよう注意が必要など、手間はちょっと掛かるかな。

ファンはちょうど横に二つ並べられる
ファンの下と左右に薄手のクッションテープを貼付

この際にファンを装着する。
オリジナルのファンには上下方向に計二枚のクッション両面テープが貼り付けられているので剥がして、それぞれ交換するファン(二基)の上(基板)側に一枚ずつ貼り付ける。
このクッション両面テープは分厚く、ファンの下(ケースの底面に接する)側にも貼るとKiwiSDRカードが持ち上げられて反ってしまうため、オリジナルファンを使う場合でも必ず剥がすこと。
(説明書にも剥がすように注意書き有り…それなら最初から貼らなきゃいいのにと思ったり。)
ファンの固定はKiwiSDR側のみだが、ケース内や隣接するファンとの接触面にはクッションテープを貼って振動が響くのを極力抑えている。
尚、ファンは端子をGroveコネクタに交換し、BBG上のI2CコネクタとUARTコネクタにそれぞれ接続している。(付属のファンを使う場合はI2Cコネクタに接続するよう説明書に記載されている。)

前面:パネルの固定ネジを交換(USB Client表記の開口部はLED減光のためハーフミラー風シートで覆っている)
後面:パネルの固定ネジを交換
底面:KiwiSDR固定ネジとゴム足を交換

ケースに使用されているネジは一本(絶縁のため白色樹脂製)を除いて銀色のプラス皿ネジだが、手持ちの六角穴付き黒色皿ネジと六角穴付き銀色鍋ネジに交換した。
鍋ネジは基板をスペーサーに固定する部分に使用している。
オリジナルではここも皿ネジなので、締め込んだ際に基板のネジ穴へ掛かる圧力が気になるからだけど、気にしすぎかもしれない。
(説明書には、基板へのネジ留めは余り強く締め付けないように手回しで行う、との注意書きが有る。)
銀一色のメタルケースに黒の六角穴付きネジはなかなか良い感じ…と自己満足。
併せて、底に貼るゴム脚も付属品(透明)から手持ちの黒色に変更した。

③ 設置

ガルバニックアイソレーター&ローパスフィルタは硬質ウレタンを支えにした
付属のGPSアンテナ

ケースへ収納後、受信アンテナライン、GPSアンテナ、LANケーブル、ACアダプタを繋ぎ、自宅LAN内の他デバイスからアクセスして操作と聴取が出来ることを確認。
問題無くOKなので、無線機用ラックの予定位置に設置。
KiwiSDRとコモンモードチョーク&分配器は前後に入出力があるため、前面にもケーブルが出てしまうが、やむを得ない。(冒頭の写真)

続いて、自宅LAN外からのアクセス設定。
今までに幾つかのデバイスを外部公開してきたことがあるので難無く完了。
IPアドレス直打ちはスマートではないので(忘れそうだし)、無料のDDNSサービスを利用してドメイン名でアクセス出来るようにした。
DDNSサービスを用いたアクセスについては管理画面の【Connect】内で設定出来る。
他者への公開は思案中…なにせ室内の窓際にぶら下げたパッシブ・ループアンテナでは環境的にプアなため、公開したところで需要は低いだろうしね。
公開されているサーバは利用したことが無い。

試用&試聴

RasPad3でAFN受信中

中波放送と一部の短波放送を聴いてみて、強力な局(例えば在京7局)はIC-705の受信レベルが上だが、微弱な局はKiwiSDRの方が受信出来ている。
音質は同じBluetoothヘッドセット(マルチペアリング)で聴き比べてみてIC-705が確実に良好。
これは、IC-705では設定を調整しているのに対して、KiwiSDRは初期設定のままなので、調整していくことで改善すると期待している。
JJY(40kHz)と気象FAX、NAVTEXがKiwiSDRで明瞭に受信出来たのは感動。
KiwiSDRは気象FAXやNAVTEXなどデコードして表示する機能も持っているので単体でいろいろ遊べる。(NAVTEXの和文に未対応なのが非常に惜しい。)

数少ない(現状唯一?)不満点…LEDが明るすぎる

今のところ大きな不満は無いけれど…BBGに搭載されている青色LED(Power、Status)が無駄に高輝度で、昼間でさえ結構明るく感じるので、夜間部屋が暗いと非常に眩しいだろうと懸念。

StatusLEDが見える開口部(USB Client)をハーフミラー風シートで覆う

特にStatusLEDは4個のLEDが電飾みたいに点滅するので余計に気になる。
管理画面を眺めていたら【Config】の中に輝度設定「Status LED brightness」が有り、最大輝度から消灯まで5段階に調整出来ることがわかった。
とりあえず状態確認は出来るよう最小輝度(dimmest)に設定したものの、派手に点滅することもあって、まだ気になる。
消灯してしまうと状態確認ができないので、パネルの裏側にハーフミラー風のシートを貼って減光することにした。
夜を想定して手で覆って暗くしても気にならず・昼の明るい状態でも視認出来る。
micro-USB端子も塞ぐことになるが、BBGへの単体給電用で不要なため問題無し。
(BBGにはKiwiSDRカード経由で給電される。)

PowerLEDはこのような設定が見当たらないので、USB-Aカバーを押さえにして前面から薄いゴムシート(黒色)で覆った。(冒頭の写真)
こちらのUSB-A端子も使わないため問題無し。