[TITLE] [DATE] -------------------------------------------------------------------------------- [SETTITLE]Control Systems Club Web Controlled Servo Instructions [SETDATE]1-24-2019 Ok everyone, we'r going to start a web controlled servo project. What we want, is a webpage where you click "move servo" and a servo moves. It will work like this, with 4 components we have to write: The Front End The Backend The Servo Controller The Arduino Firmware +---Digital Ocean VPS--+ +--Control Computer--+ |HTML/CSS/JS Front End | HTTPS POST |C Servo Controller | |Golang Backend |====================| | +----------------------+ +--------------------+ || || ||H ||U ||T ||S ||T ||B ||P || ||S ||S || ||e +-Client Computer-+ ||r | Some sort of | ||i | Browser | ||a | | ||l | | || | | +----------------------+ +-----------------+ |C/C++ Arduino Firmware| | | +----------------------+ || ||S ||e ||r ||v ||o || ||W ||i ||r ||e || +-Servo-+ | | +-------+ The Frontend will consist of html templates, as well as supporting css and js files, that will implement a simple UI that allows the user to click on a button that sends a POST request to the backend to move the servo. W3 Forms Tutorial Inline CSS Tutorial CSS Display Property Tutorial The Backend will be a Golang executable that will be listening for HTTPS connections, and serves the frontend, as well as listen for POST requests from both the Frontend and the Control Computer. A POST request from the frontend updates the desired state of the servo, and a POST request from the Control Computer will update the actual state. Both the Actual state and the desired state should also be served as well. Go net/http and html/template Libraries Tutorial The Servo Controller will poll the Backend for the desired state, communicate this to the Arduinoi via the RS-232 Library, and return this desired state via POST to the backend so as to update the actual state. RS-232 Library RS-232 Example cURL API cURL Code Examples The Arduino Firmware will commands over the USB Serial Wire, and output that to the servo. Arduino Serial Tutorial Arduino Servo Tutorial