Download presentation
Presentation is loading. Please wait.
Published byAnnabel Ferguson Modified over 8 years ago
1
Home Security System Willard Stanley
2
Motivations Commercial security systems have a monthly cost Designing my own allows for greater extensibility
3
Design Goals Core feature parity with commercial system Cost of less than $100 Low power Web configurable
4
Design Constraints The Arduino Uno has 32KB of program memory There are 13 I/O pins The device has no threading, multitasking, or OS. The TCP stack for the Arduino Ethernet module only supports 4 socket connections
5
Client Circuit Design
6
Client Software Design Client Protocol Grammar: --> | | --> login -> [0-9]+ --> [a-zA-Z0-9!@#$%^&*()}{":>? --> heartbeat --> [0-9a-f]{50} --> sensor -->.
7
Server Software Design Server Protocol Grammar: --> |null --> | | --> start --> panic --> flash|noflash
8
Server Database Design
9
Client Implementation Built using the Arduino’s development toolkit Based on a subset of C Since there is no multitasking, the client is simply a loop. Program size turned out to be around 13KB Pseudo Code: Loop{ if !check_for_tcp_connection(){ establish_tcp_connection(server) } new_sensor_data = read_in_sensor_data() if new_sensor_data != old_sensor_data{ update_LEDs(new_sensor_data) send_event_to_server(new_sensor_data) old_sensor_data = new_sensor_data} else{ send_heartbeat(server) } } //End Loop
11
Server Implementation Built using Python 2.7 Designed and tested on FreeBSD 8.2 Uses a synchronous threading model Uses MySQL for the database
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.