Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access...

18
GroupLab University of Calgary November 2005 Nicolai Marquardt [email protected] CPSC 781: Computer-Supported Cooperative Work GroupLab, Prof. Saul Greenberg University of Calgary Tutorial: Physical User Interfaces with Phidgets

Transcript of Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access...

Page 1: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

GroupLab University of Calgary

November 2005Nicolai [email protected]

CPSC 781: Computer-Supported Cooperative WorkGroupLab, Prof. Saul GreenbergUniversity of Calgary

Tutorial:Physical User Interfaceswith Phidgets

Page 2: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

2GroupLab University of Calgary

Phidget Background, MSN API Background

Outline

Phidget Tutorial

The “Phidget MSN Tutorial”

Page 3: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

3GroupLab University of Calgary

Examples

Phidget Tutorial

Page 4: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

4GroupLab University of Calgary

Phidgets

RFID Reader LC Display Servo Interface Kit

Phidget Tutorial

Page 5: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

5GroupLab University of Calgary

Architecture

Computer

USB

Phidgets

Computer USB Hardware

Phidget Tutorial

Page 6: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

6GroupLab University of Calgary

Architecture

Computer

USB Phidgets20.dll

Phidgets

Computer USB Hardware

API that encapsulates the low-level Phidget access

Phidget Tutorial

Page 7: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

7GroupLab University of Calgary

Architecture

Computer

USB Phidgets20.dll

COM

Phidgets

Computer USB Hardware

API that encapsulates the low-level Phidget access

JNI Java

.NET

C++

COM API Wrapper

Phidget Tutorial

Page 8: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

8GroupLab University of Calgary

Architecture

Computer

USB Phidgets20.dll

COM

Phidgets

Grouplab.phidgets.dll

Computer USB Hardware

API that encapsulates the low-level Phidget access

JNI Java

.NET

C++

COM API Wrapper

Provides .NET components: Phidget objects and skins

Phidget Tutorial

Page 9: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

9GroupLab University of Calgary

Architecture

Computer

USB Phidgets20.dll

COM

Phidgets

Computer USB Hardware

API that encapsulates the low-level Phidget access

JNI Java

.NET

C++

COM API Wrapper

Grouplab.phidgets.dll

Provides .NET components: Phidget objects and skins

Phidget Tutorial

Page 10: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

10GroupLab University of Calgary

Components and Skins

Attach

PhidgetManager

PhidgetManagerSkin

Detach

Error

Devices

= Events

= Properties

Phidget Tutorial

Page 11: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

11GroupLab University of Calgary

Components and Skins

Attach

PhidgetManager

PhidgetManagerSkin

Detach

Error

Devices

PhidgetComponentAttach Detach Error

Abstract Base Class

Name Serial VersionPhidgetDevice

= Events

= Properties

Phidget Tutorial

Page 12: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

12GroupLab University of Calgary

Components and Skins

Attach

PhidgetManager

PhidgetManagerSkin

Detach

Error

Devices

PhidgetComponentAttach Detach Error

Abstract Base Class

Servo InterfaceKit

Name Serial VersionPhidgetDevice

PositionChange

Motors InputChange

Outputs

SensorChange

= Events

= Properties

Phidget Tutorial

Page 13: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

13GroupLab University of Calgary

Components and Skins

Attach

PhidgetManager

PhidgetManagerSkin

Detach

Error

Devices

PhidgetComponentAttach Detach Error

Abstract Base Class

Servo

ServoSkin

InterfaceKit

InterfaceKitSkin

Name Serial VersionPhidgetDevice

PositionChange

Motors InputChange

Outputs

SensorChange

= Events

= Properties

Phidget Tutorial

Page 14: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

14GroupLab University of Calgary

Interaction with MSN Messenger

C#Application

The COM Interface is from the Windows Messenger (Version 4.7), but you have to use it to access the functionality of the MSN Messenger (Version 7.0 or later)

Messenger API Type Library

\Messenger\msmsgs.exe

Messenger Object

OnContactStatusChange

OnMyStatusChanged

MyStatus

= Events

= Properties

Phidget Tutorial

Page 15: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

15GroupLab University of Calgary

Our Application Example

MSN Messenger

Phidget Tutorial

Page 16: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

16GroupLab University of Calgary

Our Application Example

MSN Messenger

Phidget TextLCD: Status change of users

Phidget RFID: set user status

Phidget IFKit: LED for user status

Online Away, Offline, etc.

Phidget Tutorial

Page 17: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

GroupLab University of Calgary

So far to the theory… let’s practice!

Nicolai [email protected]

GroupLab, 781 - CSCWUniversity of Calgary

Page 18: Tutorial - University of Calgary in Albertasaul/781/presentations/... · 2005. 11. 18. · access Phidget Tutorial. 7 GroupLab University of Calgary Architecture Computer USB Phidgets20.dll

18GroupLab University of Calgary

Tutorial Online

http://pages.cpsc.ucalgary.ca/~saul/781/wiki/pmwiki.php?n=Main.MSNPhidget