论坛风格切换切换到宽版
  • 5484阅读
  • 13回复

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

上一主题 下一主题
离线BG9AGZ
 
发帖
282
只看楼主 倒序阅读 0楼 发表于: 2017-06-05
虽然回帖的少,但我感觉这个对不熟悉UBUNTU的还是个门槛,还是有必要发下,有不对之处,可以指出,如果以后还有紫丁香3,4,5,也一样的。或者未来的月球轨道卫星采用的也会是数字编码方式,当然65方式也可以,数字模式是趋势,美国著名的几个探测器都是采用数字编码源源不断的从太阳系边缘发回信号,而紫丁香1号的数字编码下行是一个很好数字语音体验。好了言归正传,



           ubuntu用的不够普及,但紫丁香1,2号都依赖这个,而livecd是UBUNTU唯一的类似win ghost复制带软件的系统方式,但是每次关机,再次开机导致配置的电台和旋转器数据消失,又得手动做重复繁琐的工作,虽然有先进的数字模式,但是这个繁琐和复杂的过程,以及UBUNTU界面没有WIN人机友好,让人望而却步。


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

           以我的机器为例(YAESU FT-100    ICOM R7000),在紫丁香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
安装完成后,
命令行输入:sudominicom -D /dev/ttyS4  -b 9600打开界面,按ctrl  A 在按 E,打开命令回显,这时,输入字符,会有回显,那么TX RX短接后,就是成对出现字符,比如输入R出现 RR,输入A出现AA,说明这个端口对应/dev/ttyS4


另一个检查232串口是否启动的办法,是用万用表量DTR脚和RTS脚的电压,用个针插入测量对电脑机箱地线电压,当命令行输入:sudo minicom -D /dev/ttyS4  -b9600就会出现这个电压达到10V,说明这个端口对应/dev/ttyS4
对USB转TTL线
命令行输入:sudominicom -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  -Crts_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  -t7777

说明: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盘里可以建个目录,我这里省略,
另外,我上面用脚本启动连接电台的命令似乎有点多,在笨点办法,直接把3个脚本里的命令,直接在命令行里复制粘贴,执行也可以,不过LIVECD每次启动后的串口权限还得重新打,比如sudo chmod 666 /dev/ttyUSB0,然后再执行连接电台的命令。
第三步,保存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的中频瀑布,因为频率部分可以鼠标调整,我调到这个干扰频点看信号强度,因为没有完全对准铁塔,这个信号强度不算最强。
介绍结束,附件为gpredict 英文说明。DE BG9AGZ 73
gpredict-user-manual-1.3.pdf (1921 K) 下载次数:20























[ 此帖被BG9AGZ在2017-06-06 00:13重新编辑 ]
学而不思则罔,思而不学则殆,再多的知识不表达,不表现出来,时间久了慢慢就会全部忘记,最后还是什么都不会,知识也是有保质期的。
离线BG4DZY
发帖
558
只看该作者 1楼 发表于: 2017-06-05
在Linux下,C盘是什么?
离线BG2BHC
发帖
5314
只看该作者 2楼 发表于: 2017-06-05
谢谢AGZ!

hamlib我们装在了LiveCD里,但是只做了连RAS-1旋转器的脚本(home下的rot.sh,快捷方式是左边栏倒立的卫星图标),用它控制电台什么的我们也没试过。能解决这个就方便多了!

最开始的时候星上的音频增益有点高,需要上行电台麦克风增益调小一点才能获得比较好的音质,昨天上注了新的参数,效果应该改善了一些。附件是K4KDR上传的他和N6RFM的通联录音。

2017-06-05-0341--LilacSat-1.mp3 (1123 K) 下载次数:18 [试播]
有些梦想一直会在。

------“火腿”是业余无线电爱好者的意思吗?听上去很好吃。
------我的呼号后缀是BHC,意思是“不好吃”…
离线BG9AGZ
发帖
282
只看该作者 3楼 发表于: 2017-06-06
@BG2BHC      那个工具我打不开,不知道是不是镜像出小问题了,而且那个是无法保存参数的。

我上面的原理和过程还是有点麻烦,现在有个新的办法,附件为一个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文件夹

接收机可以做扫频。
还有个注意点是,gpredict启动电台控制和旋转器控制会有卡死现象,过几秒可以恢复,这个问题是,当开的文件太多,影响了hamlib 给gpredict索要数据的命令,导致gpredict处于等待命令中,软件会变黑假死。消除影响hamlib原因,就可以完全消除。

代码如下:
-----------------------------------------------------------------------------------------------

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")



python gp.rar (1 K) 下载次数:2




