相关系列文章
该教程的目的是快速引导流星爱好者(天文爱好者)搭建一个完整的流星观测站,并通过该观测站观测流星。建站所需的器材都是市场上成熟的的工业产品,价格在大众可以接受的范围之内,所有器材都可以在网上买到。该项目为开源项目,欢迎大家的参与和讨论。 更多详细信息请参考项目的源码站点。
1 相关配件
1.1 必须器材列表
- 树莓派电脑:Raspberry Pi 3(RPi3)
- 树莓派电源:电压5V,最大电流至少2A
- microSD卡:大于等于64GB,树莓派的系统盘,U盘不能作为系统盘。
- microSD读卡器:向microSD卡中安装树莓派操作系统,读取microSD卡的数据,从树莓派拷贝数据。
- 3厘米×3厘米风扇:树莓派散热风扇。
- 铝合金散热片:一共需要3个。树莓派散热片,选择有粘胶的,可以直接贴在树莓派的芯片上。
- 时间模块:DS3231时间模块,树莓派关机后,可保存树莓派的时间。
- USB视频采集卡(UTV007):将模拟相机的模拟视频信号转换为数字信号。
- 模拟相机:Sony673相机或WATEC WAT-902H相机,配置一个4mm或6mm的镜头。其他镜头也行,观测效果会略有不同。
- 12伏电源:模拟相机电压一般为12V。
- HDMI线:树莓派视频输出接口为HDMI接口,如果显示器不支持HDMI接口,则需要配置一个HDMI转VGA接口的线。
1.2 可选器材列表
- 万用表:检验新买回的电源的电压是否正常,相机组装及故障时也会需要。
- 电烙铁、锡丝、夹子、绝缘胶带、松香:电子产品DIY必备物品。
- 相机板镜头接口:如果直接购买相机板,则需要在购买配套的镜头接口。
- 相机盒:网上买的工业相机,有时候没有相机盒。
- AUTO IRIS接口:自动光圈控制线接口。不同的品牌和型号之间,自动光圈接口中4根线的对应位置会有所差异,或许需要手动调整接线。
- AV延长线:延长模拟相机的视频输出线。
- C/CS转接口:工业相机和镜头有C接口和CS接口之分,用于转接不匹配的相机和镜头。
- USB延长线:USB视频采集卡的USB线偏短,接上延长线后方便操作。
- 三脚架:测试时放置相机。
2 DIY流星观测站硬件组装
所需器材列表:树莓派电脑(RPi3),5V树莓派电源,microSD卡,microSD读卡器,一个3厘米*3厘米风扇,3个铝合金散热片,一个DS3231时间模块
2.1 安装Raspbian操作系统
在树莓派官网下载最新版Raspbian镜像,通过microSD卡读卡器将Raspbian镜像安装到microSD上,详细的安装过程请参考官网教程Raspbian安装
2.2 安装散热片
将CPU和GPU的正反两面各粘一个散热片
2.3 安装树莓派保护壳:
上面两幅图是网上最便宜的“亚克力”保护壳,其实就是硬塑料,这种保护壳比较脆,在调试时需要频繁拆开外壳时,会非常不方便。左下角是另一种外壳,相对来说比较结实方便,右下角为安装好外壳的树莓派。
2.4 安装DS3231时间模块和风扇
DS3231时间模块应该插在靠里一排GPIO的前四个引脚上,如上图左图所示。 风扇接口应该插在靠外一排GPIO的第2和3个引脚上,如上图右图所示。
2.5 树莓派连接电脑
所需器材列表:
- 显示器:查看显示器是否有HDMI、DVI或VGA接口
- 视频线:HDMI线、HDMI转VGA线、或HDMI转DVI线,取决于显示器的视频输入接口
- USB鼠标和键盘:树莓派一共4个USB接口,测试时或许会不够用,使用USB键鼠套装可以省一个USB接口。
- 网线:更新系统,安装软件
2.6 连接模拟相机(数字相机的支持正在研发当中)
所需器材列表:USB视频采集卡(UTV007),Sony673相机或WATEC WAT-902H相机,12V电源,两公头AV线。
取一根两端都是公头的AV线,一段接在相机的视频输出接口(AV母头),另一端接在USB视频采集卡(UTV007)的黄色视频输入母头。
2.7 联机测试
将相机和树莓派电脑连接起来,测试电脑是否能从相机正常采集图像。
打开终端(可通过快捷方式Crtl+Alt+T打开),安装mplayer:
sudo apt-get install mplayer
通过mplayer可以预览相机的视频,如果是NTSC相机,则在命令行运行:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:input=0:norm=NTSC -vo x11
如果是PAL相机,则在命令行运行:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:input=0:norm=PAL -vo x11
请注意,上面两条命令中的“driver=v4l2”,“l”是小写的L。
如果一切正常,将会弹出一个窗口,窗口中会显示相机拍摄的视频。如果没有看到视频,请检查前面的步骤。
3 安装流星观测软件
3.1 安装相关依赖包
更新系统和系统中的软件包:
sudo apt-get update sudo apt-get upgrade
安装流星观测软件的依赖包:
sudo apt-get install git mplayer python-scipy python-matplotlib python2.7 python2.7-dev libblas-dev liblapack-dev at-spi2-core python-matplotlib libopencv-dev python-opencv python-imaging-tk libffi-dev libssl-dev
安装图形化文本编辑器:
sudo apt-get install gedit
安装python环境 更新pip
sudo pip install -U pip setuptools
安装并更新numpy
sudo pip install numpy sudo pip --upgrade numpy
安装其他python依赖包:
sudo pip install gitpython Pillow scipy cython astropy pyephem weave paramiko
3.2 设置时区和时钟模块
在天文领域,时间是非常重要的一个属性。我们观测的每一幅图像都需要有一个准确的时间标识,这样才能准确计算天文事件(如流星、引力波)的发生时间。
3.2.1 将树莓派的时区设置为UTC,在命令行中运行:
sudo dpkg-reconfigure tzdata
该命令会打开一个界面,选择“None of the above” ,然后选择“UTC”,之后退出。
3.2.2 设置时间模块
前面我们已经为树莓派添加了时间模块硬件,这里对时间模块进行设置,在树莓派关机后,时间模块能够保持系统的时间。
编辑文件/boot/config.txt:
sudo gedit /boot/config.txt
dtparam=i2c_arm=on
dtoverlay=i2c-rtc,ds3231
保存后关闭gedit,重启树莓派:
sudo reboot
3.2.3 移除伪时间模块fake-hwclock
sudo apt-get remove fake-hwclock sudo update-rc.d hwclock.sh enable sudo update-rc.d fake-hwclock remove
注释掉文件/lib/udev/hwclock-set的有-systz的那一行:
sudo gedit /lib/udev/hwclock-set
在“有-systz的那一行”前面加上“#”
3.2.4 将当前时间写入到时间模块中,并删除NTP服务:
sudo hwclock -w sudo apt-get remove ntp sudo apt-get install ntpdate
3.2.5 开机自动设置时间:
编辑/etc/rc.local,在exit 0前添加hwclock相关的命令
sudo gedit /etc/rc.local
sleep 1
hwclock -s
ntpdate-debian
exit 0
3.2.6 阻止系统自动修改时间
编辑/etc/default/hwclock文件,设置参数HWCLOCKACCESS=no
gedit /etc/default/hwclock
HWCLOCKACCESS=no
3.2.7 关闭自动更新时间的功能
在/lib/systemd/system/hwclock-save.service中注释掉下一行: ConditionFileIsExecutable=!/usr/sbin/ntpd
gedit /lib/systemd/system/hwclock-save.service
#ConditionFileIsExecutable=!/usr/sbin/ntpd
3.2.8 开启实时时间服务:
sudo systemctl enable hwclock-save.service
设置每15分钟更新一次时间,运行命令:
crontab -e
然后选择一个文本编辑器,在文件的最后面增加下面的内容:
*/15 * * * * ntpdate-debian >/dev/null 2>&1
然后重启系统
3.3 开启看门狗(watchdog)服务
有时候树莓派电脑会莫名其妙的死掉,通过看门狗服务可以在电脑死机后自动重启电脑。
3.3.1 安装看门狗服务
sudo apt-get install watchdog
3.3.2 加载看门狗模块
sudo modprobe bcm2835_wdt
3.3.3 自动加载模块
sudo gedit /etc/modules-load.d/bcm2835_wdt.conf
添加内容:
bcm2835_wdt
sudo gedit /lib/systemd/system/watchdog.service
在[Install]部分添加如下内容:
[Install]
WantedBy=multi-user.target
3.3.4 配置看门狗服务:
sudo gedit /etc/watchdog.conf
删除掉“#watchdog-device”开头的行的前面的“#”
同时也删除掉“#max-load-1 = 24”前面的“#”
3.3.5 设置看门狗服务为开机自启动并启动看门狗
sudo systemctl enable watchdog.service sudo systemctl start watchdog.service
3.4 安装流星观测软件
3.4.1下载软件源代码(默认将源码下载到用户根目录):
cd ~ git clone "https://gitee.com/mseeworld/DIY-MeteorStation.git"
3.4.2 安装流星观测软件:
cd DIY-MeteorStation sudo python setup.py install
3.4.3 编辑观测软件的配置文件.config
sudo gedit DIY-MeteorStation/.config
[System]
Station ID
观测站的唯一编号,可以随便取一个3位数数字。
GPS location
观测站所在位置的经纬度坐标,该坐标用来自动计算每天的黄昏和黎明时间,用于控制系统的开始和结束运行时间。
经纬多坐标可以通过手机的GPS软件查询,也可以通过百度等网站查询:[百度页面查询经纬度](http://api.map.baidu.com/lbsapi/getpoint/index.html)。
[Capture]
Resolution and FPS
对不同的相机,需要正确设置相机的分辨率和帧频。对模拟相机可参考下表。
| 参数 | PAL | NTSC |
|--------|-----|------|
| 相机宽 |720 |720 |
| 图像高 |576 |480 |
| 帧频 |25.0 |29.97 |
修改完成后,保存并退出gedit文本编辑器。
3.5 配置模拟相机(Sony673)
将相机和树莓派连接上,打开树莓派电脑,运行mplayer,进行相机参数的配置。
打开终端,如果是NTSC相机,运行如下命令:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:input=0:norm=NTSC -vo x11
如果是PAL相机,运行如下命令:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:input=0:norm=PAL -vo x11
现在可以通过mplayer看到相机的内容,按相机中间的“SET”按钮,会出现配置菜单。详细参数配置请参考DIY-MeteorStation/Guides/icx673_settings.txt文件,或者参考设置步骤:
LENS - MANUAL
SHUTTER/AGC - MANUAL (ENTER)
MODE - SHT+AGC
SHUTTER - 1/50
AGC - 18
WHITE BALLANCE - ANTI CR
BACKLIGHT - OFF
PICT ADJUSTMENT (ENTER)
MIRROR - OFF
BRIGHTNESS - 0
CONTRAST - 255
SHARPNESS - 0
HUE - 128
GAIN - 128
DEFOGG - OFF
ATR - OFF
MOTION DETECTION - OFF
.........
Press NEXT
.........
PRIVACY - OFF
DAY/NIGHT - B/W (OFF,OFF,-,-)
NR (ENTER)
NR MODE - OFF
Y LEVEL - -
C LEVEL - -
CAM ID - OFF
SYNC - INT
LANG - ENG
.........
SAVE ALL
EXIT
该参数适用于Sony673相机在夜晚观测流星时的情景,如果图像太暗,看不到任何星星,可以设置AGC=24。
如果mplayer显示一片绿,可以尝试在终端命令行中多次执行:
sudo killall mplayer
4 运行流星观测软件
4.1 测试运行0.1小时(6分钟)
python -m RMS.StartCapture -d 0.1
如果一切正常,会看到一个全白的窗口,在这个窗口的最上面会有一行显示“Maxpixel”。如果没有出现窗口,请参考下一节的“4.3常见故障”。
4.2 正式运行
python -m RMS.StartCapture
程序会自动每天在日落时开始运行,在日出时结束运行。
数据会保存在目录:/home/pi/RMS_data/CapturedFiles 观测到的流星目录:/home/pi/RMS_data/ArchivedFiles
4.3 常见故障
1) 有时候一些设备没有出现“Maxpixel”窗口,如果同时在日志文件中看到如下错误信息:
(StartCapture.py:14244): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
可能是缺少pyqt4-dev-tools库,安装该库:
sudo apt-get install pyqt4-dev-tools
然后通过如下步骤解决该问题:
python
import matplotlib
matplotlib.matplotlib_fname()
这时会打印出matplotlib包的配置文件路径“file_location”,编辑该文件:
sudo gedit “file_location”
将行
backend : gtk3agg
替换为
backend : Qt4Agg
并删除行
#backend.qt4 : PyQt4
前的注释
然后保存并退出。
2)Astropy库安装失败 报错:
ImportError: No module named _build_utils.apple_accelerate
或许是因为numpy的版本太老,运行下面命令更新numpy:
sudo pip --upgrade numpy
之后需要按照3.1从新安装相关的软件包。
5 运行结果
流星观测站观测到的流星图像。