Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Invent the future of small intelligent devices here. Jan Kučera.NET Micro Framework Core Team.

Podobné prezentace


Prezentace na téma: "Invent the future of small intelligent devices here. Jan Kučera.NET Micro Framework Core Team."— Transkript prezentace:

1 Invent the future of small intelligent devices here. Jan Kučera.NET Micro Framework Core Team

2 Windows XP Embedded Windows Embedded CE Automotive POS Windows Mobile Wearable Devices Embedded Controllers AutomotivePDACell Phones Home Appliances Game Devices Point of Sale Devices Network Managers Industrial Automation Microsoft.NET Micro Framework Přehled technologií

3 Microsoft.NET Micro Framework.NET Micro Framework.NET Micro Framework Sensors Actuators Windows XP Embedded Windows Embedded CE Automotive POS Windows Mobile Wearable Devices Embedded Controllers AutomotivePDACell Phones Home Appliances Game Devices Point of Sale Devices Network Managers Industrial Automation Přehled technologií

4 Microsoft.NET Micro Framework Vznik.NET Micro Frameworku 2000 Bill Mitchel zakládá Smart Personal Objects Team v Microsoft Research 2002 Bill Gates oficiálně představuje vizi Smart Personal Objects Technology 2003 Microsoft ohlašuje SPOT Watches a technologii DirectBand 2004 SPOT Watches v komerčním prodeji, spuštěna služba MSN Direct první veřejná beta.NET Micro Frameworku 2007 představena první verze.NET Micro Frameworku – 2.0 uvolněn SP NET Micro Framework 4.0 přechod na open source

5 Managed Native Microsoft.NET Micro Framework Základní architektura frameworku Libraries Threading Collections Sockets... CLR Execution Engine Type System Garbage Collector Interop PAL Timers RAM I/O User Application & Libraries HAL Drivers OS Facilites nebo Hardware TinyBooter TinyBooter MicroBooter MicroBooter výrobce hardware firmware Services DPWS XML WPF... Microsoft CLR vývojář aplikace

6 Microsoft.NET Micro Framework Implementační rozdíly Just-In-Time Compilation program vždy interpretován Paměť typu Flash individuální bity lze změnit pouze z 1 na 0 omezená životnost Garbage Collection non-incremental mark-and-sweep algoritmus metadata přímo na haldě Threading simulovaný přepínáním po 20 ms vlákna mohou být upřednostňována a přerušována Timers událost znovu obsloužena až po dokončení předchozího volání Ostatní volání instrukcí časově hlídáno řetězce interně uloženy jako UTF-8 value types emulovány prostředím

7 Microsoft.NET Micro Framework Přehled assembly mscorlib.dll MFDpws*.dll MFWsStack.dll MFDpws*.dll MFWsStack.dll Microsoft.SPOT.Graphics.dll Microsoft.SPOT.Native.dll Základní datové typy, matematika Kalendář a formátování Pole a kolekce System.dll Lowlevel přístup k síti (Socket) System.IO.dll Souborový systém Stream a resources Vlákna Reflexe System.Security.dll Kryptografická primitiva System.Net.Security.dll SSL System.Xml.dll XmlReader System.Xml.Legacy.dll System.Http.dll HTTP (klient i server) System.Ftp.dll FTP (klient i server) WSD (XmlWriter) Bitmapy, barvy, fonty Microsoft.SPOT.Hardware.*.dll Hardware Microsoft.SPOT.IO.dll Microsoft.SPOT.Net.dll Síťová rozhraní Microsoft.SPOT.Net.Security.dll Microsoft.SPOT.Security.PKCS11.dll Média Microsoft.SPOT.Time.dll SNTP klient Microsoft.SPOT.TinyCore.dll Uživatelské rozhraní Microsoft.SPOT.Ink.dll Microsoft.SPOT.Touch.dll Dotyk MFUpdate.dll Microsoft.SPOT.Update.dll Vzdálený update Microsoft.SPOT.Wireless.IEEE_802_15_4*.dll

