SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Sviluppo di applicazioni embedded
moderne con .NET Micro Framework
Lorenzo Maiorfi
maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it
Principali intenti di .NET Micro Framework
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
Virtualizzazione del «core»
– Un processore software (CLR) stack-based
esegue bytecode espresso in linguaggio «CIL»
Integrazione binaria tra moduli
software
– La CLR si occupa di threading, gestione della
memoria, interazione con codice «nativo»,ecc.
– La CLR «processa» delle unità eseguibili dette
«assembly»
Sviluppare per .NET Micro Framework
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
1. Lo sviluppatore scrive codice utilizzando linguaggi di
alto livello (C#/VB.NET)
2. Il compilatore genera uno o più assembly
3. Il bytecode degli assembly così generati viene scritto
sulla memoria Flash del dispositivo
4. Il device al reset esegue il «TinyBooter» che a sua volta
innesca il boot-strap della «TinyCLR»
5. La TinyCLR carica gli assembly ed esegue il metodo
«entry-point» (ossia il Main())
Demo #1 – Getting Started
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
DEMO
Getting Started
Demo #2 – Embedded & OOP
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
DEMO
Embedded OOP
Applicazioni «Real world»
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
• Sistema per il controllo accessi in impianti
industriali «outdoor»
• Banco di prova da laboratorio per test
motori elettrici
• Appliance per tracciatura e monitoraggio
remoto della produzione
• Sistema per il controllo wireless
dell’illuminazione di un canale marittimo
Demo #3 – IoT
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
DEMO
Internet of Things
Demo #4 – HMI Android
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
DEMO
Android HMI
Punti di forza di .NET Micro Framework
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
Produttività
– IDE, compilatore, debugger ed emulatore costituiscono la
toolchain più produttiva disponibile nel mercato embedded
Affidabilità
– Runtime «managed», controllo completo su ogni «layer»
dell’applicazione
Portabilità
– Virtualmente portabile su qualsiasi core, attualmente copre
tutti i core ARM™ 32 bit
Supporto
– Completamente open, molte librerie di base, molte risorse
community
Per approndimenti
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
 5 Aprile 2013, Perugia
«Internet of Things con Microsoft .NET»
DotNetUmbria
 31 Maggio 2013, Roma
«NetMF@Work»
Microsoft/DomusDotNet/XeDotNet
 http://www.tinyclr.it
Q&A
Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it
www.tinyclr.it
Domande?
Suggerimenti?
Insulti?
Sviluppo di applicazioni embedded moderne con
.NET Micro Framework
Lorenzo Maiorfi
maiorfi@innovactive.it
www.innovactive.it - www.tinyclr.it
Grazie per l’attenzione!

Weitere ähnliche Inhalte

Was ist angesagt?

UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - PrismDotNetMarche
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote ItalyMarco Parenzan
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campusDotNetCampus
 
Introduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelIntroduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelAndrea Tosato
 
Async: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDaysAsync: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDaysMatteo Baglini
 
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...Andrea Balducci
 
Gam05 costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
Gam05   costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...Gam05   costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
Gam05 costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...DotNetCampus
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Andrea Agnoletto
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftSoluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftMassimo Bonanni
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
 
Progettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web DesignProgettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web DesignSalvatore Paone
 
Real Time Monitoring and Analitycs : Customer Experience in Production
Real Time Monitoring and Analitycs : Customer Experience in ProductionReal Time Monitoring and Analitycs : Customer Experience in Production
Real Time Monitoring and Analitycs : Customer Experience in ProductionCodemotion
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaAndrea Dottor
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal WebtrendsStefano Iaboni
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciutaAndrea Dottor
 

Was ist angesagt? (20)

UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - Prism
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campus
 
Introduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelIntroduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor Model
 
Async: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDaysAsync: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDays
 
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
 
Gam05 costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
Gam05   costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...Gam05   costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
Gam05 costruisci il tuo antifurto perfetto con kinect e gli azure mobile se...
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftSoluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
 
Akka.net & Actor Model
Akka.net & Actor ModelAkka.net & Actor Model
Akka.net & Actor Model
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
 
Progettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web DesignProgettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web Design
 
Real Time Monitoring and Analitycs : Customer Experience in Production
Real Time Monitoring and Analitycs : Customer Experience in ProductionReal Time Monitoring and Analitycs : Customer Experience in Production
Real Time Monitoring and Analitycs : Customer Experience in Production
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
 
Angular and beyond
Angular and beyondAngular and beyond
Angular and beyond
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal Webtrends
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciuta
 

Andere mochten auch

Introduction to HTML5 game development (with Phaser) - Riva
Introduction to HTML5 game development (with Phaser) - RivaIntroduction to HTML5 game development (with Phaser) - Riva
Introduction to HTML5 game development (with Phaser) - RivaCodemotion
 
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016 Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016 Codemotion
 
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016Codemotion
 
DevOps in Cloud, dai Container all'approccio Codeless - Gabriele Provinciali,...
DevOps in Cloud, dai Container all'approccio Codeless - Gabriele Provinciali,...DevOps in Cloud, dai Container all'approccio Codeless - Gabriele Provinciali,...
DevOps in Cloud, dai Container all'approccio Codeless - Gabriele Provinciali,...Codemotion
 
Getting started with go - Florin Patan - Codemotion Milan 2016
Getting started with go - Florin Patan - Codemotion Milan 2016Getting started with go - Florin Patan - Codemotion Milan 2016
Getting started with go - Florin Patan - Codemotion Milan 2016Codemotion
 
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...Codemotion
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Codemotion
 

Andere mochten auch (7)

Introduction to HTML5 game development (with Phaser) - Riva
Introduction to HTML5 game development (with Phaser) - RivaIntroduction to HTML5 game development (with Phaser) - Riva
Introduction to HTML5 game development (with Phaser) - Riva
 
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016 Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
 
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
 
DevOps in Cloud, dai Container all'approccio Codeless - Gabriele Provinciali,...
DevOps in Cloud, dai Container all'approccio Codeless - Gabriele Provinciali,...DevOps in Cloud, dai Container all'approccio Codeless - Gabriele Provinciali,...
DevOps in Cloud, dai Container all'approccio Codeless - Gabriele Provinciali,...
 
Getting started with go - Florin Patan - Codemotion Milan 2016
Getting started with go - Florin Patan - Codemotion Milan 2016Getting started with go - Florin Patan - Codemotion Milan 2016
Getting started with go - Florin Patan - Codemotion Milan 2016
 
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
 

Ähnlich wie Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Maiorfi

Web service persino nei sistemi embedeed
Web service persino nei sistemi embedeedWeb service persino nei sistemi embedeed
Web service persino nei sistemi embedeedAntonio Cafiero
 
Are you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkAre you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkMirco Vanini
 
04-Lezione PON BAITAH Dott. Suma - IDE and modern developing technoloiges
04-Lezione PON BAITAH Dott. Suma - IDE and modern developing technoloiges04-Lezione PON BAITAH Dott. Suma - IDE and modern developing technoloiges
04-Lezione PON BAITAH Dott. Suma - IDE and modern developing technoloigesMarco Suma
 
Presentazione ict easy
Presentazione ict easyPresentazione ict easy
Presentazione ict easyaxelmo69
 
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsStefano Sanna
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86Massimiliano Torregiani
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerAlessandro Mascherin
 
3 domande a paolo gai - co-founder @evidence srl
3 domande a  paolo gai - co-founder @evidence srl3 domande a  paolo gai - co-founder @evidence srl
3 domande a paolo gai - co-founder @evidence srlIonela
 
Metodologie Estrazione Evidenze Digitali
Metodologie Estrazione Evidenze DigitaliMetodologie Estrazione Evidenze Digitali
Metodologie Estrazione Evidenze Digitalipiccimario
 
Intellisystem Technologies - Collezione riviste anno 2003 - Magazine Book Col...
Intellisystem Technologies - Collezione riviste anno 2003 - Magazine Book Col...Intellisystem Technologies - Collezione riviste anno 2003 - Magazine Book Col...
Intellisystem Technologies - Collezione riviste anno 2003 - Magazine Book Col...Cristian Randieri PhD
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Fabio Mora
 
Sipro - Sistemi integrati per l'innovazione di processo.
Sipro - Sistemi integrati per l'innovazione di processo.Sipro - Sistemi integrati per l'innovazione di processo.
Sipro - Sistemi integrati per l'innovazione di processo.AREA Science Park
 
L'App store per applicazioni Enterprise: La mobilità porta a porta
L'App store per applicazioni Enterprise: La mobilità porta a portaL'App store per applicazioni Enterprise: La mobilità porta a porta
L'App store per applicazioni Enterprise: La mobilità porta a portaMicrofocusitalia
 
Progettazione per Apple Watch - Todi Appy Days 2015
Progettazione per Apple Watch - Todi Appy Days 2015Progettazione per Apple Watch - Todi Appy Days 2015
Progettazione per Apple Watch - Todi Appy Days 2015Todi Appy Days
 
Wearable Lab: Progettazione per Apple Watch
Wearable Lab: Progettazione per Apple WatchWearable Lab: Progettazione per Apple Watch
Wearable Lab: Progettazione per Apple WatchPaolo Musolino
 
Internet of Things con .Net Micro Framework: un mondo di device interconnessi
Internet of Things con .Net Micro Framework: un mondo di device interconnessiInternet of Things con .Net Micro Framework: un mondo di device interconnessi
Internet of Things con .Net Micro Framework: un mondo di device interconnessiWhymca
 
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Roberto Navoni
 

Ähnlich wie Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Maiorfi (20)

Web service persino nei sistemi embedeed
Web service persino nei sistemi embedeedWeb service persino nei sistemi embedeed
Web service persino nei sistemi embedeed
 
Micro Applicazioni Mobile
Micro Applicazioni MobileMicro Applicazioni Mobile
Micro Applicazioni Mobile
 
Are you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkAre you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@Work
 
04-Lezione PON BAITAH Dott. Suma - IDE and modern developing technoloiges
04-Lezione PON BAITAH Dott. Suma - IDE and modern developing technoloiges04-Lezione PON BAITAH Dott. Suma - IDE and modern developing technoloiges
04-Lezione PON BAITAH Dott. Suma - IDE and modern developing technoloiges
 
Presentazione ict easy
Presentazione ict easyPresentazione ict easy
Presentazione ict easy
 
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile Applications
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 
3 domande a paolo gai - co-founder @evidence srl
3 domande a  paolo gai - co-founder @evidence srl3 domande a  paolo gai - co-founder @evidence srl
3 domande a paolo gai - co-founder @evidence srl
 
Corso ordine ingegneri
Corso ordine ingegneriCorso ordine ingegneri
Corso ordine ingegneri
 
Metodologie Estrazione Evidenze Digitali
Metodologie Estrazione Evidenze DigitaliMetodologie Estrazione Evidenze Digitali
Metodologie Estrazione Evidenze Digitali
 
Intellisystem Technologies - Collezione riviste anno 2003 - Magazine Book Col...
Intellisystem Technologies - Collezione riviste anno 2003 - Magazine Book Col...Intellisystem Technologies - Collezione riviste anno 2003 - Magazine Book Col...
Intellisystem Technologies - Collezione riviste anno 2003 - Magazine Book Col...
 
Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2Tanti "piccoli rilasci" con Symfony2
Tanti "piccoli rilasci" con Symfony2
 
Sipro - Sistemi integrati per l'innovazione di processo.
Sipro - Sistemi integrati per l'innovazione di processo.Sipro - Sistemi integrati per l'innovazione di processo.
Sipro - Sistemi integrati per l'innovazione di processo.
 
L'App store per applicazioni Enterprise: La mobilità porta a porta
L'App store per applicazioni Enterprise: La mobilità porta a portaL'App store per applicazioni Enterprise: La mobilità porta a porta
L'App store per applicazioni Enterprise: La mobilità porta a porta
 
Progettazione per Apple Watch - Todi Appy Days 2015
Progettazione per Apple Watch - Todi Appy Days 2015Progettazione per Apple Watch - Todi Appy Days 2015
Progettazione per Apple Watch - Todi Appy Days 2015
 
Wearable Lab: Progettazione per Apple Watch
Wearable Lab: Progettazione per Apple WatchWearable Lab: Progettazione per Apple Watch
Wearable Lab: Progettazione per Apple Watch
 
Glv on air 08-10_2019
Glv on air   08-10_2019Glv on air   08-10_2019
Glv on air 08-10_2019
 
Internet of Things con .Net Micro Framework: un mondo di device interconnessi
Internet of Things con .Net Micro Framework: un mondo di device interconnessiInternet of Things con .Net Micro Framework: un mondo di device interconnessi
Internet of Things con .Net Micro Framework: un mondo di device interconnessi
 
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
 

Mehr von Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Mehr von Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Maiorfi

  • 1. Sviluppo di applicazioni embedded moderne con .NET Micro Framework Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it
  • 2. Principali intenti di .NET Micro Framework Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it Virtualizzazione del «core» – Un processore software (CLR) stack-based esegue bytecode espresso in linguaggio «CIL» Integrazione binaria tra moduli software – La CLR si occupa di threading, gestione della memoria, interazione con codice «nativo»,ecc. – La CLR «processa» delle unità eseguibili dette «assembly»
  • 3. Sviluppare per .NET Micro Framework Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it 1. Lo sviluppatore scrive codice utilizzando linguaggi di alto livello (C#/VB.NET) 2. Il compilatore genera uno o più assembly 3. Il bytecode degli assembly così generati viene scritto sulla memoria Flash del dispositivo 4. Il device al reset esegue il «TinyBooter» che a sua volta innesca il boot-strap della «TinyCLR» 5. La TinyCLR carica gli assembly ed esegue il metodo «entry-point» (ossia il Main())
  • 4. Demo #1 – Getting Started Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it DEMO Getting Started
  • 5. Demo #2 – Embedded & OOP Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it DEMO Embedded OOP
  • 6. Applicazioni «Real world» Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it • Sistema per il controllo accessi in impianti industriali «outdoor» • Banco di prova da laboratorio per test motori elettrici • Appliance per tracciatura e monitoraggio remoto della produzione • Sistema per il controllo wireless dell’illuminazione di un canale marittimo
  • 7. Demo #3 – IoT Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it DEMO Internet of Things
  • 8. Demo #4 – HMI Android Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it DEMO Android HMI
  • 9. Punti di forza di .NET Micro Framework Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it Produttività – IDE, compilatore, debugger ed emulatore costituiscono la toolchain più produttiva disponibile nel mercato embedded Affidabilità – Runtime «managed», controllo completo su ogni «layer» dell’applicazione Portabilità – Virtualmente portabile su qualsiasi core, attualmente copre tutti i core ARM™ 32 bit Supporto – Completamente open, molte librerie di base, molte risorse community
  • 10. Per approndimenti Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it  5 Aprile 2013, Perugia «Internet of Things con Microsoft .NET» DotNetUmbria  31 Maggio 2013, Roma «NetMF@Work» Microsoft/DomusDotNet/XeDotNet  http://www.tinyclr.it
  • 11. Q&A Lorenzo Maiorfi maiorfi@innovactive.it – www.innovactive.it www.tinyclr.it Domande? Suggerimenti? Insulti?
  • 12. Sviluppo di applicazioni embedded moderne con .NET Micro Framework Lorenzo Maiorfi maiorfi@innovactive.it www.innovactive.it - www.tinyclr.it Grazie per l’attenzione!