#author("2019-11-03T09:57:14+00:00","","") &ref(S_PB030551.jpg);~ &size(20){&color(white,blue){JE7JCX};};です。~ ~ APRSのiGateを日本全国に増やしていきたいので、当局が日本で一番優しいと思われるラズベリーパイ3+RTL-SDRドングル+[[DireWolf:https://github.com/wb2osz/direwolf]]で構築する受信専用iGate局の設定マニュアルを書いてみました。~ ~ これを行うにあたっては、ラズベリーパイ3がインストール出来て初期設定が終わった段階から始める内容で書いています。なので、sshとかbashだとかvimが多少使えないと、この内容はチンプンカンプンだと思います。~ では頑張って始めましょー!~ ***必要なモノ [#jb0d0bad] ・ラズベリーパイ3 本体~ ・マイクロSDカード 16GBとか32GBとか。おそらくiGateやるだけなら16GBで大丈夫かと。~ ・ACアダプタ ラズベリーパイ3用~ ・ケースとヒートシンク 基板むき出しだと、金属物落としたらパチッてなって終わりますので。~ ・USBマウスとキーボード ラズベリーパイ3用では無くてもPCから一時借用でもOK~ ・HDMIケーブルかDVI→HDMI変換コネクタか、VGA→HDMI変換コネクタ~ 将来的にはマウスもキーボードもHDMI変換も使わなくなりますが。~ ・SDRドングル RTL2832Uとか書かれていれば動くと思います。~ ・アンテナ変換コネクタ 当局はMをBNCに変換後MCX-P/BNC-J変換ケーブルでUSBドングルにアンテナを接続しています。~ ・PC用モニタ~ ・WindowsPC あれば良いですね。設定その他が楽になります。~ ・LAN環境 無線LANでも有線LANでも構わないです。安定するなら有線LANでしょうけど、アンテナの位置などの制約を受けるとやはり無線LANのほうが取り回しが便利になると思います。~ ***最初に [#p85c37da] 普通にOSをインストールする。~ →これはネットを調べると、いくらでも例題が出てきます。~ ***初期設定[#j649db57] →言語設定から、タイムゾーンやキーボードやWiFi地域設定とかです。~ インターフェースでsshを使う設定を忘れないでください。忘れても常にラズベリーパイ3の画面を見て設定する方は結構ですが、普通はラズベリーパイ3には電源と受信用アンテナだけがつながり、残りの全ての設定をリモートから操作するのが一般的だと思います。~ ***WiFi設定 [#c83d3e3d] /etc/wpa_supplicant.confに下記を追加。~ ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev~ update_config=1~ country=JP~ ~ network={~ ssid="BuffaloG"&color(white,red){←あなたの無線ルーターのSSIDを書いてください。};~ psk="XXXXXXXXXXXXX"&color(white,red){←ここはあなたのルーターにアクセスするためのpskキーを書いてください。};~ key_mgmt=WPA-PSK~ }~ 下はvimで開いたwpa_supplicant.confです。pskキーは都合ぼかしています。~ &ref(20191103-001.JPG); ***IP固定設定 [#s8014c5c] 固定しないと、例えばWindowsPCからsshでのアクセスとかしにくいので。~ 下記を追加します。~ interface wlan0~ static ip_address=192.168.11.11&color(white,red){←付与したいipを書きます。};~ static routers=192.168.11.1&color(white,red){←無線ルーターのipアドレスを書きます。};~ static domain_name_servers=192.168.11.1&color(white,red){←無線ルーターのipアドレスを書きます。};~ これでWindowsPCからssh接続ができるようになりました。~ 下の画像は/etc/dhcpcd.confをvimで開いた画像です。~ &ref(20191103-002.JPG);~ その後ターミナル上でrebootします。~ #reboot[ENTER]~ ***RTL-SDRアプリのインストール [#o78577b2] ターミナル上で #sudo apt-get install rtl-sdr~ を実行します。~ ***RTL-SDRの設定 [#uc16c4b4] /etc/modprobe.d/rtlsdr-blacklist.conf に以下を記入します。~ blacklist dvb_usb_rtl28xxu~ blacklist rtl2830~ blacklist dvb_usb_v2~ blacklist dvb_core~ ~ ターミナル上でrebootします。~ #reboot[ENTER]~ ***SDRドングルのテスト [#k093d2c1] USBにSDRドングルを刺します。~ その後ターミナルから下記を打ち、テストを実施します。~ $ rtl_test -t~ 下記のメッセージが出れば認識されています。~ Found 1 device(s):~ 0: Realtek, RTL2838UHIDIR, SN: 00000001~ Using device 0: Generic RTL2832U OEM~ Found Rafael Micro R820T tuner~ Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 Sampling at 2048000 S/s.~ No E4000 tuner found, aborting~ ***DireWolfのインストール~ [#v8b2fd5d] ターミナル上からのapt-get install direwolfのインストールでは、バージョンの古い方がインストールされるかもしれないので、gitでcloneし手動インストールします。~ ターミナル上で~ cd /home/pi~ git clone https://www.github.com/wb2osz/direwolf~ cd direwolf~ make~ そうしたら~ Makefile.linux:270: *** /usr/include/alsa/asoundlib.h does not exist. Install it with "sudo apt-get install libasound2-dev" or "sudo yum install alsa-lib-devel" . 中止.~ とasoundlib.hファイルが無いと怒られたので、~ ターミナル上で~ sudo apt-get install libasound2-dev します。~ もう一回make~ 今度はいきました。~ sudo make install~ つぎは~ make install-conf~ です。~ ~ ***/home/pi/sdr.confの編集 [#e46ad1ca] その次に/home/pi/sdr.confにコールサイン、APRSサーバーログインコードを書きます。~ 以下は私のsdr.confです。~ #~ # Sample configuration for SDR read-only IGate.~ #~ # We might not have an audio output device so set to null.~ # We will override the input half on the command line.~ ADEVICE null null~ CHANNEL 0~ MYCALL JE7JCX-10~ # First you need to specify the name of a Tier 2 server.~ # The current preferred way is to use one of these regional rotate addresses:~ # noam.aprs2.net - for North America~ # soam.aprs2.net - for South America~ # euro.aprs2.net - for Europe and Africa~ # asia.aprs2.net - for Asia~ # aunz.aprs2.net - for Oceania~ IGSERVER sapporo.aprs2.net&color(white,red){←ネットを調べて近い場所のサーバーを書いてください。};~ ~ # You also need to specify your login name and passcode.~ # Contact the author if you can't figure out how to generate the passcode.~ ~ IGLOGIN JE7JCX-10 XXXXX&color(white,red){←XXXXXには自分のパスコードを書いてください。};~ ~ # That's all you need for a receive only IGate which relays~ # messages from the local radio channel to the global servers.~ 下はvimで開いたsdr.confの画像です。~ &ref(20191103-005.JPG); ***direwolf.confの設定 [#j45151b0] その次は\home/pi/direwolf.confの編集です。~ 私の場合書くのは~ MYCALL JE7JCX-10~ IGLOGIN JE7JCX-10 XXXXX~ OBEACON sendto=IG DELAY=0:10 EVERY=30:00 OBJNAME=JE7JCX-10 SYMBOL=\& overlay=I lat=40^17.54N long=140^49.76E comment="RaspberryPi3 RX-Only iGate 144.66MHz 1.2kbps OP:Nara"~ だけです。~ ***dw-start.shの編集 [#p78680be] /home/pi/dw-start.shを編集します。~ 書く内容は下記だけです。~ rtl_fm -f 144.66M -p 20 -o 4 - 2>/var/log/direwolf/rtl_fm.log | direwolf -c /home/pi/direwolf.conf -t 0 -n 1 -r 24000 -b 16 - 2> /var/log/direwolf/error.log 1>/var/log/direwolf/output.log &~ 上の文章は、direwolfの実行と、ログファイルに書き出す設定を書いています。~ vim上でdw-start.shを開いた画像です。色はついていますが、書いていることは同じです。~ &ref(20191103-003.JPG); ***dw-start.shの実行 [#ybafbd34] cd /home/pi/でsh dw-start.shを実行~ ***エラー対応 [#g2318803] ログファイルが作れないと言うエラーが出るので、ターミナル上で~ mkdir /var/log/direwolfする。~ chown pi:pi /var/log/direwolfします。~ chmod 777 /var/log/direwolfします。~ その次にターミナル上で~ cd /var/log/direwwolfします。~ ターミナル上でtouch error.logします。~ ターミナル上でtouch output.logします。~ ***rc.loaclの編集 [#v963b25e] /etc/rc.localを編集します。~ /bin/sh /home/pi/dw-start.shを行頭の#が連続して終わったあたりに記入します。~ 下の画像はvimでrc.localを開いた画像です。~ &ref(20191103-004.JPG);~ ***再起動 [#q794b9fa] reboot~ ***direwolfの起動確認 [#g00f1f42] sshでログインし、ターミナル上でps aux | grep direwolfで起動しているか確認します。~ root 542 11.4 0.5 123396 5516 ? Sl 20:13 18:51 direwolf -c /home/pi/direwolf.conf -t 0 -n 1 -r 24000 -b 16 -~ と表示が出ていれば起動に成功しています。~ ***APRSのサーバーにログイン成功、パケットを送れているか確認します。 [#lb3937d2] APRSサーバーのステータスを確認し、JE7JCX-10がログインしているか確認します。~ WindowsPCのブラウザで~ http://211.132.61.243:14501/ を確認し、JE7JCX-10が表示されていることを確認します。~ そのまま動かして、ちゃんとサーバーへPBEACONを出しているか、aprs.fiのグラフで確認します。~ ***実パケット受信確認 [#w2920ac7] APRSハンディトランシーバーか、APRSモービル機で近所を歩き走ってちゃんと受信パケットをサーバーに送っているか確認します。~ http://aprs.fiで奇跡が表示されるかどうかを見ます。~ ~ &ref(20191103capture.JPG); ~ ***ログファイル消去設定 [#df17a895] なにげにラズベリーパイ3のログファイルがどんどん増えていくので、一定期間で消す設定をします。~ 編集するファイルは~ /etc/cron.daily/log_del.shです。&color(white,red){←名前はなんでも良いです。};~ 書く内容は、~ #!/bin/bash~ /usr/bin/find /var/log/ -name '*.log' -mtime +7 -delete~ /usr/bin/find /var/log/ -name '*.old' -mtime +7 -delete~ /usr/bin/find /var/log/ -name '*log' -mtime +7 -delete~ /usr/bin/find /var/log/ -name '*.log.*' -mtime +7 -delete~ /usr/bin/find /var/log/ -name 'messages' -mtime +7 -delete~ /usr/bin/find /var/log/ -name '*.gz' -mtime +7 -delete~ これで、ほとんどのログファイルが1週間で消えます。~ 下の画像はvimでlog_del.shを開いた画像です。~ &ref(20191103-006.JPG);~ 新しく追加するときは最後の行をコピーペーストし、*.gzの表現を変えればOKです。~ 編集が終わったら念のため、~ chmod +x log_del.sh~ を行い、実行権限を付与してください。~ ***WiFi切断対策 [#f8aa25d7] ラズベリーパイ3はWifiが切れるという巷の噂があるので、5分おきにルーターへアクセスし、切断しないような対策を講じます。~ 編集するファイルは /home/pi/reconne_wifi.sh です。~ 中身は~ #!/bin/sh~ ping -c 1 192.168.11.X&color(white,red){←このipは各自のルーターのipで適選変えてください。}; test $? -eq 1 && sudo /etc/ifplugd/action.d/action_wpa wlan0 up~ 編集が終わったら、 chmod +x reconne_wifi.sh~ を実行し、実行権限を付与してください。~ 今度はそのファイルを5分おきに実行するため、~ crontab -e~ をタイプしcronファイルの編集を行います。 下記の1行を追加します。~ ※/5 * * * * sh /home/pi/reconne_wifi.sh 1&2 >> /var/log/cron.log~ 5分おきに実行し、結果を/var/log/cron.logに書き出す設定です。~ ターミナル上でcrontab -lしてちゃんと保存されているのが確認できたら、~ systemctl stop cron~ systemctl start cron~ あるいは、~ systemctl reload cron~ で設定のリロードでもOKかと思います。~ ----- できましたー!これでOKでーす! ~ &color(red){&size(20){晩酌しながら、これを打つのは大変でした。。。(涙)日本のアマチュア無線家でAPRSに興味のある局長さんがいらっしゃいましたら、これで安価なiGate設置をお願いします。ここまでで1万円かかっていませんので。};}; ~ ----- &size(20){&color(white,blue){質問問合せ等は「valkyrieあっと10324.dip.jp」までお願いします。};};~ &size(20){&color(white,blue){あっとは「@」に変えて送信をお願いします。};};~ ----- 2019年11月3日記 JE7JCX~ ~ [[アマチュア無線]]~ [[FrontPage]]