Final Project Presentation Nina Drozd Supervisor: Fearghal Morgan Co-Supervisor: Martin Glavin Framework – Turbogears 1.x: ◦ Model (SQL Object) – SQLite used ◦ View (Kid Language) – allows Python snippets to be imbedded in XML-like manner ◦ Controller (CherryPy) – middleware, compiles event handlers that return data to templates ◦ Mochikit – lightweight library, makes website interactive Hardware connector: ◦ Remote Procedure Call to hardware SQLite database, simple to administer, operate and maintain Divided into different entities: Config – configuration of the lab by administrator Bitstream – contains system and user files Visit – contains visit data, e.g. time of visit Visit identity – links user to particular visit Group – 2 groups: admin and user User – contains all information about current confirmed and non-confirmed users ◦ Permission – states permissions each group has ◦ ◦ ◦ ◦ ◦ ◦ Simple XML based template language, uses Python for GUI handling Group of files with extension .kid which can be accessed by user online Administrator has more privileges, therefore can access more pages JSON (JavaScript Object Notation) used to import SQLite objects and parse them into view component to be shown to administrator, i.e. current users data table Configured using CherryPy, object-oriented web application framework Connects to all other components of the system Interacts with XML RPC file, which connects to hardware Developer can view system in work in command prompt response files, useful for troubleshooting If any errors present, system does not work Remote Procedure Call that uses XML passed via HTTP as transport serXMLRPC.py acts as server Controllers.py acts as client Local connection established for such operations as bit toggle of register in Spartan-3 User registration secured by ReCaptcha and confirmed by administrator User access to Spartan-3 microcontroller board from any geographic location Database stores all user information, board configuration and statistics Statistics generation viewable by administrator’s account CSR’s 8 and 9 are dedicated to store the remote switch configuration. CSR 8 contains information about button configuration and remote/local switch configuration (bit 0) CSR 9 contains information about remote switches Added statistics, administrator can confirm or delete account according to user visits Guest account created to promote the use of website, 2 demo’s currently available, complete with switches and CSR access, as well as guide material ReCaptcha Validation: Registration Request: Registration Confirmation: System bad gateway: controller file has syntax error, look through FPGA prompt file Website tabs not working properly: view component has syntax error, review & modify Data object or variable does not exist: check SQL initialising and modification Video not showing: update to latest java platform Registration email not sent: NUIG firewall blocking mail, new mail server created TurboGears CherryPy Mochikit XML RPC Kid language ReCaptcha IIS setup Putty TightVNC Python Remote switch access for complete testing of VHDL projects online Guest page for promoting the website Demo guides to familiarize user with system Developer guide for further development Registration control given to administrator Statistics of website use for administrator Documentation of the system as help for administrator System development: framework and system architecture Python programming ReCaptcha validation SMTP implementation SQLite access and modification Virtual server maintenance and configuration Problem Solving Use of new technologies and programs (e.g. reCaptcha) Feedback tab for registered user (mail server already set up, and registration code can be used) Windows 2000 migration to newer edition of Windows (support ends on 13 July) Remote Lamp implementation (ready-made remote switches too expensive, can be done as small electronics project) Further statistics development (if more information about users is needed)