ALLMON2の機能拡張(1)

AllStarlink(https://www.allstarlink.org)で自ノードの接続状態などをリアルタイムにモニター
するALLMON2に、バブルチャートのテキスト版を機能として追加した。

Allmon2_JJ1YEG.JPG

←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
 として編集する。以下同様。

  1. 【追加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 ".&nbsp;".$lines[$i];
      }
      print "</b></pre></span></table>";
    }               ← 追加した2021 3/2
    ?>  ←------------------------------------- ここまで追加
    <?php include "footer.inc"; ?>   ← オリジナル最後の行
     
  2. 【起動手順】
     terminal を2つ開く。 terminal-1で、$ frd.sh を起動する。
     terminal-2で、$ bchart.sh を起動して、terminal上で
     まずは、listが出るか確認する。その後、いつものように
     ブラウザでallmon2 を開く。
     以上、tmuxと言うtoolを使うと、terminalは1つで済む。
     または、次のRasPi起動時に自動起動で
     
  3. 【自動起動】
     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 も起動するようになる。
     


    URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

リロード   新規 下位ページ作成 凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS