cst 498 project architecture fall 15 draft 4 hh
TRANSCRIPT
North Carolina Agricultural and Technical State University
Conceptual Teaching and Information Architectures for
CST 498: Fall 2015Howard V. Hardiman, Instructor
Computer Systems Technology DepartmentSchool of Technology
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture Description (IT - 101)
2
Client ServerNetwork
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture Description (Linux in CST 498)
3
Our Basic Server Specs:
Debian Linux 8
• How much disk?• How much RAM?• Came pre installed
with:• This • That • The Third
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture Description (IBM System Z + z/VM Enabled Linux Virtualization)
4
IBM z9 Mainframe (Fort IRC NCAT)LPAR
z/VM 5.4z/VM Guest A
Debian Server VM: Group 1
z/VM Guest BDebian Server VM: Group
2
z/VM Guest N Group N
=Z
Linux Server
Linux on Z
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture Description (High Level Project Description for Whole Class – Data Flow)
5
Debian Linux Guest OS
MySQL DB ServerREST API
PHP Web Apps
Hardware/Sensing/Robotics Vehicle
(IoT)
Mobile Application Clients
Web – Browser Table View
Client
Health Station Client (IoT)
Direct DB Connections/Queries
HTML/HTTP
JSON/HTTP
www/NCAT Domain
Plain - Via URL
North Carolina Agricultural and Technical State University
www.ncat.edu
Hardware/Sensing/Robotics Vehicle + REST Client
• Raspberry Pi Enabled ‘Tank Style’ Robot• Tank Hack Robot has
GPS and Temperature Sensor
• Client code written in Python to control vehicle using Raspberry Pi GPIO, read sensor values, and initiate http request for data posting
• Students Implemented various cool control capabilities
• Python requests module used for HTTP Request functionality for data creation on remote VM DB
System Architecture Description (Project Team 1 – Temperature/GPS sensing Vehicle- IoT)
6
North Carolina Agricultural and Technical State University
www.ncat.edu
Mobile Application REST Clients
• Phone Gap Mobile Application • Application area is
building a curriculum viewer that consumes data from a DB with curriculum guides
• Written in HTML, CSS, JavaScript, jQuery, jQuery Mobile, etc.
• MIT AppInventor Mobile App• Similar scope from
above but using AppInventor
• Great intro to creating a data consuming Android App that is a REST Client to High School or Collegiate laymen
System Architecture Description (Project Team 2 – PhoneGap Android Application)
7
North Carolina Agricultural and Technical State University
www.ncat.edu
Health Station REST Client
• Raspberry Pi Enabled Health Sensor Station• Uses a cool
Arduino board on Raspberry Pi that includes pulse, BP, motion, etc. sensors
• Sensor code written in C
• Python Tkinter application built for GUI control by a user and data sending, receiving, and displaying
• Python requests module used for HTTP Request functionality for data upping and receiving on remote VM DB
System Architecture Description (Project Team 3 – Health Station- IoT)
8
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture (Project Team 4 – Server Side Development )
9
Server Side Needs• Students worked server
side to create 3 MySQL DB’s, REST Interface, and HTML table output of info in DB’s • Project work here
meant to support previous three teams
• REST Interface built using Slim PHP Micro Framework
• Accepts plain text in URL for data upping
• Data returned to the client in JSON
• HTML table application is PHP for tabular output of queries
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture Description (High Level Project Description for Whole Class – Data Flow)
10
Debian Linux Guest OS
MySQL DB ServerREST API
PHP Web Apps
Hardware/Sensing/Robotics Vehicle
Mobile Application Clients
Web – Browser Table View
Client
Health Station Client
Direct DB Connections/Queries
HTML/HTTP
JSON/HTTP
www/NCAT Domain
Plain - Via URL
North Carolina Agricultural and Technical State University
www.ncat.edu
Hardware/Sensing/Robotics Vehicle + REST Client
System Architecture Description (Project Team 1 – Temperature/GPS sensing Vehicle- IoT)
11
Vehicle Chassis
Motor for Left Wheels Motor for Right Wheels
L298N Digital Motor Driver
6V Battery
Raspberry Pi – Embedded Linux Computer – Powered by 5V Battery
Wifi Dongle (USB)
Bluetooth Dongle (USB)
GPS Sensor (GPIO)
Temperature Sensor (GPIO)
Python Vehicular Control Software
• Keyboard Control via Wifi• Wii Remote Control Via
Bluetooth
Python Sensing and Data Upload Software
• Read GPS + Temp. Sensor and Initiate Request
Raspberry Pi GPIO Header
Software Output Initialization
Motor Control Outputs – 3 per Motor
Motor Control Signals: Forward – Backward - Brake
User Control Commands
Sensed Values
POST RequestsTo Cloud/VM/DB
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture Description (REST functionality for Hardware IoT Team)
12
Debian Linux Virtual Machine
MySQL DB Server (picar)
REST API
1. Process URL/HTT
P request
2. Perform insert query based on
function name and input3.
Return success message
Hardware/Sensing/Robotics Vehicle Applications
Position and Temp.
+ “/addtemp” + ‘/‘+ :vehID + ‘/’ + :tempvalue (POST)
http://restmaster.ncat.edu/slimapi/picar
+“/addposs” + ‘/‘+ :vehID + ‘/’ + :lat+ ‘/’ + :long (POST)
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture Description (REST functionality for Mobile Team)
13
Debian Linux Virtual Machine
MySQL DB Server
(curricula)
REST API1.
Process URL/HTT
P request
2. Perform select query based on
function name and
params3.
Return results in JSON
to Client Code
Mobile Application Clients Curriculum
Guides and Electives
http://restmaster.ncat.edu/slimapi/mobile/cguide
+“/getGuides” (GET)
+“/getHFA” (GET)+“/getSBS” (GET)+“/getSR” (GET)+“/getTech” (GET)
+“/getGuide” + ‘/‘+ :short_name + ‘/’ + :year (GET)
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture Description (Project Team 3 – Health Station- IoT)
14
https://www.cooking-hacks.com/documentation/tutorials/ehealth-biometric-sensor-platform-arduino-raspberry-pi-medical
North Carolina Agricultural and Technical State University
www.ncat.edu
System Architecture Description (REST functionality for Health Station IoT Team )
15
Debian Linux Virtual Machine
MySQL DB Server (health)
REST API1.
Process URL/HTT
P request
2. Perform query based on
function
name/req
type, and input
3. Return results in JSON
to Client Code
Health Station Client
User Encounters
Blood Pressure
http://restmaster.ncat.edu/slimapi/health
+“/getUser” (GET)+“/getBPs” (GET) +“/getPOs” (GET)
Pulse/Oxygen
+“/addUser” + ‘/’+ :fname + ‘/’ + :lname (POST) (User ID Returned)+“/addBP” + ‘/’ + :userID + ‘/‘+ :pulse + ‘/’ + :dia + ‘/’ + :sys (POST) +“/addPO” + ‘/’ + :userID + ‘/‘+ :bpm + ‘/’ + :spo (POST)