[ 此帖被BG9AGZ在2017-06-06 20:27重新编辑 ]
本帖提到的人: @BG2BHC
学而不思则罔,思而不学则殆,再多的知识不表达,不表现出来,时间久了慢慢就会全部忘记,最后还是什么都不会,知识也是有保质期的。
离线bg2kaj
发帖
1008
只看该作者 4楼 发表于: 2017-06-06
新参数的下行好听多了
BG2KAJ 吉林长春 (KG2KAJ JJ1RRS)

国内数据通联欢迎论坛私信换取QSL卡片
WAPC达成了! WAJA达成了!奔向JCC和JA FM DX……
我写过的关于业余无线电的文章汇总:bg2kaj.cn
离线bi4txr
发帖
41
只看该作者 5楼 发表于: 2017-06-08
不明觉厉 老铁越钻研越深了
呼号 BI4TXR B类
vhf  4*10el阵列
卫星天线lqv云台简易版 u10 v5
hf 倒v三波段天线
bi4txr@qq.com
江苏省邳州市时光隧道
离线m6sig
发帖
3326
只看该作者 6楼 发表于: 2017-07-06
读楼主的这帖子好些日子了,今天终于可以回复。

本帖是我抛弃原本的“改别人做好的 Live 镜像就好”的路线,走上“做自己从头开始做的 Live 镜像”之路的最后一棵稻草。

说 Linux 是门槛的人只是被微软洗脑太过严重的朋友,只要熟悉了 Linux 就没问题了。

言归正传,楼主关于保存 Gpredict 的设置的方法实际上走了弯路,假如不喜欢使用 unetbootin 配置 persistence,可以使用脚本一键设置。检查 COM 其实也不需要另装软件。原本还想贴出一键配置地理位置信息脚本,结果记忆中本帖貌似有提及的设置自己地理位置信息的内容不见了。所以只好写到这里了……尴尬……
CS: M6SIG   LOC: JO01
新浪微博:@熊猫阿B0
不再更新的旧数据: http://t.cn/RhrIAYe

手机用操作证考试题库电子书:http://www.hellocq.net/forum/read.php?tid=335634

7193 4316 2092 1316 6516 0115 9980 http://www.hellocq.net/forum/read.php?tid=346333

希望中国业余无线电有将自己的44/8资源用到实处的那一天!实现最现代化的业余无线电应急通信骨干!
离线BG9AGZ
发帖
282
只看该作者 7楼 发表于: 2017-07-06
                 可能写的太多,你没有理解,这个脚本的目的就是保存gpedit一些设置,比如自己的网格,然后每次开机后,通过脚本自动恢复设置,不需要再次手动修改gpedit,
关于电台和旋转器串口的检测和自动启动脚本的加入,是因为这个livecd的带界面的hamlib是有问题的,自己只是又重写了hamlib脚本,另外LIVECD是哈工大团队制作的,是唯一可以随便任何电脑使用的好方法,源码没有,自己制作iso是不可能的,也完全没有必要这样做。
               其实一台电脑实现GNUradio下行解码和旋转器和电台控制有些繁琐,最好还是自己熟悉的方法,开两台电脑,毕竟太多人习惯WIN系统。

[ 此帖被BG9AGZ在2017-07-06 13:36重新编辑 ]
学而不思则罔,思而不学则殆,再多的知识不表达,不表现出来,时间久了慢慢就会全部忘记,最后还是什么都不会,知识也是有保质期的。
离线m6sig
发帖
3326
只看该作者 8楼 发表于: 2017-07-07
回 BG9AGZ 的帖子
BG9AGZ:                 可能写的太多,你没有理解,这个脚本的目的就是保存gpedit一些设置,比如自己的网格,然后每次开机后,通过脚本自动恢 .. (2017-07-06 13:33) 

> 可能写的太多,你没有理解,这个脚本的目的就是保存gpedit一些设置,比如自己的网格,然后每次开机后,通过脚本自动恢复设置,不需要再次手动修改gpedit,

我所说的绕弯路就是如此,只需要几行的脚本就可以设置所有东西,没有必要这么复杂。假如不用 unetbooin 设置 persistence 的话,另外拿一个 U盘 存脚本,每次开机之后插 U盘 双击脚本运行即可。

至于 hamlib 脚本,没弄错的话自带的脚本是专门针对和新加坡那位爱好者的电台的状况而定制的。和他采用的转向器控制设备不一样的爱好者们需要根据自己的情况自行改动命令参数。

另外,该 ISO 的原始下载链接是一个 gpg 一体式签名文件。上传人为了所有使用的爱好者的信息安全考虑而采取的做法,将验证签名后得到的 ISO 上传到百度网盘而不是直接将原始带签名的文件上传,对大家有害无益。
CS: M6SIG   LOC: JO01
新浪微博:@熊猫阿B0
不再更新的旧数据: http://t.cn/RhrIAYe

手机用操作证考试题库电子书:http://www.hellocq.net/forum/read.php?tid=335634

