Top > 日記 > 2021-02-28

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

添付ファイル: fileAllmon2_JJ1YEG.JPG 155件 [詳細]

リロード   新規 下位ページ作成 凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Tue, 02 Mar 2021 19:10:09 JST (1143d)