33

Rudi Grobler Session Code: DTL314

Embed Size (px)

Citation preview

Page 1: Rudi Grobler  Session Code: DTL314
Page 2: Rudi Grobler  Session Code: DTL314

Creating “real” devicesRudi Groblerhttp://dotnet.org.za/rudiSession Code: DTL314

Page 3: Rudi Grobler  Session Code: DTL314

PhotoBoothDemo

Page 4: Rudi Grobler  Session Code: DTL314

Phase 2: Develop & BuildFinding what you need

Page 5: Rudi Grobler  Session Code: DTL314

Hardware

Page 6: Rudi Grobler  Session Code: DTL314

Hardware

Embedded vs. RetailArchitectures

VIA CX700M (500Mhz-1.5Ghz)Intel Atom (1.6Ghz-2Ghz)AMD Geode (333Mhz-500Mhz)DMP Vortex86SX/DX (233Mhz-1Ghz)

Panel PC vs. Building a KIOSK

Page 7: Rudi Grobler  Session Code: DTL314

Operating System

Page 8: Rudi Grobler  Session Code: DTL314

CCR/DSSFramework

RoboticsDistributedsystems

Industrial Automation

MedicalEntertainment

Thin Client

Personal Navigation Point of Service

Consumer

Robotics

Portable media

Industrial Automation

Telematics

Thin Client

for E

mbe

dded

Syst

ems

Home AutomationWearable

Network sensors

Secondary displays

Micosoft Embedded Technologies

Page 9: Rudi Grobler  Session Code: DTL314

What is Windows Embedded Standard?

Componentized version of Windows OSRuns on standard x86 hardwareRuns applications developedfor Windows (Win32/MFC/.NET)Embedded Enabling FeaturesBootable from variety of hardwareHeadless devices & remote managementIntegrates with Microsoft technologies

Page 10: Rudi Grobler  Session Code: DTL314

Embedded Enabling Features

USB & CD BootWrite FiltersImage Cloning and ResealHibernate Once Resume ManyRemote BootDevice Update AgentMinimum Windows Logon (Minlogon)Message Box Default Reply

Page 11: Rudi Grobler  Session Code: DTL314

Enhanced Write Filter (EWF)Protect OS volume through re-direction to overlay

Persistent (Disk Overlay)Requires storage mechanism on device

(hard drive, flash ram, etc.)Allows for multiple overlay levels

Non-persistent (RAM\RAM Reg Overlay)

Redirects disk writes to memoryMultiple Volume SupportCommand line interface and API to manage filter Disk

Overlay 1

Overlay 2

Overlay 3

Page 12: Rudi Grobler  Session Code: DTL314

File Based Write Filter (FBWF)

File system mini filter driver Enables caching of file system in RAM

Benefits:File system protection on file levelWrite-through by means of exclusion listBetter optimizes memory usage over EWFCommand line interface to manage filter (enable, disable, commit data)Full support for NTFS (encryption, compression) on write-through filesAllows for better servicing scenarios than EWF

Page 13: Rudi Grobler  Session Code: DTL314

Hibernate Once Resume Many (HORM)

Enables the OS state to be preserved across multiple reboots, in hiberfile.sysEnables faster boot time, for “instant-on” experienceWorks with Enhanced Write Filter, as state of OS protected by EWF does not change

Page 14: Rudi Grobler  Session Code: DTL314

USB Boot

WES Boot from USB Flash Device.Run utility to make UFD bootable. Hardware considerations

Device minimum write speed of 11MB/sHi-speed USB 2.0 logo for UFDBIOS must support USB 2.0 boot

Why do USB boot?No HDD means fewer moving partsUFDs are becoming cheaperPractical alternative to Compact Flash

Page 15: Rudi Grobler  Session Code: DTL314

Software

Page 16: Rudi Grobler  Session Code: DTL314

Overview of WPFWindows Presentation Foundation

UI Framework Introduced in .NET 3.0Rich UI Development Using Extensible Application Markup Language (XAML)Clear Separation of Design and Business Logic

Page 17: Rudi Grobler  Session Code: DTL314

Leveraging WPF for Embedded Devices

Perfect for applications where UI is keyATMKioskPoint of SaleJukebox

The Silverlight OptionVery small footprint for small devicesDeployment and servicing is simplifiedTradeoffs when in the browser

Page 18: Rudi Grobler  Session Code: DTL314

Bringing it all together

Page 19: Rudi Grobler  Session Code: DTL314

Hardware

Tools and frameworks

Windows Embedded

Studio

Software

OS

Application

Native.Net

.Netxaml

MFC, ATL

Page 20: Rudi Grobler  Session Code: DTL314

Application Binaries& Components Repository

App, OS and EEFComponents

Windows Embedded Standard

Component Database

Target Analyzer

Target Designer

Component Designer

Development Cycle

OS Image

Page 21: Rudi Grobler  Session Code: DTL314

Windows Embedded Standard 2009Demo

Page 22: Rudi Grobler  Session Code: DTL314

Model-View-ViewModel

View

ViewModel

Model

UnitTest

BusinessLayer

DAL Data

ICommand•RelayCommand•DelegateCommand

INotifyPropertyChangedObservableCollection<>Binding

Page 23: Rudi Grobler  Session Code: DTL314

Architecture

Page 24: Rudi Grobler  Session Code: DTL314

Bluetooth

Bluetooth is an open wireless protocol for exchanging data over short distances from fixed and mobile devices. OBEX (OBject EXchange) is a communications protocol that facilitates the exchange of binary objects between devices

Page 25: Rudi Grobler  Session Code: DTL314

32 FeetIn The Hand

Start OBEX listener

Receive & Save Photo

Marshal back to UI thread

Page 26: Rudi Grobler  Session Code: DTL314

Animations

Subtle, Subtle, Subtle

Page 27: Rudi Grobler  Session Code: DTL314

demo

Page 28: Rudi Grobler  Session Code: DTL314

Tips & Tricks

No cursor (Touch)

Fixed screen resolution

Hide boot splash screen/NOGUIBOOT

Auto-start application[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\

Winlogon] "Shell"=“<Application>”

Page 29: Rudi Grobler  Session Code: DTL314

http://dotnet.org.za/rudiquestion & answer

Page 30: Rudi Grobler  Session Code: DTL314

Complete a session evaluation and enter to win!

10 pairs of MP3 sunglasses to be won

Page 31: Rudi Grobler  Session Code: DTL314

Related ContentBuilding Rich Business Clients in WPF (Brian Noyes)

What’s New in Microsoft Silverlight 3 (Eben de Wit)

Developing for Windows 7 (Lynn Langit)

Optimizing Your Application for the Windows 7 User Experience (Lynn Langit)

ViewModel and Application Patterns with Silverlight (Nikhil Kothari)Microsoft Expression Blend from a Developer’s Point of View (Rudi Grobler)

Windows Client Development Discussion (Rudi, Lynn & Tony)Sharing Code between your Microsoft .NET Framework Applications and Microsoft Silverlight (Stephen Forte)

Page 32: Rudi Grobler  Session Code: DTL314

Windows Embedded Resources

Website: www.windowsembedded.com

Social Channels: blogs.msdn.com/mikehallblogs.msdn.com/obloch

Technical Resources: http://msdn.microsoft.com/embedded

Tools evaluations: www.windowsembedded.com/downloads

Page 33: Rudi Grobler  Session Code: DTL314

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.