ALLMON2の機能拡張(1)

するALLMON2に、バブルチャートのテキスト版を機能として追加した。
←JJ1YEG NODE 53197 の画面
【環境】
・Raspberry Pi 2/3/4 OS:Debian 10 (buster)
・ASL-2.0 (ASterisk + app_rtp + apache2 + php7.4)
・Allmon Updated Feburary 2, 2018
初めにHOMEで、$ mkdir bin とユーザーの位置でbinフォルダーを作成して
おく。以下のファイルの作成には、例えばnanoで行うのであれば、
$ nano bin/frd.sh
として編集する。以下同様。
- 【追加prog】
・frd.sh 作成・保存後に実行可能となるよう $ chmod 755 bin/frd.sh
tcpdump は事前にInstall $ sudo apt install tcpdump
#!/bin/bash
if [ -f ~/astname.txt ]; then
rm -f ~/astname.txt
fi
sudo tcpdump -i eth0 -nnnAs0 udp port 4569 | grep --color=auto --line-buffer -oP '(?<=....L ).+(?=)' | tee -a ~/astname.txt
・bchart.sh 作成・保存後に実行可能となるよう $ chmod 755 bin/bchart.sh
また、中の、ノード番号とコールサインは自分の環境に合わせること。
#!/bin/bash
clear
DATM="none"
DATX=""
echo '----- 52984 ---- JH1BLT Bridge Stations --------------' > ~/lab0.txt
echo -e "Node #\tCallSign\tLocation" >> lab0.txt
echo '------------------------------------------------------' >> ~/lab0.txt
rm -f ~/ast0.txt
rm -f ~/ast1.txt
while :
do
if [ -f ~/astname.txt ]; then
tail -4 ~/astname.txt | tr ',' '\n' | sort -u | sed -e 's/^T30/T/g' -e 's/^T3/T/g' -e 's/^T/\^/g' > ~/ast1.txt
echo "^52984" >>~/ast1.txt
cat ast1.txt | while read line
do
grep $line /var/www/html/allmon2/astdb.txt | sed -e 's/||/|/g' | sed -e 's/|/\t/g' | sed -e 's/,/\t/g' >> ~/ast0.txt
done
DATX=`cat ~/ast0.txt | sort -k1 -u`
if test "$DATX" != "$DATM"; then
clear
cat lab0.txt
echo "$DATX" | sudo tee /var/www/html/allmon2/ast0.txt
DATM="$DATX"
fi
sleep 3
rm -f ~/ast0.txt
rm -f ~/ast1.txt
fi
done
・/var/www/html/allmon2/link.php に以下を追加
A1-TOPに一行追加する
<meta http-equiv="refresh" content="28"> ← この行
<?php
・
・
・
・
A2-最後の方に以下を修正追加する
<!-- <div id="blinky"></div> --> ← この行は修正
<span style="font-size:13pt"><b> ← この行は追加
<?php ←------------------------------------- ここから
$lines = file("http://localhost/allmon2/ast0.txt");
$ct = count($lines);
if (count($lines) < 50 ) { ← 追加した2021 3/2
print "<pre>";
for($i = 0; $i < $ct; $i++ ){
$j = $i + 1;
printf("%5s",$j); print ". ".$lines[$i];
}
print "</b></pre></span></table>";
} ← 追加した2021 3/2
?> ←------------------------------------- ここまで追加
<?php include "footer.inc"; ?> ← オリジナル最後の行
- 【起動手順】
terminal を2つ開く。 terminal-1で、$ frd.sh を起動する。
terminal-2で、$ bchart.sh を起動して、terminal上で
まずは、listが出るか確認する。その後、いつものように
ブラウザでallmon2 を開く。
以上、tmuxと言うtoolを使うと、terminalは1つで済む。
または、次のRasPi起動時に自動起動で。
- 【自動起動】
frd.sh を以下のように修正
#!/bin/bash
if [ -f ~/astname.txt ]; then
rm -f ~/astname.txt
fi
sudo tcpdump -i eth0 -nnnAs0 udp port 4569 | grep --color=auto --line-buffer -oP '(?<=....L ).+(?=)' | tee -a astname.txt &
sleep 10
/home/moto/bin/bchart.sh &
^^^^^^がrepeater の場合は、moto→repeaterにすること。
ここはfull pathで実行させた方が安全。以下もmoto は個々の環境に合わせること。
$ sudo nano /etc/crontab でcrontabの最後に以下を追加する。
@reboot root su - moto /home/moto/bin/frd.sh &
これにより、起動時にfrd.shを実行し、その中でbchart.sh も起動するようになる。