Transcript

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

PhotoBoothDemo

Phase 2: Develop & BuildFinding what you need

Hardware

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

Operating System

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

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

Embedded Enabling Features

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

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

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

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

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

Software

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

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

Bringing it all together

Hardware

Tools and frameworks

Windows Embedded

Studio

Software

OS

Application

Native.Net

.Netxaml

MFC, ATL

Application Binaries& Components Repository

App, OS and EEFComponents

Windows Embedded Standard

Component Database

Target Analyzer

Target Designer

Component Designer

Development Cycle

OS Image

Windows Embedded Standard 2009Demo

Model-View-ViewModel

View

ViewModel

Model

UnitTest

BusinessLayer

DAL Data

ICommand•RelayCommand•DelegateCommand

INotifyPropertyChangedObservableCollection<>Binding

Architecture

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

32 FeetIn The Hand

Start OBEX listener

Receive & Save Photo

Marshal back to UI thread

Animations

Subtle, Subtle, Subtle

demo

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>”

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

Complete a session evaluation and enter to win!

10 pairs of MP3 sunglasses to be won

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)

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

© 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.

top related