E-Clerk

Team: SDMAY18-01 Website: https://sdmay18-01.sd.ece.iastate.edu Advisor & Client: Lee Harker Team Members

Rex Borseth Annie Steenson DeQuan Burnside Major: Software Major: Major: Software Engineering Team Role: Client Liaison Team Role: Project Manager Team Role: Software Reporter Technical Role: Embedded Technical Role: Technical Role: Backend Developer Developer

Nick Parsons George Zachariades Sandra Sebastian Major: Computer Engineering Major: Computer Engineering Major: Computer Engineering Team Role: Secretary Team Role: Treasurer Team Role: Hardware Reporter Technical Role: Hardware Technical Role: Systems Technical Role: Hardware Architect Administrator Engineer Project Plan Problem Statement

● ETG small equipment checkout

● Sub-optimal business hours

● Waste of precious faculty time

● Inefficient bookkeeping

● Low accountability Functional Requirements - Students

● Log in and out ● View available equipment ● Select an equipment item to checkout ● Determine checkout duration ● View currently checked out equipment (personal) ● Return equipment, close checkout record ● Report misuse or broken items Functional Requirements - Admin

● Log in and out ● C.R.U.D. available equipment ● Determine max checkout durations for items ● C.R.U.D. student users, records, and user privileges ● Create, update, remove lockers ● Add new Administrators Non-Functional Requirements

● Scalability ● Availability ● Reliability / Recoverability ● Maintainability ● Security ● Data Integrity ● Usability Conceptual Sketch

● Metal Lockers ● Dallas 1-Wire® System ● Raspberry Pi ● Linux Virtual Machine ○ Website ○ MySQL ● Monitor ● Keyboard Technical Constraints and Considerations

● How much current we can deliver to the 12-volt locks

● Sanitize database every semester ○ Graduating students/ Leaving students

● Misuse: Item return validation

● Website must be maintainable by ETG Market Survey

● Send out Survey to ECpE students Market Survey

● Send out Survey to ECpE students Potential Risks & Mitigation

● Learning Curves

● Failing to manage time wisely

● Malicious users, system abuse

● Concurrency Issues ○ Opening two sessions of the website on the Raspberry Pi Resource & Cost Estimate

● Total Estimated Cost: $627.82 Resource & Cost Estimate

● Total Estimated Cost: $627.82 Alternatives: Amazon - Hubs

● Up to $6K-$20K in cost plus monthly maintenance fees

● Similar misuse risks

https://amazon29.au1.qualtrics.com/jfe/form /SV_dcgOjgJfneXEG45 System Design Functional Decomposition

● Two major components: ○ Hardware ■ Lockers ■ 1-Wire® System ■ Raspberry Pi ○ Software ■ Virtual Machine ■ Website ■ Database ■ OWFS (1-Wire Filesystem) Macro-level System Design Software - OWFS (1-Wire Filesystem)

● Will run on the Raspberry Pi ● I2C connection is used to connect to one wire system

● Runs a virtual filesystem ● Each device on discovered is automatically added as a file

● Runs two servers ○ OW server runs filesystem ○ HTTP server Hardware Design

● System ○ Raspberry Pi ○ One-Wire Master Device ○ Logic Level Converter (3.3V to 5V) ● Per Locker items ○ One-Wire Slave Devices ○ LM 660 Operational Amplifier ○ IRF 540 Mosfet Device ○ 12V Electric Lock Hardware Design - Master Circuit Diagram

● Hardware Design - Slave Circuit Diagram

● Hardware Design - Circuit Equations

12V limit to MOSFET

If Vt is never reached, the MOSFET will be in an “OFF” state. (Vgs = 0) Software - Platforms Software - Database Schema Security - Authentication - Shibboleth

● Version - Shibboleth 2.6.0 ● Redirecting /secure to the Shibboleth authentication page. ● Returning header with successful login. ● User now authenticated and can checkout equipment. ● Logging authenticated users with login time. Prototype Demo Prototype Demo Authentication - Shibboleth - Demo Test Plan

● Unit tests ● Code Coverage ● Functionality Testing ○ Proper navigation (links) ○ Form validation ● Database testing ○ Data consistency ● Content checking ○ Disability Accommodations Test Plan

● Compatibility Testing ○ Browsers ○ Print Options ● Security Tests ○ Unauthorized requests ○ SSL is working properly ○ Securing Raspberry Pi ● Hardware ○ Circuit validation ○ Operational validation Conclusion Project Milestones (First Semester)

● Prototype - 12/06/2017 ○ User clicks on button to signal they want to checkout something ○ Frontend sends HTTP request to backend ○ Backend sends a TCP request to OWFS server ○ OWFS turns slave device port assigned to the lock off Project Milestones (Second Semester)

● Minimal Viable Product (MVP) - 03/09/2018 ○ Check out/in and retrieve/return equipment to designated locker box. ○ 40% unit test code coverage ● Alpha Testing ○ Team and ETG tests the MVP ● Staging ○ Product has pristine ○ Fully functional student and admin features ○ 60% unit test code coverage Project Milestones (Second Semester)

● Beta Testing ○ Team will ask a group of students and ETG staff to trial the system ● Final Product - 04/27/2018 ○ Final product should have any modification requirements found from testing ○ Over 95% unit test code coverage ○ Logging and error handling ○ Backup script ○ Software and hardware manuals Current Project Status

● Prototype is complete ● Work on MVP over break ● Implement checkout functionality ● Make website look professional ● Have master device differentiate which slave devices to signal ● Securing OWFS server Plan for Next Semester

● Make more specific goals ● Work on personal accountability ● Build out MVP first month ● Finalize circuit design ● Add LED and Locker functionality to one-wire system ● Build out the staging product ● Test, test, test Contributions of Each Project Member

● Team Total: 387 hours Task Responsibility

● Annie: Software Architect, Full stack dev ○ Design ○ Front-end components ○ Back-end implementation ● Quan: Backend Dev ○ REST API endpoints ○ Document software processes ● Rex: Embedded Systems Dev ○ REST API endpoints ○ OWFS integration Task Responsibility

● George: Systems Administrator ○ Shibboleth integration ○ OWFS and locker integration/testing ● Sandra: Hardware Engineer, Front-end Dev ○ OWFS and locker integration/testing ○ Front-end styling ● Nick: Hardware Architect ○ Design circuits ○ 1-wire® system ○ Locker integration ○ Document hardware processes Thanks! ANY QUESTIONS? Appendix: In Depth Slides Market Survey

● Send out Survey to ECpE students Market Survey

● Send out Survey to ECpE students 1-Wire Technology

https://www.maximintegrated.com/en/app-notes/index.mvp/id/1796 1-Wire Block Diagram

https://www.maximintegrated.com/en/products/digital/one-wire.html Plan for Next Semester

● Annie: ● Quan: ● Rex: ● George: ● Sandra: ● Nick: