基于树莓派的流星雨监测系统(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点以后,等屋子的等确定不亮了再开始。否则会引来很多飞虫,飞虫的轨迹,会被误判为火流星。



相关文章
|
存储 域名解析 数据安全/隐私保护
离线云监测系统OCMS软件
OCMS 是什么? OCMS ( Offline Cloud Monitoring System)是利用人们熟知的稳定可靠的第三方电子邮件、FTP 服务商提供的数据永久存储服务作为中间环节,监测设备向服务器发送数据,监测软件从服务器获取数据的以非实时在线的方式工作的无线监测预警系统。 具有数据可靠、部署快捷、操作简单、无需在线等主要优势和特点。
离线云监测系统OCMS软件
|
4月前
|
数据采集 监控 网络协议
LabVIEW开发工业设备远程在线状态监测
LabVIEW开发工业设备远程在线状态监测
25 2
|
3月前
|
安全
手机kali终端,集成安全集成工具----使用arpspoof工具给电脑断网------断网,网络攻击手段
手机kali终端,集成安全集成工具----使用arpspoof工具给电脑断网------断网,网络攻击手段
|
3月前
基于树莓派的流星雨监测系统(RMS)——一些收货
该文是一个关于流星雨监测系统的系列文章汇总,包括搭建和改造两个部分,详细链接已提供。作者在英仙座流星雨期间使用该系统,捕捉到了几颗流星,并分享了因亮度不足未被程序识别的事件。此外,作者还发现了短暂而超级亮的未知闪光现象,怀疑可能是奇特天文事件,但无法解释,期望得到天文爱好者的帮助。文章附有多张闪光和普通流星的图片作为对比。
|
3月前
|
存储 Python
基于树莓派的流星雨监测系统(RMS)的进一步改造(1)
本文介绍了如何搭建和改造流星雨监测系统,主要涉及两个步骤。首先,文章提供了访问[此处链接](https://blog.csdn.net/delacroix_xu/article/details/119813807)来了解如何搭建系统。接着,针对系统输出的.bin文件格式,作者改造了FRbinViewer.py脚本,增加了输出MP4和GIF格式的功能。改造后的脚本可以根据用户选择将检测到的流星雨帧保存为.gif或.mp4格式,并提供了相应的参数设置。此外,文章还包含了代码示例以展示如何实现这一功能。
|
4月前
|
数据采集 存储 监控
LabVIEW起重机工作参数远程监测系统
LabVIEW起重机工作参数远程监测系统
31 1
|
4月前
|
存储 监控 安全
这些电脑监控软件简直太实用,必须分享
发现超实用电脑监控软件,解决员工网络管理难题!WorkWin提供远程监控、USB及带宽管理,确保企业资源安全高效使用。Cuckoo监控文件行为,及时预警恶意软件,保护电脑安全。GlassWire则实时展示网络流量和应用连接,助你把控网络安全与资源。提升效率,保障安全,不容错过![原文地址: https://www.bilibili.com/read/cv34367748]
128 4
|
4月前
|
监控 算法
LabVIEW开发异步电动机定子故障在线诊断系统
LabVIEW开发异步电动机定子故障在线诊断系统
22 0
|
4月前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
284 0
|
10月前
计算机维修的工具与设备
计算机维修的工具与设备。
59 1