240 likes | 368 Views
Elevators in your Pocket. Kazuya Sakai, Linchuan Chen, Renguo Feng. By. Motivation. Elevators have “rush hours”!. Motivation. You are a CSE student at 8 th floor Need to go to 3 rd floor for your final exam Only 1 minute before exam starts
E N D
Elevators in your Pocket Kazuya Sakai, Linchuan Chen, RenguoFeng By
Motivation Elevators have “rush hours”!
Motivation • You are a CSE student at 8th floor • Need to go to 3rd floor for your final exam • Only 1 minute before exam starts • Run to the elevator, find that an elevator has just left • Need to wait for another 5 minutes… • Finally late for class!
Motivation Elevators sometimes stop working
Motivation • You are a fireman • Receive a phone call that a passenger is stuck in an elevator of Dreese Labs • Need to go to the control panel and try to operate the elevator by hand • But you are 20 miles away from campus • The passenger needs to wait in the elevator!
Motivation How about putting the elevators in my pocket? Then I can touch them anytime and anywhere Seems impossible? This is what we are doing.
Our Proposal • Implement a remote controller for elevators on your Android phone • By connecting your phone with the elevators, you can receive the real-time status of the elevators • Passengers can press the elevator buttons on their phone and hold the elevators remotely • Firemen can control and see the inside of the elevators remotely
Functional Design • The connection model • Server Elevators are servers connected to Internet • Client Android phone users with our application installed are clients. By connecting to server, they can receive and send data to server.
Functional Design • User types • Ordinary users: Passengers Any person who has installed this application can get connected to the elevators. They can only see the status and send requests to elevators. Multiple passengers can be connected. • Privileged users: Administrators Need to be authenticated by username and password. If login succeed, they can control the elevators. Only one admin is allowed to login at the same time.
Functional Design • Functionalities for passengers • By connecting the mobile phone to the elevators, they can see the real-time location of the elevators. • By pressing the request buttons, they can send requests to the elevators
Functional Design • Functionalities for administrators • Can see the running status of elevators • Can send commands to order elevators to target floors • Can open/close the elevator door • Can stop/enable the elevators • Can adjust the running speed of elevators • Can receive the video signals from inside the elevators
Implementation Challenges • Remodeling the elevators in Dreese Labs is not allowed • We need to implement an elevator simulator on a PC • Need to separate different kind of network traffics • For status information, need to use Multicast/UDP • For control signals, need to use TCP • For video streaming, need to use RTP
UI Design • The server side (Elevator Simulator)
UI Design • The client side • Passenger user interface
UI Design • The client side • Administrator user interface
Implementation Details • Development Environment • The device is HTC, Android 2.1 • Android-x86 2.2-r2 for Dell Inspiron Mini Duo with VM Player
Implementation Details Multicast group Status info Status info Status info Status info Status info Control info Login info(TCP) Video Streaming Control info Elevator Control Info(TCP) Control info
Three Types of Traffic • There are three types of messages exchanged between clients and the server • Status information of elevators • Control packets • Video streaming data
Status Infromation of Elevators • Information to show the status of elevators • Packet format • Location - scaled value between 0 and 699 (The pixel # of each location) • Direction - up or down • Floor ID - the floor an elevator stays • Color – indicates the change of button color
Status Information of Elevators (Cont.) • Status info. is periodically sent with multicast • The server sends the packets to a multicast group • Users who want to receive the status info. need to join that multicast group • The clients are tolerant to packet loss of status info.
Control Packets • Packets containing control commands • Packet format • Command ID -floor, open, close, emergency buttons, etc. • Direction - up or down • Floor ID - 1, 2, 3, ..., 10, etc. • Priority – an ordinary passenger or a privileged admin • Control packets are transmitted by TCP • We do not allow any packet loss and error
Video Streaming Data • Video streaming from a camera in an elevator • RTP is used • It is a real-time traffic • Will be implemented soon
Conclusion • This application is easy to use and can provide useful functions • By separating different traffic types, our application can achieve very good performance
Thank you very much! Any questions?