**ALLMON2の機能拡張(1) [#xc245e72] AllStarlink(https://www.allstarlink.org)で自ノードの接続状態などをリアルタイムにモニター するALLMON2に、&color(Red){''バブルチャートのテキスト版''};を機能として追加した。 #ref(Allmon2_JJ1YEG.JPG,around,left,40%); ←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つで済む。 または、&color(Red){次の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 も起動するようになる。 #clear #navi(日記) #comment |