8 Microsoft Visual Studio C# Express Edition Microsoft.NET Micro Framework SDK Emulátor nebo pro více zábavy hardware Tahoe-II Development KitEMX Development Board Digi Connect ME Digi JumpStart Kit Microsoft.NET Micro Framework Začínáme electronics netduino mini

9 Microsoft.NET Micro Framework EMX Development System ProcesorNXP LPC MHz Flash4.5 MB SRAM16 MB LCD3.5" TFT 320×240 Napájení+5V 160 mA 4× UART 2× SPI 1× I 2 C 16× GPIO 6× PWM JTAG electronics

10 Microsoft.NET Micro Framework Práce se vstupy a výstupy Microsoft.SPOT.Hardware.OutputPort - k ovládání výstupních pinů - zapsaný stav lze číst Microsoft.SPOT.Hardware.InputPort - ke čtení vstupů - ochrana proti zákmitům - možná konfigurace pull-up nebo pull-down Microsoft.SPOT.Hardware.InterruptPort - událost při změně hodnoty vstupu - dva režimy přerušení Microsoft.SPOT.Hardware.TristatePort - pro použití jednoho pinu jako vstup i výstup - umožňují sdílení pinů mezi sebou

11 Microsoft.NET Micro Framework Práce se vstupy a výstupy Microsoft.SPOT.Hardware.AnalogInput - volitelná přesnost - lineární přepočet // Microsoft.SPOT.Hardware.dll AnalogInput analog = new AnalogInput ( Cpu.AnalogChannel.ANALOG_0, scale, offset, precisionInBits ); double hodnota = analog.Read();

12 Microsoft.NET Micro Framework Práce se vstupy a výstupy Microsoft.SPOT.Hardware.PWM - frekvence a střída / perioda a doba - synchronní spuštění a vypnutí - možnost inverze // Microsoft.SPOT.Hardware.PWM.dll PWM pwm1 = new PWM(Cpu.PWMChannel.PWM_0, frequency_Hz, dutyCycle, invert); PWM pwm2 = new PWM(Cpu.PWMChannel.PWM_1, period, duration, scale, invert); pwm1.Start(); pwm1.Stop(); PWM.Start(new [] { pwm1, pwm2 });

13 Microsoft.NET Micro Framework Práce se vstupy a výstupy Microsoft.SPOT.Hardware.OneWire - zatím jen zpřístupněný ovladač - nalezení zařízení na lince // Microsoft.SPOT.Hardware.OneWire.dll OutputPort wirePort = new OutputPort(Cpu.Pin.GPIO_Pin0, false); OneWire wire = new OneWire(wirePort); ArrayList serialNumbers = wire.FindAllDevices(); wire.ReadByte(); wire.WriteByte(b); wire.TouchReset(); wire.TouchBit(bit); wire.TouchByte(b);

14 Microsoft.NET Micro Framework Časovače a vlákna System.Threading.Timer - opakované spouštění metody - nelze pozastavit, jen přenastavit - spuštěný Timer není důvodem k jeho uchování v paměti Microsoft.SPOT.ExtendedTimer - přednastavené intervaly a události - lze použít ke spouštění metod v absolutním čase - záznam o posledním spuštění Microsoft.SPOT.DispatcherTimer - pro grafický režim - používá události a lze pozastavovat System.Threading.Thread - standardní práce s vlákny – Start, Abort, Sleep, Suspend, Resume, Join - standardní synchronizace, lock (Monitor), ResetEvent

15 Microsoft.NET Micro Framework Práce se sériovým rozhraním System.IO.Ports.SerialPort - software i hardware flow control - základní metody Write and Read nebo práce se Streamem - přerušení při přijmu dat nebo chybě Microsoft.SPOT.Hardware.SPI - synchronní přenos pro více zařízení na jedné sběrnici - tři signály (data in, data out, clock) - 8-bitová i 16-bitová verze, i na stejném portu - chip select nutno přes GPIO Microsoft.SPOT.Hardware.I2CDevice - synchronní přenos pro více zařízení na jedné sběrnici - dva signály (data, clock) - zasílá 7-bitová, 8-bitová nebo řídící data - zařízení vybírána adresou