7193 4316 2092 1316 6516 0115 9980 http://www.hellocq.net/forum/read.php?tid=346333

希望中国业余无线电有将自己的44/8资源用到实处的那一天!实现最现代化的业余无线电应急通信骨干!
离线BG9AGZ
发帖
282
只看该作者 9楼 发表于: 2017-07-11
回 m6sig 的帖子
m6sig:> 可能写的太多,你没有理解,这个脚本的目的就是保存gpedit一些设置,比如自己的网格,然后每次开机后,通过脚本自动恢复设置,不需要再次手动修改gpedit,
我所说的绕弯路就是如此,只需 .. (2017-07-07 22:28) 

不错的逻辑,如果使用另外的U盘做备份数据和初始化数据,那么得在脚本中增加指定U盘型号识别代码部分,希望这样不会增加太多代码。
学而不思则罔,思而不学则殆,再多的知识不表达,不表现出来,时间久了慢慢就会全部忘记,最后还是什么都不会,知识也是有保质期的。
离线m6sig
发帖
3326
只看该作者 10楼 发表于: 2017-07-11
回 BG9AGZ 的帖子
BG9AGZ:不错的逻辑,如果使用另外的U盘做备份数据和初始化数据,那么得在脚本中增加指定U盘型号识别代码部分,希望这样不会增加太多代码。
 (2017-07-11 15:16) 

反正有U盘,不一定非得要出全自动的,也不非得要 python 脚本。虽然不是很明白为什么不做 persistence。但是最新的 Live 镜像已经支持安装到磁盘了。验证签名刷 U盘 里引导机器之后分区安装再确认引导配置即可。当然,需要注意不要把自己硬盘里的数据全毁掉了,恢复不过来的。
CS: M6SIG   LOC: JO01
新浪微博:@熊猫阿B0
不再更新的旧数据: http://t.cn/RhrIAYe

手机用操作证考试题库电子书:http://www.hellocq.net/forum/read.php?tid=335634

7193 4316 2092 1316 6516 0115 9980 http://www.hellocq.net/forum/read.php?tid=346333

希望中国业余无线电有将自己的44/8资源用到实处的那一天!实现最现代化的业余无线电应急通信骨干!
离线m6sig
发帖
3326
只看该作者 11楼 发表于: 2017-07-11
回 BG9AGZ 的帖子
BG9AGZ:                 可能写的太多,你没有理解,这个脚本的目的就是保存gpedit一些设置,比如自己的网格,然后每次开机后,通过脚本自动恢 .. (2017-07-06 13:33) 

> 源码没有
https://github.com/bg2bhc/gr-lilacsat/
LO-90 是业余卫星!这是什么仇什么怨?没有岂不被人骂加密了?

> 自己制作iso是不可能的,也完全没有必要这样做。

那要不我就不做了? @bg2bhc
[ 此帖被m6sig在2017-07-11 21:12重新编辑 ]
本帖提到的人: @BG2BHC
CS: M6SIG   LOC: JO01
新浪微博:@熊猫阿B0
不再更新的旧数据: http://t.cn/RhrIAYe

手机用操作证考试题库电子书:http://www.hellocq.net/forum/read.php?tid=335634

7193 4316 2092 1316 6516 0115 9980 http://www.hellocq.net/forum/read.php?tid=346333

希望中国业余无线电有将自己的44/8资源用到实处的那一天!实现最现代化的业余无线电应急通信骨干!
离线BG9AGZ
发帖
282
只看该作者 12楼 发表于: 2017-07-12
          感谢你能关注这个问题,其实语言的表达不一定非常准确,这个确实有源码,可能你不知道,从紫丁香2开始,断断续续想把GNURADIO安装在自己的UBUNTU上,几年都没成功,除了linux水平不高, 什么源啊,IP被墙 ,GNURADIO编译中的错误或者依赖问题都有,不光我,可能很多感兴趣的HAM,都想把GNURADIO安装在自己硬盘的ubuntu上,至少我没听说谁能搞成这个事,做LIVECD的事情,就失败了。另外想把网上的LIVECD直接从硬盘引导,也是失败,也是一些无法认知的问题。毕竟业余水平,花不了多少时间,能搞好就行,搞不好失败也没啥。
         放网盘的LIVECD,ISO,主要考虑很多HAM对于gpg 解密不熟悉。
        毕竟很多HAM的喜欢在操作和使用,折腾软件,折腾硬件很费时间,没人指导失败可能性非常大。


[ 此帖被BG9AGZ在2017-07-12 13:53重新编辑 ]
学而不思则罔,思而不学则殆,再多的知识不表达,不表现出来,时间久了慢慢就会全部忘记,最后还是什么都不会,知识也是有保质期的。
离线bg2dgx
发帖
11
只看该作者 13楼 发表于: 2017-08-23
linux  的live cd  有能保存的模式  
需要的话我给你提供些资料