• 追加された行はこの色です。
  • 削除された行はこの色です。
***ID-31をCI-Vで制御 [#y34482d8]
音声でUrCALLを入力させる前に、ID-31をCI-Vで入力させてみた。
インターフェースは以下参考((このサイトのおかげです。感謝感謝))にし、プログラムはID-31 マニュアルのCI-V制御コマンド表等を見ながら
bash shellとPython(2.7)で作成した。
参考:http://www.fbnews.jp/201708/myproject/index.html
+構成
Raspberry Pi(on VirtualBox) == Interface == ID-31(CI-V)
+Interface
&ref(IMG_2655.JPG,,40%);
+Menu Code
 #!/bin/bash
 str1=""
 MEM1="none"
 while :
 do
 str1=""
 clear
 echo "メモリー1: $MEM1"
 echo ""
 wget -q -N http://aaa.bbb.ccc.ddd/data2.txt #自前サーバIPaddress(左下の注2参照)
 head -25 data2.txt | cut -c12- | sort -u | grep -v "
       " | nl -w 3 -s " - " | tee list0.txt
 head -25 data2.txt | cut -c12- | sort -u | grep -v "       " | nl -w 3 -s " - " | tee list0.txt
 cat /home/pi/bin/ref1.txt >> list0.txt
 echo "-------------------------------------------"
 cat /home/pi/bin/ref1.txt
 read -t 8 -p "No. of CALL: " str1
 if test "$str1" != ""; then
   URCL=`grep "$str1 -" list0.txt`
   URCL=`grep "$str1 -" list0.txt | head -1`
   MEM1="$URCL"
   URCL0=`echo "$URCL" | cut -c7-14`
   /home/pi/bin/ucl31.sh "$URCL0" &
   clear
 fi
 #sleep 2
 done
+ucl31.sh(UrCALL->d31.py)
 #!/bin/bash
 
 STR1=`echo $1 | cut -c1`
 echo $STR1
 if test "$STR1" = "s"; then
 # echo "Hakken s"
 # echo "Found s"
   STR2=`echo $1 | cut -c2-8`
   python2 d31.py "$STR1" "$STR2"
 else
   python2 d31.py "" "$1"
 fi
+d31.py(CI-V Control)
 #!/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()
+sample pic
 メニュー画面(毎8秒更新)  "93"を入力して"CQCQCQ" ⇨ "REF047CL"にセットされた画面
&ref(menu02.JPG,,43%);  &ref(IMG_2650.JPG,,30%); ⇨ &ref(IMG_2654.JPG,,30%);
 もちろんメニューの各コールサインを1つ入力しても、そのコールがセットされる。
 メニューのリストは8秒毎に更新((JARL管理サーバーの「テーブル書き換え要求」一覧を参考にしている→http://log.d-star.info/usr/TrustAccessLog.html))される。
#clear
#comment
#navi(日記)


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