16 Microsoft.NET Micro Framework Ukládání dat na paměť FLASH Microsoft.SPOT.ExtendedWeakReference - odkaz na objekt, zapsaný do stálé paměti (c_SurviveBoot, c_SurvivePowerDown) - lze uložit libovolný, serializovatelný typ objektu - data v paměti mohou mít různou důležitost (System, Critical, Important, NiceToHave, OkayToThrowAway) - jednotlivé objekty identifikovány typem a číslem - přesun do RAM jen jednou za běh programu Souborový systém - paměťová karta nebo vyhrazený kus FLASH - události při vložení nebo vyjmutí média - formátování média - práce se Streamy

17 Microsoft.NET Micro Framework Uživatelské rozhraní Model založené na Windows Presentation Foundation - XAML designer není k dispozici UIElementControl Content Control BorderListBoxListBoxItemScrollViewerWindowImagePanelCanvas Window Manager StackPanelTextTextFlowShapeEllipseLinePolygonRectangle - náročnější práce s posuvníky

18 Microsoft.NET Micro Framework Práce s resources Identifikace typem short Vlastní System.Resources.ResourceManager Pomocná třída Microsoft.SPOT.ResourceUtility Automaticky generované metody - Resources.GetString(id) / GetBitmap(id) / GetFont(id) / GetBytes(id) Podpora základních formátů obrázku - BMP, GIF a JPEG - Bitmapy 1-bitové indexované; 24-, 32-, 48-bitové RGB; 16-bitové RGB 555 a BMP jako resource nejdou modifikovat přímo - Zobrazení na displej stejně velké bitmapy metodou Flush - Nelze vytvářet nové bitmapy určeného formátu - Nelze přistupovat na bitmapová data přímo

19 Microsoft.NET Micro Framework Generování fontů Fonty se přidávají jako resource Speciální bitmapový formát Tiny Font (.tinyfnt) Na vytváření k dispozici příkazová řádka...\Microsoft.NET Micro Framework\v4.2\Tools\TFConvert.exe AddFontToProcess "C:\\Fonts\\TrueType\\Kooten.ttf" SelectFont "WE:400,FN:Kootenay,IT:1" #import A, B, C ImportRange SetAsDefaultCharacter 88 #use X as default Omezení: - Pouze skripty zleva doprava - Žádné znaky měnící se v závislosti na umístění v řetězci - 4-bajtové znaky (nejvyší 0xFFFD) - Vyhlazování hran

20 Microsoft.NET Micro Framework.NET Micro Framework Deploy Tool Nahrávání aplikací do zařízení v produkčním prostředí Zkoušení přeživších zařízení Vytváření obrazů s aplikacemi Správa klíču pro podepisování zařízení Low-level ladění Nahrávání firmware Lze použít i bez uživatelského rozhraní Programovatelný

21 Microsoft.NET Micro Framework Architektura emulátorů Managed Application Emulator Emulator Component Custom Emulator Components Configuration Engine Emulovaná aplikace Hotové komponenty Konfigurační engine Konfigurace stávájících komponent Vytváření nových komponent Vytvoření uživatelského rozhraní

22 Microsoft.NET Micro Framework Embedded Programming with the Microsoft®.NET Micro Framework Donald Thompson, Rob S. Miles Literatura Web Microsoft.NET Micro Framework White Paper Blogy Expert.NET Micro Framework Jens Kühner Professional's Guide to.NET Micro Framework Application Development John R. Malin, Sean D. Liming


Stáhnout ppt "Invent the future of small intelligent devices here. Jan Kučera.NET Micro Framework Core Team."

Podobné prezentace


Reklamy Google