Top > calendar - 日記

2014年 02月 の 日記

<< 2014.2 >>
[日記]
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

14
February, 2014Edit

Headers.logをJSTで

ircddbgateway+gmsrepeater等で吐き出される/var/log/Headers.logの時刻表示がUTCに
なっているので、JST表示にした。ただし、年月日は省略して時刻のみとする。

  1. hlog.sh
    #!/bin/sh
    LOGF="/var/log/Headers.log"
    
    DT0=`tail -5 $LOGF | head -1 | cut -b1-19`
    
    while :
    do
      LOG1=`tail -1 $LOGF`
      DT1=`echo "$LOG1" | cut -b1-19`
      DTN=`grep -n "$DT0" $LOGF | cut -d":" -f1 | tail -1`
      DTALL=`wc -l $LOGF | cut -d" " -f1`
      FLAG=`expr $DTALL - $DTN`
      if test "$FLAG" = "" ; then
        FLAG="0"
      fi
      #echo "DT0=[$DT0] LOGF=[$LOGF] LOG1=[$LOG1]"
      #echo "DT1=[$DT1] DTN=[$DTN] DTALL=[$DTALL] FLAG=[$FLAG]"
      tail -$FLAG $LOGF > temp1.txt
    
      while read line
      do
        DTUTC=`echo "$line" | cut -b1-19`
        MSG0=`echo "$line" | cut -d " " -f6- | cut -b1-67`
        DTTEMP=`date +%s --date "$DTUTC"`
        DTJST=`expr $DTTEMP + "32400"`
        DTJST=`date --date "@$DTJST" | cut -b12-23`
        echo "$DTJST:$MSG0"
      done <temp1.txt
    
    DT0="$DT1"
    sleep 5
    done
     
  2. 表示例

    UTC表示
    2014-02-14 06:20:21: Repeater header - My: JH1BLT B/ID80 Your: CQCQCQ Rpt1: JJ1YEG C Rpt2: JJ1YEG G Flags: 00 00 00
    2014-02-14 06:41:41: DCS header - My: JF1CXH /UP4 Your: CQCQCQ Rpt1: JF1CXH D Rpt2: DCS021 C Flags: 00 00 00

    JST表示
    15:20:21 JST:My: JH1BLT B/ID80 Your: CQCQCQ Rpt1: JJ1YEG C Rpt2: JJ1YEG G
    15:41:41 JST:My: JF1CXH /UP4 Your: CQCQCQ Rpt1: JF1CXH D Rpt2: DCS021 C

         Teratermでログイン後モニター↓
        hlog_ex.jpg

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

09
February, 2014Edit

MyIPアドレスの読み上げ

Raspberry Pi(RasPi)にAquesTalkPiを組み込み、RasPiが起動したあとにMyIPを読み上げる。
従来はOpenJTalkを利用していたが、AquesTalkPiが個人使用に限り無償であることと、音質が比較的良いので組み込んでみた。

  1. AquesTalkPiのInstall
    http://www.a-quest.com/products/aquestalkpi.html を参考にhome/pi 下にInstall。
    使い易いように atk コマンドにする。
    --- /home/pi/bin/atk ---
    #!/bin/bash
    
    cd /home/pi/aquestalkpi
    echo "$1" | ./AquesTalkPi $2 -f -  | aplay -D plughw:0,0 -q
    そこでMyIPアドレスを読み上げるmipを作ってみる。
    --- /home/pi/bin/mip ---
    #!/bin/bash
    _IP=$(hostname -I) || true
    if [ "$_IP" ]; then
      printf "My IP address is %s\n" "$_IP"
      /home/pi/bin/atk "IPアドレスは,$_IP"
    fi
  2. rc.localに追加
    /etc/rc.local に一行追加する。
    # Print the IP address
    _IP=$(hostname -I) || true
    if [ "$_IP" ]; then
      printf "My IP address is %s\n" "$_IP"
      /home/pi/bin/atk "IPアドレスは,$_IP" ← 追加
    fi
    
    exit 0
     




    ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS