***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,,75%); +Menu Code #!/bin/bash str1="" MEM1="none" while : do str1="" clear echo "メモリー1: $MEM1" echo "" wget -q -N http://192.168.50.19/data2.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` 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" 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 &ref(menu02.JPG,,75%); &ref(IMG_2650.JPG,,75%); &ref(IMG_2654.JPG,,75%); #clear #comment #navi(日記) |