DIY流星观测站是一个开源的流星观测项目,旨在为广大流星爱好者(天文爱好者)提供一个可实践的科普平台,引导大家手动打造一个属于自己的流星观测站。该项目面向市场上成熟的廉价硬件器材进行设计,如使用通用的工业相机和镜头组装流星观测望远镜,使用树莓派(Raspberry Pi 3,RPi3)进行流星观测数据的处理和存储。其原型是国外流星研究机构CMN开发的流星自动观测软件,现阶段该项目与CMN的最新版本同步,将来会对该项目进行本地化定制。软件一直在升级当中,热烈欢迎bug反馈。
上图所示,为GWAC项目观测到的火流星图像,GWAC项目是国家天文台空间科学部设计的超大视场光学巡天相机阵,其每天可观测到几百颗流星。该流星观测站与GWAC项目原理类似,都是通过望远镜来观测光学波段的目标,但是该流星观测站现在的性能指标与GWAC相比相差十万八千里。希望有志同道合的小伙伴一起合作,共同推进该项目,期待在不远的将来咋们这个项目也能每天拍到很多很多流星。
QQ交流群:137357505,进群问题的答案是该项目的gitee项目名称DIY-MeteorStation。
相关系列文章
图片展示
DIY流星观测站组装完全体,模拟相机连线复杂些,数字相机连线简单些。
DIY流星观测站晚上11点试拍,拍摄距离大于100米。左图为无照明环境下的图像。右图为楼顶图像,有天光背景照射。
DIY流星观测站拍摄到的流星示意图。
项目背景
1,重温小时候的点滴
夏天的时候,晚上洗完澡,躺在平房上数星星,时不时一颗流星一闪而过,赶紧许个愿:希望明天不上课,和小伙伴们一起去戳鸟窝。转眼间二十多年过去了,现在城市上班,晚上走在路上,已经习惯了抬头一偏灰蒙蒙的天空,甚至已经忘了要抬头看天了。我们滑过的流星、眨眼的星星、唱歌的鸡,捉老鼠的中华田园犬、翱翔的鸟、呱呱的青蛙等等等都去哪儿了?既然在城市里看不到流星(星星),那能否通过现在的技术手段帮助我们看到流星?
2,水深火热的中国中小学教育
幼儿园小学化、小学初中化、初中高中化,孩子们有着数不完的作业和补习班。孩子们的童年生活已然失去了接触色彩缤纷的自然世界的机会,突然觉得我们的儿时时光还是挺幸福的!!话说回来,既然我们无法改变孩子们现在的应试现状,那我们能否让孩子享受现在的科技红利?通过市场上成熟的工业产品组装一套流星观测设备,让孩子们体验动手组装望远镜乐趣的同时,也可以通过设备近距离观测星空,体验科学探索宇宙奥秘的乐趣。
3,国内科普教育
国内公益组织一片星空在天文科普教育上做的非常好,该组织经常在北京的中小学校和社区举办天文科普活动,利用天文科普观测设备帮助学生们近距离接触星空。但是公益科普组织的力量毕竟是有限的,只能照顾到极少数人群。如何让更多的人(尤其是学生群体)近距离接触星空,探索大自然的奥秘,是我们大家都应该关注并思考的问题。
项目目标
该项目聚焦流星观测,让大家能看到流星,能详细测量流星的物理参数(如速度,质量,甚至物质组成),甚至能推测流星的来源。
1,DIY便携式流星观测站
面向动手能力强,有一定计算机基础的天文爱好者。使用开源流星观测软件、超小型移动计算机(如树莓派,Raspberry Pi,RPi)和商用监控摄像头设计便携式流星观测站,这样任何人可以将设备放在自己家屋顶,在屋里躺在床上检测流星的观测结果。
2,公共流星观测站
在郊区或偏远山区(夜天光少,晴天多)设置一个自主化流星观测站点,将站点的视频流实时发布到网上,这样大家可以在网上看到实时的星空了。选址方案:1)自家屋顶:个人感觉农村老家比较适合:有宽带支持,家用电,维护方便;2)官方支持:寻求与国家天文台合作,在国家天文台的野外观测站放置一个流星观测设备。
当前软件功能如下
- 自动拍摄视频:自动从黄昏开始运行,在黎明结束运行。一年四季的黄昏和黎明时间是不一样的,所以每天的开始和结束时间并不相同。
- 图像压缩算法:将连续的256帧图像压缩为4帧图像,详细压缩算法请参考论文(Jenniskens et al., 2011 CAMS)。
- 实时探测火流星。
- 从压缩文件中探测流星。
- 从压缩文件中提取恒星目标。
- 天文位置和测光定标。
- 对每天晚上的结果自动重新进行天文位置定标。
- 自动上传结果到中心服务器,如果指定了中心服务器,并开启了该功能。
- 手动检查火流星和流星。
软硬件需求
该指南面向有Linux和树莓派使用经验的用户。新手请尽量按照下面的步骤依次进行操作。
树莓派
- 树莓派(RPi3):观测站采用树莓派3进行流星数据处理。
- 存储卡:新买的树莓派默认不带存储卡,需要自己配置一个。观测站在运行时每天晚上会产生几GB的数据,为了能存储至少一个星期的数据,最好能为树莓派准备一个大于等于64GB的microSD存储卡。
- 电源:电源规格为5V,最大电流至少为2.5A。使用稳定的电源,会减少后面运行时莫名其妙的故障。尤其是在冬天低温天气观测时,稳定的电源能保证系统的正常运行。
- 散热风扇和散热片:夏天时需要。
- 实时时钟模块:树莓派电脑本身不带电池,每次断电后,系统的时间会丢失。如果树莓派一直连接在网络上,可以设置系统自动同步网络时钟。如果树莓派不在网络上,就需要为树莓派电脑增加一个实时时钟模块(DS3231带电池),该模块可以保持电脑在关机后时间不丢失。具体设置过程请参考Guides/rpi3_rtc_setup.md。
相机
系统早期版本基于模拟相机进行开发,因而对模拟相机的支持比较完备。数字相机的支持正在测试当中,敬请期待。
1. 相机:系统测试相机为Sony Effio 673 CCTV相机,该相机使用12V的电源供电。
1. 镜头:系统测试镜头为4或6毫秒焦距的广角镜头。4毫米的镜头视场大约为64*48度,6毫米的镜头视场比4毫米的稍小。如果镜头上有近红外滤光片( IR-cut filter),最好去掉该滤光片。
1. 数字视频采集卡:将相机产生的模拟视频信号数字化,以便树莓派处理。系统选用EasyCap UTV007采集卡,该采集卡为USB采集卡,可直接接在树莓派上。我们测试了多种型号的采集卡,发现UTV007与树莓派的兼容性最好。
软件依赖
项目中树莓派3选择Raspbian Jessie操作系统,详细安装教程请参考树莓派安装。
树莓派上的软件依赖包
- git
- mplayer
- Python2.7 or Python 3.5
- python2.7-dev or python3-dev
- libblas-dev liblapack-dev
- libffi-dev libssl-dev
- Python libraries:
- gitpython
- astropy
- OpenCV 3 for Python
- PIL (i.e. python-imaging-tk)
- numpy (1.14.0 or later)
- scipy (1.0.0 or later)
- matplotlib (2.0.0 or later)
- cython (0.25.2 or later)
- pyephem (3.7.6.0 or later)
- paramiko
所有的python依赖包,会在运行setup.py时自动安装。如果想使用IP相机,则需要安装一个兼容gstreamer的OpenCV包,请参考opencv3_install.sh。
软件设置
设置时区为UTC
UTC为天文领域通用时间格式。在不同地区和国家之间合作交流时,UTC时间会非常方便。
开启watchdog服务
watchdog服务可定时检查树莓派电脑是否工作正常或死机,如果它发现树莓派宕机了,会重启树莓派电脑。详细设置请参考:Guides/enabling_watchdog.md。
下载代码
git clone https://gitee.com/mseeworld/DIY-MeteorStation.git
安装代码
在RMS目录下运行
sudo python setup.py install
设置视频编码格式(仅针对模拟相机)
在连接好EasyCap数字视频采集卡之后,我们需要检查视频设置是否正常。
NTSC制式的相机(北美地区)
在命令行中运行:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:input=0:norm=NTSC
PAL制式的相机(欧盟地区)
首先在命令行中运行:
mplayer tv:// -vo null
几秒钟之后,按Ctrl+C杀掉进程,然后在运行命令:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:input=0:norm=PAL
编辑配置文件:
开始运行前,首先需要对配置文件.config进行本地化设置:
[System]
Station ID
观测站的唯一编号,可以随便取一个3位数数字。
GPS location
观测站所在位置的经纬度坐标,该坐标用来自动计算每天的黄昏和黎明时间,用于控制系统的开始和结束运行时间。经纬多坐标可以通过手机的GPS软件查询,也可以通过百度等网站查询:百度页面查询经纬度。
[Capture]
Resolution and FPS
对不同的相机,需要正确设置相机的分辨率和帧频。对模拟相机可参考下表。
参数 | PAL | NTSC |
---|---|---|
相机宽 | 720 | 720 |
图像高 | 576 | 480 |
帧频 | 25.0 | 29.97 |
运行代码
开始自动观测流星
在RMS目录下运行命令
python -m RMS.StartCapture
程序会自动每天在日落时开始运行,在日出时结束运行。
如果需要立即运行程序,可添加参数 -d HH.hh,HH.hh代码需要运行的小时数
python -m RMS.StartCapture -d 1.5
查看压缩视频文件
运行CMN_binViewer可以查看硬盘上的压缩视频文件。
查看火流星文件:
python -m Utils.FRbinViewer ~/RMS_data/YYYMMDD_hhmmss_uuuuuu
YYYMMDD_hhmmss_uuuuuu是每个观测夜的目录名
恒星提取和流星探测
如果想要历史记录图像进行重新处理,如恒星提取和流星探测,可以运行命令:
python -m RMS.DetectStarsAndMeteors ~/RMS_data/YYYMMDD_hhmmss_uuuuuu
该命令会处理一个观测夜目录(YYYMMDD_hhmmss_uuuuuu)中所有的数据,需要运行一段时间。运行完成后,会产生一个名为CALSTARS 的结果目录。