88 lines
2.9 KiB
TOML
88 lines
2.9 KiB
TOML
[package]
|
||
name = "meteor_detect"
|
||
version = "0.1.0"
|
||
edition = "2021"
|
||
authors = ["Meteor Detection Team"]
|
||
description = "A Raspberry Pi based meteor detection system"
|
||
|
||
[features]
|
||
# 默认features
|
||
default = []
|
||
|
||
# 如果在Linux上运行,则默认启用GPIO support
|
||
# 这确保rppal和embedded-hal依赖会被编译进来
|
||
[target.'cfg(target_os = "linux")'.features]
|
||
default = ["gpio"]
|
||
|
||
# 树莓派特定target配置
|
||
[target.'cfg(all(target_os = "linux", target_arch = "arm"))'.features]
|
||
default = ["gpio"]
|
||
|
||
# 64位树莓派target配置
|
||
[target.'cfg(all(target_os = "linux", target_arch = "aarch64"))'.features]
|
||
default = ["gpio"]
|
||
|
||
# 定义常规的features (全平台通用)
|
||
gpio = ["rppal", "embedded-hal"] # Feature to enable GPIO functionality
|
||
opencv-4-11-plus = [] # For OpenCV 4.11 and newer versions
|
||
|
||
[dependencies]
|
||
# Hardware interfaces
|
||
rppal = { version = "0.22.1", optional = true } # Raspberry Pi hardware access
|
||
serialport = "4.2.0" # Serial port for GPS
|
||
embedded-hal = { version = "0.2.7", optional = true } # Hardware abstraction layer
|
||
|
||
# Video processing
|
||
opencv = { version = "0.94.2" } # OpenCV bindings
|
||
image = "0.25.5" # Image processing
|
||
clang-sys = { version = "=1.4.0", features = ["runtime", "clang_14_0"] }
|
||
|
||
# Concurrency and async
|
||
tokio = { version = "1.28.0", features = ["full"] } # Async runtime
|
||
async-trait = "0.1.68" # Async traits
|
||
futures = "0.3.28" # Future utilities
|
||
|
||
# Data handling
|
||
dirs = "6.0.0"
|
||
toml = "0.8.20"
|
||
serde = { version = "1.0.160", features = ["derive"] } # Serialization
|
||
serde_json = "1.0.96" # JSON support
|
||
chrono = { version = "0.4.24", features = ["serde"] } # Date and time
|
||
rusqlite = { version = "0.34.0", features = ["bundled"] } # SQLite
|
||
|
||
# Networking and communication
|
||
rumqttc = "0.24.0" # MQTT client
|
||
actix-web = "4.3.1" # Web framework for REST API
|
||
reqwest = { version = "0.12.14", features = ["json"] } # HTTP client
|
||
gstreamer = "0.23.5" # GStreamer bindings for media streaming
|
||
gstreamer-rtsp-server = "0.23.5" # RTSP server
|
||
|
||
# Logging and monitoring
|
||
log = "0.4.17" # Logging facade
|
||
env_logger = "0.11.7" # Logger implementation
|
||
sysinfo = "0.33.1" # System information
|
||
|
||
# Utilities
|
||
anyhow = "1.0.70" # Error handling
|
||
thiserror = "1.0.40" # Error definitions
|
||
config = "0.13.3" # Configuration management
|
||
uuid = { version = "1.3.3", features = ["v4", "serde"] } # UUIDs
|
||
clap = { version = "4.2.5", features = ["derive"] } # Command line argument parsing
|
||
rand = "0.8.5" # Random number generation for sensor simulation
|
||
|
||
[dev-dependencies]
|
||
criterion = "0.4.0" # Benchmarking
|
||
mockall = "0.11.4" # Mocking for tests
|
||
|
||
[[example]]
|
||
name = "cams_detector_demo"
|
||
path = "examples/cams_detector_demo.rs"
|
||
|
||
[[example]]
|
||
name = "camera_demo"
|
||
path = "examples/camera_demo.rs"
|
||
|
||
[[example]]
|
||
name = "meteor_detection_system"
|
||
path = "examples/meteor_detection_system.rs"
|