# HTTP
Click to show Cargo.toml ```toml # ... [dependencies] # Include the library configured for the raspberry pi and with http enabled sybot_lib = { version = "0.8.2", features = [ "rasp", "http" ] } # ... ```

```rust extern crate alloc; use core::cell::RefCell; use alloc::rc::Rc; use actix_web::{HttpServer, App}; use sybot_lib::{JsonConfig, SyArm, Robot}; use sybot_lib::intpr::gcode::init_intpr; use sybot_lib::http::create_robot_webserver; #[actix::main] async fn main() -> Result<(), std::io::Error> { HttpServer::new(move || { // Load the standard-partlibs in order to use motor names as data // // ```json // "ctrl": { // "consts": "MOT_17HE15_1504S", // Motor name, see // // // "pin_dir": 17, // "pin_step": 26 // }, // ``` let libs = sybot_lib::partlib::create_std_libs(); // Create the robot out of the [configuration file] // (https://github.com/SamuelNoesslboeck/sybot_lib/blob/master/res/SyArm_Mk1.conf.json) let mut syarm = SyArm::from_conf( JsonConfig::read_from_file(&libs, "res/SyArm_Mk1.conf.json") )?; // Create a new interpreter in a [std::rc::Rc] let intpr = Rc::new(RefCell::new(init_intpr())); // Create the webserver create_robot_webserver::(syarm, intpr, App::new()) }).bind(("127.0.0.1", 8080))? // Bind the webserver .run() .await } ```