電気と電子と電波の日記

自分のための備忘メモです

NoraGateway+なんちゃてモニタのインストール

Raspberry Pi Zero+raspbianでNoraGatewayとなんちゃってモニタをクリーンインストールするためのメモです。
 
■OSの準備
・raspbianをインストールする
Wifiを設定する
CLIコマンドライン)のみにして再起動する
・sudo raspi-configを実行し、以下のインターフェイスをenableにする
 ・SSH を有効にする
 ・ I2C を有効にする
    ・ Serial は
         The serial login shell is disabled   シリアルログインシェルは無効 にする

              The serial interface is enabled シリアルインターフェースは有効にする

 
■ MMDVMと通信するためのシリアルポート /dev/ttyAMA0 の設定
 
・/boot/config.txtファイルの最後に
  dtoverlay=pi3-disable-bt の記述を追加 
 
・/boot/cmdline.txtファイルの内容のうち
   console=serial0,115200 の記述を削除
 
・いったん再起動
 
・ ls -l /dev/ | grep ttyAMA0 で serial0 -> ttyAMA0 が出るか(serial0とttyAMA0でシンボリックリンクが張られているか、確認する。
 
・sudo systemctl disable serial-getty@ttyAMA0.service を実行する

・sudo systemctl disable bluetooth.service を実行する

 
 
■ソフトのインストール
・NoraGatewayをインストール
※上記リンクに従って対応
sudo apt update 
sudo apt install oracle-java8-jdk
 
sudo unzip ./(NoraGatewayのファイル名).zip -d /opt 
sudo chown -R pi:pi /opt/NoraGateway/ 
cd /opt/NoraGateway/
cp ./config/NoraGateway.xml.default ./config/NoraGateway.xml
 
nano ./config/NoraGateway.xml
設定ファイル/opt/NoraGateway/config/NoraGateway.xmlのMMDVMのportには"/dev/ttyAMA0"を記載
 
chmod 744 ./start.sh
chmod 744 ./update.sh
chmod 744 ./NoraGateway.bootstrap.sh
 
・なんちゃってモニターをインストール
 ※上記リンクに従って対応
cd ~/
unzip ./NoraNanMon.Zip -d /opt/NoraGateway/
sudo apt install fonts-ipafont
chmod 755 /opt/NoraGateway/NoraNanMon* 
・/opt/NoraGateway/config/NoraGateway.xmlの最後尾を以下の記述とする
<StatusInformationFileOutputService enable="true" outputPath="/tmp/" />
 
 
■MMDVMのリセットボタン長押しで、raspberryPiがシャットダウンするpythonスクリプトを作成する。(リセットスイッチ追加が面倒なので、MMDVM基板のスイッチを利用しました)
 
・以下の内容でsdown.pyファイル作成する。置き場所は/home/piとする。

import RPi.GPIO as GPIO
import os

GPIO.setmode(GPIO.BCM)

# input mode, pull up -> GPIO10pin
GPIO.setup(21,GPIO.IN,pull_up_down=GPIO.PUD_UP)

while True:
GPIO.wait_for_edge(21, GPIO.FALLING)
sw_counter = 0

 

while True:
 sw_status = GPIO.input(21)
  if sw_status == 0:
     sw_counter = sw_counter + 1
if sw_counter >= 50: #500ms
    os.system("sudo shutdown -h now")
break

else:

break
time.sleep(0.01)

 
■NoraGatewayを自動起動するための設定
 
・/opt/NoraGateway/SupportにあるNoraGateway.serviceファイルを/etc/systemd/systemに置く。
・NoraGateway.serviceファイルの内容は以下とする。

[Unit]
Description=NoraGateway Service
After=network.target nss-lookup.target

[Service]
Type=simple
ExecStart=/opt/NoraGateway/NoraGateway.bootstrap.sh -service
Restart=on-failure
RestartSec=60s
User=pi
Group=pi

[Install]
WantedBy=multi-user.target

・sudo systemctl enable NoraGateway.service を実行する
・sudo systemctl start NoraGateway.service を実行する
 
■なんちゃってモニターとシャットダウンスクリプト自動起動する設定
 
/etc/rc.localに以下を追記する(exit 0 よりも上方に記述
sudo /opt/NoraGateway/NoraNanMonOLED r0 cpu t2.0 s4 &
/usr/bin/python /home/pi/sdown.py &
 ■無線LANアクセスポイントの追加(必要に応じ)
・ /etc/wpa_supplicant/wpa_supplicant.conf ファイルにnetwork={ }を追加れば良い。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="xxxxxxxxx"
psk="xxxxxxxxx"
key_mgmt=WPA-PSK
}

network={
ssid="xxxxxxxxxx"
psk="xxxxxxxxxx"
key_mgmt=WPA-PSK
}

 
以上で完了。再起動して、動作確認する。
 
f:id:t1000zawa:20190615001030j:image
 
■雑記1
NoraGatewayRP16で試していたところ、なぜかJARL multi forward linkが、RPT?になって使えなくなった。log見ると、ほとんどのJARLレピーターが JARLLinkRepeaterHostnameServiceで"Illegal repeater callsign" という理由で ignore registration.になってしまい、hosts.output.txtに載っていない。なぜか一部のJARLレピーターのだけ"ReflectorNameService : Create reflector host (JARLLink)"としてhosts.output.txt に載っている状態。作者様によれば、JARLサーバー側のデータフォーマットが変わったらしく、数日後にリリースされたdev8で修正された。感謝です。
 
■雑記2 6/15早朝にJARLレピーター側のmulti_forwardのアップデートがされたようだが、それ以降、NoraGatewayからうまく利用できないようになってしまった。JARLから告知あり。