Skip to main content

Crate bairelay_neolink_core

Crate bairelay_neolink_core 

Source
Expand description

Neolink-Core is a rust library for interacting with reolink and family cameras.

Most high level camera controls are in the bc_protocol module

A camera can be initialised with

use bairelay_neolink_core::bc_protocol::{BcCamera, BcCameraOpt, DiscoveryMethods, ConnectionProtocol, Credentials};
let options = BcCameraOpt {
    name: "CamName".to_string(),
    channel_id: 0,
    addrs: ["192.168.1.1".parse().unwrap()].to_vec(),
    port: Some(9000),
    uid: Some("CAMUID".to_string()),
    protocol: ConnectionProtocol::TcpUdp,
    discovery: DiscoveryMethods::Relay,
    credentials: Credentials {
        username: "username".to_string(),
        password: Some("password".to_string()),
    },
    debug: false,
    max_discovery_retries: 10,
};
let mut camera = BcCamera::new(&options).await.unwrap();

After that login can be conducted with

camera.login().await;

For further commands see the bc_protocol::BcCamera struct.

Re-exports§

pub use bc_protocol::Error;

Modules§

bc
Contains low level BC structures and formats The Baichuan message format is a 20 byte header, the contents of which vary between legacy and modern messages:
bc_protocol
Contains high level interfaces for the camera
bcmedia
Contains low level structures and formats for the media substream
bcudp
Contains low level structures and formats for the udpstream This module contains the protocol for dealing with UDP.