diff --git a/Cargo.lock b/Cargo.lock index 0dfd7cf..ce30f6a 100644 Binary files a/Cargo.lock and b/Cargo.lock differ diff --git a/Cargo.toml b/Cargo.toml index cd677b7..f56d4c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,3 +21,4 @@ serde_json = "1.0" serde_derive = "1.0" libsqlite3-sys = { version = "*", features = ["bundled"] } uuid = { version = "0.8", features = ["serde", "v4"] } +wiringpi = { git = "https://github.com/jvandervelden/rust-wiringpi.git " } diff --git a/build.rs b/build.rs new file mode 100644 index 0000000..028e4bf --- /dev/null +++ b/build.rs @@ -0,0 +1,4 @@ +fn main() { + #[cfg(any(target_arch = "arm", target_arch = "aarch64"))] + println!("cargo:rustc-link-lib=dylib=wiringPi"); +} diff --git a/src/main.rs b/src/main.rs index 623c982..355c704 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,7 @@ extern crate core; use actix_web::{middleware, web, App, HttpServer}; use actix_web::middleware::normalize::TrailingSlash; use env_logger::{Builder, Env}; +use wiringpi::pin::Value::High; mod db; mod handlers; @@ -20,6 +21,12 @@ async fn main() -> std::io::Result<()> { Builder::from_env(Env::default().default_filter_or("info")).init(); + let pi = wiringpi::setup(); + + //Use WiringPi pin 0 as output + let pin = pi.output_pin(0); + pin.digital_write(High); + HttpServer::new(|| { App::new() .wrap(middleware::DefaultHeaders::new()