一群来自23区和24区的业余卫星爱好者

紫丁香LIVE-CD hamlib控制电台和旋转器shell 命令和 关机后保存 gpredict数据步骤

公告通知 2017-06-05 1057 0

可以指出,如果以后还有紫丁香3,4,5,也一样的。或者未来的月球轨道卫星采用的也会是数字编码方式,当然65方式也可以,数字模式是趋势,美国著名的几个探测器都是采用数字编码源源不断的从太阳系边缘发回信号

但我发现,很容易解决这个问题,这里我先写手动命令,并顺便附上hamlib配置方法,另外hamlib也可以在WIN7下使用,配置一样,只不过串口改成com 1,com2等等就行了,也就是这个配置其实在WIN7下也能工作。现在我继续说紫丁香live-cd盘.

以我的机器为例,在紫丁香LiveCD   命令行下输入 :rigctl -l 就会弹出很多机器代码,比如我的ICOM R7000是 304,FT 100是 121,输入:rotctl -l 会弹出各种协议的旋转器控制器 ,GS-232B旋转器是 603

第一步 :找自己电脑串口,确认串口名称和实际串口

 

插上USB转TTL的电台数据线和旋转器线,

命令行输入:ls -l /dev/

显示:/dev/ttyUSB0  这个是USB转TTL的串口

显示:/dev/ttyS0这个是主板原生的串口COM1,我用作旋转器接线

显示:/dev/ttyS4

/dev/ttyS5

这2个是我的PIC转232板卡接口,所以用短接接口的TX,RX, 安装minicom 来测试,如果用2个USB转TTL控制电台,也可以用这个测试,也可以不测试,当rigctld脚本启动后,可以用GPRDICT直接控制 看能否控制效果,

命令行输入:sudo apt-get install minicom

安装完成后,

命令行输入:sudo minicom -D /dev/ttyS4  -b 9600打开界面,按ctrl  A 在按 E ,打开命令回显,这时,输入字符,会有回显,那么TX RX短接后,就是成对出现字符,比如输入R出现 RR,输入A 出现AA,说明这个端口对应/dev/ttyS4

 

另一个检查232串口是否启动的办法,是用万用表量DTR 脚和RTS脚的电压,用个针插入测量对电脑机箱地线电压,当命令行输入:sudo minicom -D /dev/ttyS4  -b 9600就会出现这个电压达到10V,说明这个端口对应/dev/ttyS4

对USB转TTL线

命令行输入:sudo minicom -D /dev/ttyUSB0  -b 9600打开界面,按ctrl  A 在按 E ,打开命令回显,这时,输入字符,会有回显,那么TX RX短接后,就是成对出现字符,比如输入R出现 RR,输入A 出现AA,说明这个端口对应/dev/ttyUSB0

 

 

第二步:创建个3个sh脚本,

ft100.sh 内容

sudo chmod 666 /dev/ttyUSB0
sudo rigctld  -m 121  -r /dev/ttyUSB0 -s 4800  -T 127.0.0.1 -t 2222

说明:sudo chmod 666 是给串口加可读写的权限, /dev/ttyUSB0 是FT100数据线所连串口,

121是FT100电台型号,
命令行输入:rigctld -l 就可以找到

4800是波特率

127.0.0.1指本机地址

2222是控制这个电台的端口

r7000.sh  内容

sudo chmod 666 /dev/ttyS4
sudo rigctld  -m 340  -r /dev/ttyS4 -s 9600  -C rts_state="ON",dtr_state="ON"   -c 08h  -T 127.0.0.1 -t 1111

说明:sudo chmod 666 是给串口加可读写的权限,/dev/ttys4  是R7000数据线所连串口,-c08h是ICOM机器特有的地址码  340是R7000电台型号,
命令行输入:rigctld -l 就可以找到
9600是波特率

因为我使用的RS 232 转TTL 的用的三极管DIY的,所以rts_state="ON",dtr_state="ON"这个打开RTS和DTR脚给三极管供电,

-T 127.0.0.1 -t 1111 控制的地址和端口

 

xuanzhuanqi.sh 内容
sudo chmod 666 /dev/ttyS0
sudo rotctld  -m 603 -r /dev/ttyS0 -s 9600  -C write_delay=1,timeout=1000,post_write_delay=1, max_el=65,max_az=345,min_az=1,min_el=1,retry=1   -T   127.0.0.1  -t 7777

说明:max_el=65,max_az=345因为我的旋转器是木头主梁,担心仰角过大,安装不稳,使HAMLIB控制旋转器时,最大仰角转到65度,因为我的限位器最大安装限制在345度附近,所以命令水平最大转到345度,7777是TCP端口,603是GS232B旋转器协议控制器,/dev/ttyS0是我机器的原生COM口

 

其实这个脚本创建完后,需要用

sudo  chmod 777  ft100.sh 和

sudo  chmod 777 r7000.sh和

sudo  chmod 777  xuanzhuanqi.sh      修改权限,然后可以执行服务启动

命令行输入:./ ft100.sh 启动FT100连接到电脑的HAMLIB服务

命令行输入./ r7000.sh    启动R7000连接到电脑的HAMLIB服务

命令行输入./ xuanzhuanqi.sh      启动GS232洗衣旋转器连接到电脑的HAMLIB服务

 

