テキスト整形ルールプラグインヒント→
合計:1947今日:3昨日:0トップページの合計:1947
現在のログイン数:5 人edit
音声でUrCALLを入力させる前に、ID-31をCI-Vで入力させてみた。 インターフェースは以下参考*1にし、プログラムはID-31 マニュアルのCI-V制御コマンド表等を見ながら bash shellとPython(2.7)で作成した。 参考:http://www.fbnews.jp/201708/myproject/index.html
#!/bin/bash PATH=~/bin:$PATH export $PATH ucl31.sh "CQCQCQ" URCL0="CQCQCQ" 817.py FREQ="438.17 MHz" dup_off.py DUP="Dup none" while : do str1="" clear echo "Current Set.: $URCL0 $FREQ $DUP" echo "" wget -q -N http://aaa.bbb.ccc.ddd/data2.txt #自前サーバアドレス head -25 data2.txt | cut -c12- | sort -u | grep -v " " | nl -w 2 -s " - " | tee list0.txt cat /home/pi/bin/ref1.txt >> list0.txt echo "-------------------------------------------" cnt=0 while : do cnt=`expr $cnt + 2` echo $(cat ref1.txt | head -$cnt | tail -2 | awk '{print($1,$2,$3)}') if [ $cnt -gt 17 ]; then break fi done echo "" read -t 5 -p "No. of CALL: " str1 VAL=$((str1 + 0)) case "$str1" in "17" ) 817.py FREQ="438.17 MHz" ;; "60" ) 860.py FREQ="438.60 MHz" ;; "dn" ) dup_on.py DUP="Dup -" ;; "df" ) dup_off.py DUP="Dup none" ;; "pn" ) pwon.py ;; #電源ON "pf" ) pwoff.py ;; #電源OFF "vl" ) voll.py 7 ;; #ボリュームLOW "vm" ) voll.py a ;; # 〃 MIDL "vh" ) volh.py A ;; # 〃 HIGH "mt" ) voll.py 2 ;; # 〃 MUTE esac if test $VAL -lt 100 -a $VAL -gt 0 ; then URCL=`grep "$str1 -" list0.txt | head -1` MEM1="$URCL" URCL0=`echo "$URCL" | cut -c7-14` /home/pi/bin/ucl31.sh "$URCL0" & str1="" VAL="" fi done
#!/bin/bash STR1=`echo $1 | cut -c1` echo $STR1 if test "$STR1" = "s"; then # echo "Found s" STR2=`echo $1 | cut -c2-8` python2 d31.py "$STR1" "$STR2" else python2 d31.py "" "$1" fi
#!/usr/bin/python import serial import sys import time ser = serial.Serial('/dev/ttyUSB0', baudrate=19200, parity = serial.PARITY_NONE, timeout=1) ser.close() ser.open() ser.isOpen() pm1 = sys.argv[1] pm2 = sys.argv[2] CMDGATETO = '\xFE\xFE\x84\x00\x1F\x01' count = 0 while (count < 1): # time.sleep(0.1) RPT1 = 'JJ1YEG A' RPT2 = 'JJ1YEG G' URCL = pm2 URCL = URCL + ' ' if pm1 == "s": # print pm1 URCL = URCL[:7] else: URCL = URCL[:8] URCL = URCL + RPT1 + RPT2 CEND = '\xFD' SLS = '\x2F' ser.write(CMDGATETO) if pm1 == "s": ser.write(SLS.encode()) URCL = URCL.replace('_', ' ') URCL = URCL.upper() print URCL ser.write(URCL.encode()) # ser.write(RPT1.encode()) # ser.write(RPT2.encode()) ser.write(CEND) count = count + 1 ser.close()