SOA in the Home - with RFID, iPhone and Simple Service Orchestration Peter Rhys Jenkins IBM Software...

Preview:

Citation preview

SOA in the Home - with RFID, iPhone and Simple Service Orchestration Peter Rhys JenkinsIBM Software GroupPeter.rhys.jenkins@us.ibm.com

1st March 2009Session 1434

2

Why ?

3

I have a BIG House - started in1896

4

2008

5

Automation Architecture

6

Architectural Tenents

• Able to withstand catastrophic failure – e.g. Fail safe doors.

• Able to withstand multiple service failures.• Zero learning curve for Human Interfaces.• “Reasonable” price.• State of the Art and Beyond.• Documented for repeatability.• Rapid Recovery from catastrophic failure (ISO Images).

7

Wiring

8

Wiring – Cat6 “Copper’s last stand”

9

Wiring.

• Cat 6 for 10 Gigiabit Ethernet Backbone (Currently 100Mb)

• Cat 5e for Phone, IR Distribution.• Shielded RG6 coax for Video.• HDMI cables for Theatre.• RF Relays between Dimmers.• “Mesh” Network Dimmers.• No “Daisy Chaining”• No Cat 7 – New Connector – not

RJ45

10

Physical View

11

Infrastructure Hardware

12

Managed Infrastructure

• HAI Omnipro II Controller• 8 PIR (Passive Infrared + Microwave) –to HAI• 68 Windows – round inset Magnet - to HAI• 7 Doors – round inset Magnet - to HAI• @500 Lights, 130 Insteon Dimmers - to Mac• 3 Cameras – Logitech, Apple, Sony - USB, Firewire, Cat 5e• 8 Mike’s – via Shure Mixer - Toslink Minijack to Mac • 1 RFID – Texas Instruments - RS-232-C to Mac• 1 Phidget RFID Reader - USB to Mac• iRTrans Infrared Controller. - to Mac• TV’s, Music, Piano, Projector Screen - to Mac

13

Infrastructure – Computing.

• Ocelot (Applied Digital) low voltage switching (speaker & Mic switching• Mac Mini - Primary Home Controller.• Macbook - Development.• iMac - Human Interfaces - Kitchen• iMac - Human Interfaces - Office• ThinkPad - Camera feeds to Mac.• ThinkPad - Mouse Catcher & Camera feeds to Mac.• PC - Athlon 64 bit. Windows, 8G, 2T – grunt work.

• (Deprecated)• HAI Interfaces. MQ Interfaces. Music Server, Video Server.

• P390 - CICS WebService interfaces (Deprecated May 2008).

14

Wireless.

• 2 x Apple Airport 802.11 n• 1 x Airport Express• 2 x Linksys 802.11 g• 1 x Cantenna.• Future.• WiMax • ZigBee

• Trick – give all the access points the same name and use the same channel number.

15

Infrastructure - Hardware

16

Infrastructure – Hardware.

17

RFID

18

RFID Hardware – Radio, Antenna, Tags

19

RFID – how it works

20

RFID “Issues”

21

RFID Interface Coding (Applescript)

22

MySQL & Scripting Other Applications

23

Scripting Other Applications Remotely.

24

Human Interfaces

25

Web Interfaces

26

Interfaces

• iPhone (Safari, Mobile)• Any Browser• Any Phone Handset• Voice Recognition

• Hard Wired Mic’s

• Voice Response• V1 Female• V2 Male & Female

• PIR Event (with Weight )• RFID Events• Camera Motion events

27

Services

28

Enterprise Service Bus – (Indigo Broker - AppleScript & Apple Remote Events for Messaging)

Monitoring Security

Enterprise Services.

JSON – XML-RPCSOAP

29

Internal Services

• Door Camera Motion Service

• Door RFID Event Service• Door Opened Service• Door Closed Service• Speak Weather Service• Somebody Pressed the

Doorbell Service• Switch TV to view Camera• Play Music Service(s).

• Pub Services (Open etc)• Goodnight Service• Goodmorning Service• Birthday Service• Water the Lawn Service• Open the Windows Service• Close the Windows Service• Play a Movie Service• Mouse Down Service

30

Event Based Computing – Mouse Down.

Metal Pad under Cheese – Soldered to 1 Wire.2nd Wire Soldered to Spring Holder.Circuit Closes == Mouse Down Event.Video Taken by Evocam (last Video) sent to YouTube – Text Message to look at YouTube sent to iPhone.

Insteon EZIO.

e.g. Speaker Wire

31

External Services

• NOAA – Weather (Free). Also Weather.com • Change Sunset based on light level (sunny, cloudy etc).• Control sprinklers – predict rainfall.• Set variables for spoken responses.

• Google – GMAPs.• Locate Family (iPhone Application – Objective ‘C’)

• Airline – Flight Scheduling.• Heat and Light services at “odd” hours.

• eBay – “Snipe” • Screen scaping to feed sniping service.

32

WMQ-Broker Usage – Deprecated.

• Interface between Mac’s and PC’s. – REST from PhP AJAX• “Sometimes, good enough really is good enough”

• Interface to External Web Services.• Interfaces requiring data transformation.

• PhP interface to Broker from Mac using REST Client for:• Broker Web Service call to NOAA (Weather) parse response.• Broker decides if it’s raining for Sprinkler via Timer Node.• Broker makes web service call to Charter.net (what’s on TV).

33

Security

34

Security

• Assume the worst.• No DHCP.• No broadcast SSID.• Hard coded router tables.• WPA.• IBM Generated Passwords.

35

Security UPnP

36

Software & Shelfware

37

Shelfware

• Evocam – Mac – 84% CPU Utilization.• HAL 2000 - PC – Too Complex.• XCode - Mac (except for iPhone) - PhP easier.• WMQ Client for Mac - Only C Bindings - REST• WMQ Server for Mac - Kernel Changes - REST• RS-232-C Open Source PC - Too Complex.• TI RFID Sample Code PC - Useless.

38

Motion detection CPU Utilization.

39

Software

• Indigo (ESB)• Applescript• Apple Remote Events• Dreamweaver (Web, PhP)• Photoshop• Chicken of the VNC• MAMP, WAMP• Transmit (FTP)• iRed• Time Machine (Backup)

40

Lessons Learned

• Most of the work you need for an SOA/ESB is building the INFRASTRUCTURE to support it.

• Adding Services is trivial once the Infrastructure is there.• Swapping out services is trivial – e.g. Texas Instruments

RFID to Phidget RFID Reader – about an hour.• You need a development hardware environment and prod

– trying to do it via VNC is like trying to swim through an ocean of Peanut Butter.

• PhP, MySQL, Apache, OpenSource is easy to write & use.• Remember when programming was fun ? – it’s back.

41

URL’s to get you started.

• www.smarthome.com Source for Everything.• www.perceptiveautomation.com Indigo Software.• www.trossenrobotics.com RFID Reader.• www.evological.com Camera Software.• http://www.james.lipsit.com/home.htm Site that got me

started.• www.gulfhill.com My House.

• Send me an email – peter@gulfhill.com

42

Demo

• Add a “Share” Service…