保存这3个sh脚本到自己的C盘,方便关机下次启动后,直接复制这3个文件到 系统里使用,

复制过来时,也必须

sudo  chmod 777  ft100.sh 和

sudo  chmod 777 r7000.sh和

sudo  chmod 777  xuanzhuanqi.sh      修改权限,然后可以执行服务启动

命令行输入:./ ft100.sh 启动FT100连接到电脑的HAMLIB服务

命令行输入./ r7000.sh    启动R7000连接到电脑的HAMLIB服务

命令行输入./ xuanzhuanqi.sh      启动GS232洗衣旋转器连接到电脑的HAMLIB服务

 

因为紫丁香LIVE-CD已经显示在自己左边 显示所有盘符,查找自己C盘,当然换别的盘也行,我是保存在自己WIN7的C盘,在C盘里可以建个目录,我这里省略,

第三步,保存GPRDICT各种设置数据

自己修改GPRDICT,

1.下载最新星历,2.添加自己的经纬度,也就是输入6位网格即可,3添加接收电台项目,只要写名称和端口号2个项目就行,就是上面   R7000  端口1111    F100  端口2222 ,我的意思是R7000做接收用,FT100做发射用,

4添加旋转器的项目,也就是项目名称和端口,比如xuanzhuanqi 和7777

配置结束

找到保存数据的gpredict的隐藏文件夹:

点击紫丁香LIVE-CD 的文件夹,也就是lilac目录,

 

1.按下组合键 CTRL  +H,这是出现隐藏目录,

2.查找.config目录,进入

3找到.gpredict,复制这个 目录到自己的C盘目录

下次开机重启时,把这个目录再复制到这个隐藏的目录覆盖后,再启动,就会发现数据不变

第四步,GPREDICT控制电台和旋转器

在软件里,打开界面点击启动就可以,这个就自己琢磨把,很容易。当然端口和名字选上面设置好的

R7000

F100

xuanzhuanqi

其中的Track是选中卫星,L是锁定线转(线性转发器)发射机和接收机的对应频率,接收机频率动就会带动发射机频率动,T是指,跳到线转的中心频率。这个软件优点就在于,如果手动调解接收机频率,也就是扫频时,就会带动发射机上行频率,同步实现扫频。

这个是手机铁塔基站发出的435.739MHZ  436..739MHZ  好像还有个437.739MHZ.数字脉冲经过30DB电视放大器和10单元八木收到的,使用的是RTL电视棒,采样ICOM R7000的中频瀑布,因为频率部分可以鼠标调整,我调到这个干扰频点看信号强度,因为没有完全准确铁塔,这个信号强度不算最强。


追加内容:

我上面的原理和过程还是有点麻烦,现在有个新的办法,附件为一个python脚本,
制作备份:
1.如上面方法设置各种参数完毕,

2.在C盘上建一个f文件夹,在这个f文件夹放需要备份的.config文件,把这个python脚本放C盘  然后启动LIVCE镜像成功以后,首先使用sudo disk -l 查看那个C盘的 号码,类似A8AC8D9CAC8D65A2,把这个python脚本  字母串换你的盘里的字母,

然后保存,以后可以一直使用。

正常启动镜像后,
打开C盘,复制这个python脚本文件到lilac文件夹,
打开一个终端,
输入sudu -i 获得权限
然后
输入:python  /home/lilac/gp.py
几秒后,会看到 端口1111,2222,7777打开的提示,
就可以正常使用上下电台,还有旋转器。
每次开关机后数据都会不变,但是星历更新后,需要把新的.config复制到C盘f文件夹

接收机可以做扫频。
代码如下:
-----------------------------------------------------------------------------------------------

import subprocess,os,time

os.system('cd ..')
os.system('    cp -arf    /media/lilac/A8AC8D9CAC8D65A2/f/.      /home/lilac     ')

os.system('   cd /home/lilac   ')

a=' chmod 666 /dev/ttyS0'
c=' chmod 666 /dev/ttyS4'
e=' chmod 666 /dev/ttyUSB0'

b=' rotctld  -m 603 -r /dev/ttyS0 -s 9600  -C write_delay=1,timeout=1000,post_write_delay=1, max_el=65,max_az=345,min_az=1,min_el=1,retry=1.1   -T   127.0.0.1  -t 7777 '

d=' rigctld  -m 340  -r /dev/ttyS4 -s 9600  -C rts_state="ON",dtr_state="ON"   -c 08h  -T 127.0.0.1 -t 1111'

f=' rigctld  -m 121  -r /dev/ttyUSB0 -s 4800  -T 127.0.0.1 -t 2222'

subprocess.Popen(a,shell=True)
subprocess.Popen(b,shell=True)

subprocess.Popen(c,shell=True)
subprocess.Popen(d,shell=True)

subprocess.Popen(e,shell=True)
subprocess.Popen(f,shell=True)
time.sleep(2)
print '---------------------------------'
os.system( "netstat -anp|grep 'rig' ")
time.sleep(1)
print '---------------------------------'
os.system( "netstat -anp|grep 'rot' ")
time.sleep(1)
print '---------------------------------'
os.system( "netstat -at")

 

 

介绍结束。DE BG9AGZ 73

 

分享到您的社交平台:

发表评论: