基于树莓派的流星雨监测系统(RMS)的搭建

简介: 该文介绍了基于树莓派的流星雨监测系统的改造系列,包括改造的第二和第三部分。作者分享了选用索尼IMX291 USB摄像头和大光圈镜头的设备选型,并提供了树莓派的固定及防反光处理方法。文章简化了RMS安装过程,强调了针对USB摄像头用户的安装步骤,通过创建venv、安装依赖库和脚本实现开机自动运行。此外,还调整了系统参数以适应城市光污染环境,并修改了监测时间以避免室内灯光干扰。



本系列第二篇文章:基于树莓派的流星雨监测系统(RMS)的进一步改造(1)_delacroix_xu的专栏-CSDN博客


本系列第三篇文章:基于树莓派的流星雨监测系统(RMS)的进一步改造(2)_delacroix_xu的专栏-CSDN博客


背景:

近期开始使用一个开源项目,在树莓派4B上玩耍。监测流星雨并存储下来。


GitHub - CroatianMeteorNetwork/RMS: RPi Meteor Station


但官方文档略显复杂,此文章比较适用于试用USB摄像头的用户。如果您使用IP cemera rtsp方式接入,则需要参照官方文档进行。


设备选型

按照官方建议,选择索尼IMX291作为基础的摄像头了,某宝搜索,可以看到很多。选择一个USB3.0接口的。不贵,大概200多RMB


接下来要选择镜头,某宝购买摄像头会自带一个广角镜头,一般是光圈不大的。建议再购买大光圈的镜头。比如F1.2或F1.0的黑光镜头。M12接口即可。


接下来要选择树莓派,官方推荐树莓派4b。原因是三个进程合起来要试用2GB左右的内存,树莓派3b已经无法满足需求。至少要树莓派4b。


第一步,树莓派固定在墙上。用3M双面胶


image.png


摄像头用透明胶固定在玻璃上


image.png


最后关键一步,需要用几张纸给改起来,免得有玻璃反光。都是经验所得。楼下汽车路过,会有强光,之前有透明胶附着在摄像头周边,透明胶反光,会被误认为是火流星。


image.png


RMS安装过程

官方文档略显复杂,这里简化一下,对于需要使用IP camera  rtsp方式推流的,可以使用 insall_opencv4.sh进行安装。 对于我,则可以简化,不需要编译opencv。


仅仅需要安装所需的 python库,就够了


第一步,创建venv


参考: 关于Python3中venv虚拟环境 - syncd - 博客园


第二步,激活venv


source /home/pi/your_venv/bin/activate


第三部,安装各种依赖库


python -m pip install xxxxxxx  


由于GFW的原因,访问python官方pypi比较慢,这里推荐aliyun的国内镜像。


参考: python pip 切换阿里云镜像 - 静静别跑 - 博客园


参照官方文档,安装各种库


numpy scipy gitpython cython matplotlib 等


安装好依赖库后,再安装 setup.py


python setup.py install


这样RMS作为一个库,被安装到venv下


运行

python -m RMS.StartCapture


写个脚本, 开机自动启动

#!/bin/sh
set -x
. /home/pi/py37env/bin/activate
cnt=`ps aux| grep python | grep StartCapture | wc -l`
if [ $cnt -eq 0 ];then
  rm -f 1.txt
  nohup python -m RMS.StartCapture 1>1.txt 2>&1 &
fi

加入crontab 自动运行


*/10 * * * * cd /home/pi/Desktop/RMS/RMS_new && sh start_by_cron.sh > start.log 2>&1


修改参数适配大城市光污染

配置文件在RMS根目录下,文件名叫 .config


vim编辑 .config


修改的diff如下:

; Enable/disable saving a live.jpg file in the data directory with the latest image
-live_jpg: false
+live_jpg: true
 ; Enable/disable showing a slideshow of last night's meteor detections on the screen during the day
 slideshow_enable: false
@@ -114,7 +117,7 @@ win_pc_weave: -Wall
 [Upload]
 ; Flag for enabling/disabling upload to server
-upload_enabled: true 
+upload_enabled: false
 ; Delay upload for the given number of minutes
 upload_delay: 0
 ; Server address
@@ -190,7 +193,7 @@ distance_threshold: 70
 ; Maximum allowed gap between points
 gap_threshold: 150 
 ; Minimum range of frames that a line should cover (eliminates flash detections)
-line_minimum_frame_range: 6 
+line_minimum_frame_range: 2 
 ; Constant that determines the influence of average point distance on the line quality
 line_distance_const: 4 
 ; Ratio of how many points must be close to the line before considering searching for another line
@@ -202,7 +205,7 @@ max_lines: 5
 [MeteorDetection]
 ; Minimum number of stars required in order to run the detection
-ff_min_stars = 20 
+ff_min_stars = 1 
 ; Binning (only supported for videos, images, and vid files, but no FF files!)
 ; -------
@@ -252,7 +255,7 @@ gap_threshold_det: 50
 ; Minimum number of pixels in a strip
 min_pixels_det: 10 
 ; Minimum number of frames per one detection
-line_minimum_frame_range_det: 4 
+line_minimum_frame_range_det: 2 
 ; Constant that determines the influence of average point distance on the line quality
 line_distance_const_det: 4 
 ; Maximum time in seconds for which line finding algorithm can run
@@ -279,7 +282,7 @@ ang_vel_max: 51.0 ; deg/s
 ; Filtering by intensity
 ; By default the peak of the meteor should be at least 16x brighter than the background. This is the 
 ; multiplier that scales this number (1.0 = 16x).
-min_patch_intensity_multiplier: 2.5
+min_patch_intensity_multiplier: 0.25

说明:


line_minimum_frame_range是一个过滤规则,流星轨迹至少要持续多少frame,这里从原来的6帧,改为2帧


ff_min_start是一个过滤规则,不能达到识别到20颗行,就不会执行流星检测逻辑。这里改为1,只要画面里识别到一颗星,就会进行流星监测。


line_minimum_frame_range_det:这个参数,也是一个过滤器,由4改为2,至少4帧改为至少2帧


min_path_intensity_multiplier:这个参数,也是一个过滤器,要求流星要比背景亮多少倍才算流星,否则就不算流星。这里从原来的2.5修改为0.25。原因是大城市光污染大,背景比较亮


监测时间的修改

监测时间改为晚上11点以后,等屋子的等确定不亮了再开始。否则会引来很多飞虫,飞虫的轨迹,会被误判为火流星。



相关文章
|
5月前
|
传感器 数据采集 机器学习/深度学习
LabVIEW开发电机故障监测系统
LabVIEW开发电机故障监测系统
52 0
|
7月前
|
数据采集 监控 网络协议
LabVIEW开发工业设备远程在线状态监测
LabVIEW开发工业设备远程在线状态监测
36 2
|
6月前
基于树莓派的流星雨监测系统(RMS)——一些收货
该文是一个关于流星雨监测系统的系列文章汇总,包括搭建和改造两个部分,详细链接已提供。作者在英仙座流星雨期间使用该系统,捕捉到了几颗流星,并分享了因亮度不足未被程序识别的事件。此外,作者还发现了短暂而超级亮的未知闪光现象,怀疑可能是奇特天文事件,但无法解释,期望得到天文爱好者的帮助。文章附有多张闪光和普通流星的图片作为对比。
|
6月前
|
存储 Python
基于树莓派的流星雨监测系统(RMS)的进一步改造(1)
本文介绍了如何搭建和改造流星雨监测系统,主要涉及两个步骤。首先,文章提供了访问[此处链接](https://blog.csdn.net/delacroix_xu/article/details/119813807)来了解如何搭建系统。接着,针对系统输出的.bin文件格式,作者改造了FRbinViewer.py脚本,增加了输出MP4和GIF格式的功能。改造后的脚本可以根据用户选择将检测到的流星雨帧保存为.gif或.mp4格式,并提供了相应的参数设置。此外,文章还包含了代码示例以展示如何实现这一功能。
|
7月前
|
传感器 存储 数据采集
LabVIEW通过视频识别开发布氏硬度机自动化测量系统
LabVIEW通过视频识别开发布氏硬度机自动化测量系统
49 4
|
7月前
|
监控 安全 数据可视化
必备工具丨这三款局域网监控软件真不错
探索局域网监控利器:WorkWin、ManageEngine OpManager和SolarWinds NPM。WorkWin助你精确管理员工时间,保障企业合规运营;OpManager提供全面的网络、服务器和应用监控;SolarWinds NPM则以实时数据、自定义警报和可视化工具确保网络性能。提升效率,确保安全,这些工具不容错过![链接](https://www.bilibili.com/read/cv34857525)
136 0
|
7月前
|
传感器 数据采集 监控
毕业设计|基于51单片机的配电室远程监控系统设计环境检测GSM环境报警设计
毕业设计|基于51单片机的配电室远程监控系统设计环境检测GSM环境报警设计
111 0
|
存储 JSON 监控
公司对员工电脑监控软件中USB设备监测的代码实现
在现代企业环境中,为了确保信息安全和监控员工行为,一些公司使用电脑监控软件来追踪员工的活动。其中,USB设备监测是一项重要的功能,可以帮助公司检测和控制外部存储设备的使用。本文将介绍公司对员工电脑监控软件中USB设备监测的代码实现,并讨论如何将监控到的数据自动提交到指定网站。
254 0
|
Python
机器狗搭建记录2-树莓派连接舵机
机器狗搭建记录2-树莓派连接舵机
322 0
|
数据采集 存储 传感器
便携式钻孔测斜仪及探头的连接及使用方法
在所有的应用场合,通常要在土体的钻孔内安装测斜管。测斜管有四个槽口(图 1.2),以配合测斜仪探头的滑轮(图 1.1),探头通过电缆连接至数据仪,通过测量测斜管的竖直倾斜,来探测由于地层移动引起的倾斜、成孔质量、。测斜仪探头有两组小滑轮,距离相隔 0.5m,以 0.5m 为单位进行每一段的角度测量,通过每一段的倾斜角度可计算出每一段的水平偏移量,对所有测段相对水平偏移量进行积分即可得到钻孔内任意一点相对于参照点(孔底或孔顶)的水平位移量。
便携式钻孔测斜仪及探头的连接及使用方法