.NET Microframework, les joies de l'électronique et du code pour tous

Microsoft
MicrosoftSocial Media Lead at Microsoft em Microsoft
palais des
congrès
Paris




7, 8 et 9
février 2012
.NET Microframework, les
joies de l'électronique et
du code pour tous
(EMB105)
2010-02-07
Laurent Ellerbach
Audience Marketing Director
Microsoft Central and Eastern Europe
Agenda
  .NET Microframework

  Démo « Hello Led »

  Démo « Mon premier serveur
  HTTP »

  Démo « Gérer mon arrosage
  automatique »

  Démo « Eclairer ma ville Lego »
.NET Micro Framework

 .NET pour les processeurs à bas      .NET Microframework pour
 coûts
 • Directement sur du métal
 • Petite et configurable empreinte
 • ARM7 @ 20-40 Mhz
 • ARM9 @ 200 Mhz
 • ~ 300 Ko de RAM
 • 1 Mo de mémoire Flash/ROM

 Compatibilité .NET
 • Différentes versions
 • Sélections des classes
   clientes
 • Support spécifique pour
   l’embarqué
 • Un jeu de classe limité mais
   très riche
NETMF Modèle Open Source

  Open Source collaboratif
  Release History
    V. 4.0 (Nov 2009) entièrement Microsoft

    V. 4.1 (Juin 2010) petites contributions

     communautaires
    V 4.2 (Eté 2011) > 30% contributions
     communautaires
    Site hébergé sur un domaine non-Microsoft –
     netmf.com
    Partenaires communautaires

       tinyclr.com, netduino.com

  Portages de Atmel, NXP, Renasas, TI, ST Micro,
  …
Partial implementation
Namespaces                                 Same as .NET Fx

  System.Windows            System.Windows.Controls
     Window              Border                ListView

System.Windows.Input     Button              RadioButton             System.Data
   Keyboard/GPIO       CheckBox              ScrollViewer
      Mouse              Panel                StackPanel             System.XML

       Stylus            Image                 TextBox                 Reader
                        ListBox               UIElement                 Writer
   System.Forms

  System.Drawing                               System
                       Collections          Globalization            Diagnostics
System.Service.Model
                        Security              Reflection              Runtime
  DPWS Discovery                                                     Remoting
                       Threading                   IO               Serialization
  DPWS Eventing
                       Resources              NET/HTTP              Compiler Svcs
 DPWS Addressing
                                           Managed Drivers
   DPWS Transfer
                       SerialPort          I2C/SPI        A/D         Power Mgmt
  Proxy Discovery
                          USB               GPIO            PWM        Watchdog
Par où commencer?
  1 board tel que Netduino
    Prendre la version
     Netduino Plus avec suport
     réseau et SD pour 50€
     environ
  Le SDK
    Gratuit                     Processeur et mémoire
  Visual Studio Express (C#)     Atmel 32-bit microcontroller
    Gratuit                     Vitesse : 48MHz, ARM7
                                 Espace de stockage pour le
                                 code: 64 KB, sans réseau: 128
…et surtout une bonne idée       KB
pour construire quelque chose    RAM: 28 KB, sans réseau: 60
de sympa                        KB
Mon premier projet : Hello Led

Un peu de Hard 

  Tout ce qu’il y a connaître : U = R x I
  Utiliser une led sur un output pin (3,3V sur
  Netduino)
  1 led = 2 V environ, courant 0,02A
  R = (3,3 – 2)/0,02 = 65 Ohms
Plus de Hard

  Réutilisation d’un
  capteur compte tour
  sur un vieux disque
  dur d’il y a 15 ans 
  Faire clignoter la led
  quand le capteur de
  lumière est obturé       2V (red)    Digital IO (yellow)




                                      Ground (black)
Example d’entrée analogique

  Capteur de lumière agit
  comme une résistance 1M Ω
  (noir complet) à 100 Ω
  (lumière intense)
  R = √(1M x 100) = 10K Ω
  Entrée analogique =         +3.3V
  3.3/(1+R/RL)
                               10KΩ    R
  Varie de 0.0323V (lumière
  intense) à 3.23V (noir)                   Entrée
                                            analogique


                                       RL

                              Ground
Mon premier serveur Web
Implémenté un serveur Web
   Partir de l’exemple Web Server

 Comment ça fonctionne
   1 thread par protocole = 1 pour http
   1 handler pour processer toutes les requêtes (GET et POST)
   1 fonction pour processer GET
   1 fonction pour processer POST
   1 fonction pour retourner un fichier du stockage (par morceau car
   la taille des buffers est limitée)
   1 fonction d’upload de fichier vers le stockage (par morceau car
   la taille des buffers est limitée)

   Plein d’autres fonctions pour faire fonctionner le tout
   Très bon exemple complet qui implémente beaucoup de bonnes
   pratiques
Simplifier le serveur Web
  Enlever le code lié à https
  Enlever le code lié à POST si GET uniquement utilisé
  Enlever le code lié au transfère de fichier si non utilisé
  Enlever le code lié à la gestion des répertoires et stockage
  si pas besoin d’accès aux fichiers
  Enlever ce genre de choses 

  Ajouter une fonction qui permet de lire les paramètres
  passer en URL
  Ajouter du code pour gérer les pages en GET
  Ajouter du code pour gérer vos propres pages
Gérer mon arrosage
automatique
Comment ça marche?

                                  Netduino




                        http
  Client utilisant un
  simple navigateur
                                           2 Pages pour gérer le
                                           calendrier et la
                                           programmation
                                          1 Page pour ouvrir/fermer
                                          les arroseurs
                                           1 Page pour gérer la
                                           programmation
                               Timer pour lancer les arrosages
Illuminer ma ville Lego
Comment ça marche ?
  Web Server avec
                           Netduino
  pages ASP.NET




          http      http




                                  Pour allumer/éteindre
                                  les led
 Client utilisant
                                  Page pour retourner le
 un simple
                                  paramrétrage et l’état
 navigateur
Trucs et astuces
  Try catch partout…
  Les buffers sont limités (1024 in most small ARM)
  System.Threading.Thread.Sleep(100);
  Compromis entre joli code et code efficace: la taille, ça compte
  La sécurité, c’est important, à prendre en compte dès le design
  U=RI
   if (Microsoft.SPOT.Hardware.SystemInfo.IsEmulator)
             strDefaultDir = "WINFS";
        else
             strDefaultDir = "SD";
  localhost:81 utilisé par l’émulateur pour un serveur web
Resources
  SDK download: http://netmf.codeplex.com/releases/view/52341
  .NET Microframework sources: http://netmf.codeplex.com/
  Visual Studio Express:
  http://www.microsoft.com/visualstudio/en-us/products/2010-
  editions/express
  Netduino: http://www.netduino.com/

  Blogs et liens utiles:
    http://www.netmf.com
    http://blogs.msdn.com/netmf

    http://blogs.msdn.com/netmfteam

    http://www.tinyclr.com/
    http://nerduino.wordpress.com/

    http://www.ghielectronics.com/downloads/FEZ/Beginners%2
     0guide%20to%20NETMF.pdf
    http://www.ghielectronics.com/catalog/category/265/
QUESTIONS

Laurent Ellerbach
laurelle@microsoft.com
http://blogs.msdn.com/laurelle
Pour aller plus loin

                                               Prochaines sessions des Dev Camps
  Chaque semaine, les                            10
                                                          Live     Open Data - Développer des applications riches avec le
                                               février
  DevCamps                                      2012

                                                 16
                                                         Meeting   protocole Open Data


  ALM, Azure, Windows Phone, HTML5, OpenData   février
                                                          Live
                                                         Meeting
                                                                   Azure series - Développer des applications sociales sur
                                                                   la plateforme Windows Azure
                                                2012
  http://msdn.microsoft.com/fr-fr/devcamp
                                                 17
                                                          Live     Comprendre le canvas avec Galactic et la librairie
                                               février
                                                         Meeting   three.js
                                                2012

  Téléchargement, ressources                     21
                                               février
                                                          Live     La production automatisée de code avec CodeFluent
                                                         Meeting   Entities
  et toolkits : RdV sur MSDN                    2012

                                               2 mars     Live     Comprendre et mettre en oeuvre le toolkit Azure pour
  http://msdn.microsoft.com/fr-fr/              2012     Meeting   Windows Phone 7, iOS et Android

                                               6 mars     Live
                                                                   Nuget et ALM
                                                2012     Meeting

  Les offres à connaître                       9 mars
                                                2012
                                                          Live
                                                         Meeting
                                                                   Kinect - Bien gérer la vie de son capteur


         90 jours d’essai gratuit de Windows   13 mars
                                                2012
                                                          Live
                                                         Meeting
                                                                   Sharepoint series - Automatisation des tests

         Azure                                 14 mars    Live     TFS Health Check - vérifier la bonne santé de votre
          www.windowsazure.fr                   2012     Meeting   plateforme de développement

                                               15 mars    Live     Azure series - Développer pour les téléphones, les
                                                2012     Meeting   tablettes et le cloud avec Visual Studio 2010
         Jusqu’à 35% de réduction sur Visual   16 mars    Live     Applications METRO design - Désossage en règle d'un
         Studio Pro, avec l’abonnement MSDN     2012     Meeting   template METRO javascript

                                               20 mars    Live     Retour d'expérience LightSwitch, Optimisation de
          www.visualstudio.fr                   2012     Meeting   l'accès aux données, Intégration Silverlight

                                               23 mars    Live     OAuth - la clé de l'utilisation des réseaux sociaux dans
                                                2012     Meeting   votre application
1 de 22

Recomendados

Du hard et des réseaux: Les outils pour construire l'internet des objets chez... por
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...Du hard et des réseaux: Les outils pour construire l'internet des objets chez...
Du hard et des réseaux: Les outils pour construire l'internet des objets chez...Microsoft
768 visualizações23 slides
.NET Microframework: du code, de l’électronique, de la robotique por
.NET Microframework: du code, de l’électronique, de la robotique.NET Microframework: du code, de l’électronique, de la robotique
.NET Microframework: du code, de l’électronique, de la robotiqueMicrosoft
477 visualizações40 slides
Plongée au cœur du Framework .NET 4.5 por
Plongée au cœur du Framework .NET 4.5Plongée au cœur du Framework .NET 4.5
Plongée au cœur du Framework .NET 4.5Microsoft
1.2K visualizações68 slides
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ... por
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...
Géolocalisation, Speech, Intégration : Tirez parti des nouveautés de Windows ...Microsoft
628 visualizações52 slides
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData por
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en ODataDe A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en ODataMicrosoft
1.4K visualizações26 slides
JAVA Chapitre2 por
JAVA Chapitre2JAVA Chapitre2
JAVA Chapitre2Mohamed Ferchichi
1.2K visualizações5 slides

Mais conteúdo relacionado

Destaque

Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7 por
Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7
Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7Microsoft
626 visualizações52 slides
Metode penelitian por
Metode penelitianMetode penelitian
Metode penelitianstiemb
760 visualizações3 slides
Java dans Windows Azure: l'exemple de Jonas por
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
611 visualizações34 slides
Exchange @ The Core with CTE Solutions por
Exchange @ The Core with CTE SolutionsExchange @ The Core with CTE Solutions
Exchange @ The Core with CTE SolutionsCTE Solutions Inc.
952 visualizações57 slides
Gambar jeratan por
Gambar jeratanGambar jeratan
Gambar jeratanOperator Warnet Vast Raha
2.2K visualizações3 slides
HTML5, JavaScript et CSS3: Concevoir des interfaces tactiles à destination de... por
HTML5, JavaScript et CSS3: Concevoir des interfaces tactiles à destination de...HTML5, JavaScript et CSS3: Concevoir des interfaces tactiles à destination de...
HTML5, JavaScript et CSS3: Concevoir des interfaces tactiles à destination de...Microsoft
2.7K visualizações32 slides

Destaque(9)

Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7 por Microsoft
Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7
Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7
Microsoft626 visualizações
Metode penelitian por stiemb
Metode penelitianMetode penelitian
Metode penelitian
stiemb760 visualizações
Java dans Windows Azure: l'exemple de Jonas por Microsoft
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
Microsoft611 visualizações
Exchange @ The Core with CTE Solutions por CTE Solutions Inc.
Exchange @ The Core with CTE SolutionsExchange @ The Core with CTE Solutions
Exchange @ The Core with CTE Solutions
CTE Solutions Inc.952 visualizações
HTML5, JavaScript et CSS3: Concevoir des interfaces tactiles à destination de... por Microsoft
HTML5, JavaScript et CSS3: Concevoir des interfaces tactiles à destination de...HTML5, JavaScript et CSS3: Concevoir des interfaces tactiles à destination de...
HTML5, JavaScript et CSS3: Concevoir des interfaces tactiles à destination de...
Microsoft2.7K visualizações
Create Account por qoffice123
Create AccountCreate Account
Create Account
qoffice1231.1K visualizações

Similar a .NET Microframework, les joies de l'électronique et du code pour tous

Analyse et optimisation des performances des applications Windows Phone 7.5 por
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Microsoft
521 visualizações37 slides
JavaScript aussi sur le serveur et jusque dans le cloud? por
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
156 visualizações40 slides
JavaScript aussi sur le serveur et jusque dans le cloud? por
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
724 visualizações40 slides
Server Side Javascript in the cloud por
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
812 visualizações40 slides
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu... por
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...Microsoft
453 visualizações36 slides
Fast and Furious XAML Apps! por
Fast and Furious XAML Apps!Fast and Furious XAML Apps!
Fast and Furious XAML Apps!Microsoft
712 visualizações37 slides

Similar a .NET Microframework, les joies de l'électronique et du code pour tous(20)

Analyse et optimisation des performances des applications Windows Phone 7.5 por Microsoft
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5
Microsoft521 visualizações
JavaScript aussi sur le serveur et jusque dans le cloud? por Microsoft
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
Microsoft156 visualizações
JavaScript aussi sur le serveur et jusque dans le cloud? por benjguin
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
benjguin724 visualizações
Server Side Javascript in the cloud por stefounet
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
stefounet812 visualizações
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu... por Microsoft
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Bornes, écrans, automates: ce qui se cache derrière les systèmes embarqués qu...
Microsoft453 visualizações
Fast and Furious XAML Apps! por Microsoft
Fast and Furious XAML Apps!Fast and Furious XAML Apps!
Fast and Furious XAML Apps!
Microsoft712 visualizações
Techdays 2012 - Tout sur Microsoft Speech por sputier
Techdays 2012 - Tout sur Microsoft SpeechTechdays 2012 - Tout sur Microsoft Speech
Techdays 2012 - Tout sur Microsoft Speech
sputier2.8K visualizações
Améliorer votre productivité XAML en entreprise ! por Microsoft
Améliorer votre productivité XAML en entreprise !Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !
Microsoft215 visualizações
Améliorer votre productivité XAML en entreprise ! por Microsoft
Améliorer votre productivité XAML en entreprise !Améliorer votre productivité XAML en entreprise !
Améliorer votre productivité XAML en entreprise !
Microsoft340 visualizações
Réutilisation de code entre Windows 8 et Windows Phone 8. por Microsoft
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.
Microsoft733 visualizações
Développement de jeux pour Windows Phone 7.5 avec XNA et Silverlight por Microsoft
Développement de jeux pour Windows Phone 7.5 avec XNA et SilverlightDéveloppement de jeux pour Windows Phone 7.5 avec XNA et Silverlight
Développement de jeux pour Windows Phone 7.5 avec XNA et Silverlight
Microsoft521 visualizações
De A à Z : Choisir une architecture pour sa solution applicative por Microsoft
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicative
Microsoft906 visualizações
soft-shake.ch - Domotique et robotique avec le micro Framework .NET por soft-shake.ch
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch1K visualizações
Introduction à DotNetNuke por Microsoft
Introduction à DotNetNukeIntroduction à DotNetNuke
Introduction à DotNetNuke
Microsoft442 visualizações
DotNetNuke aux TechDays 2012 por Cyril P
DotNetNuke aux TechDays 2012DotNetNuke aux TechDays 2012
DotNetNuke aux TechDays 2012
Cyril P1.2K visualizações
De A à Z: Utiliser PivotViewer dans une application orientée données por Microsoft
De A à Z: Utiliser PivotViewer dans une application orientée donnéesDe A à Z: Utiliser PivotViewer dans une application orientée données
De A à Z: Utiliser PivotViewer dans une application orientée données
Microsoft406 visualizações
Applications métiers et/ou d'entreprise sur Windows Phone 7 - bonnes pratique... por Microsoft
Applications métiers et/ou d'entreprise sur Windows Phone 7 - bonnes pratique...Applications métiers et/ou d'entreprise sur Windows Phone 7 - bonnes pratique...
Applications métiers et/ou d'entreprise sur Windows Phone 7 - bonnes pratique...
Microsoft1.1K visualizações
Informatique Mobile et synchronisation por Sébastien Letélié
Informatique Mobile et synchronisationInformatique Mobile et synchronisation
Informatique Mobile et synchronisation
Sébastien Letélié1.5K visualizações
ALT.Net Montréal: NETMF et Gadgeteer por Gabriel Mongeon
ALT.Net Montréal: NETMF et GadgeteerALT.Net Montréal: NETMF et Gadgeteer
ALT.Net Montréal: NETMF et Gadgeteer
Gabriel Mongeon1.1K visualizações

Mais de Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu por
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
1.7K visualizações50 slides
La Blockchain pas à PaaS por
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
1.6K visualizações36 slides
Tester, Monitorer et Déployer son application mobile por
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
1.1K visualizações26 slides
Windows 10, un an après – Nouveautés & Démo por
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
823 visualizações18 slides
Prenez votre pied avec les bots et cognitive services. por
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
915 visualizações21 slides
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy... por
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
852 visualizações37 slides

Mais de Microsoft(20)

Uwp + Xamarin : Du nouveau en terre du milieu por Microsoft
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
Microsoft1.7K visualizações
La Blockchain pas à PaaS por Microsoft
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
Microsoft1.6K visualizações
Tester, Monitorer et Déployer son application mobile por Microsoft
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
Microsoft1.1K visualizações
Windows 10, un an après – Nouveautés & Démo por Microsoft
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
Microsoft823 visualizações
Prenez votre pied avec les bots et cognitive services. por Microsoft
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
Microsoft915 visualizações
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy... por Microsoft
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Microsoft852 visualizações
Créer un bot de A à Z por Microsoft
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
Microsoft1.3K visualizações
Microsoft Composition, pierre angulaire de vos applications ? por Microsoft
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft625 visualizações
Les nouveautés SQL Server 2016 por Microsoft
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
Microsoft451 visualizações
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ? por Microsoft
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Microsoft306 visualizações
Administration et supervision depuis le Cloud avec Azure Logs Analytics por Microsoft
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Microsoft1K visualizações
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag... por Microsoft
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Microsoft498 visualizações
Plan de Reprise d'Activité avec Azure Site Recovery por Microsoft
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
Microsoft920 visualizações
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo... por Microsoft
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Microsoft500 visualizações
Transformation de la représentation : De la VR à la RA, aller & retour. por Microsoft
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
Microsoft469 visualizações
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça... por Microsoft
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Microsoft332 visualizações
Introduction à ASP.NET Core por Microsoft
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
Microsoft742 visualizações
Open Source et Microsoft Azure, rêve ou réalité ? por Microsoft
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
Microsoft453 visualizações
Comment développer sur la console Xbox One avec une application Universal Win... por Microsoft
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
Microsoft501 visualizações
Azure Service Fabric pour les développeurs por Microsoft
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
Microsoft353 visualizações

.NET Microframework, les joies de l'électronique et du code pour tous

  • 1. palais des congrès Paris 7, 8 et 9 février 2012
  • 2. .NET Microframework, les joies de l'électronique et du code pour tous (EMB105) 2010-02-07 Laurent Ellerbach Audience Marketing Director Microsoft Central and Eastern Europe
  • 3. Agenda .NET Microframework Démo « Hello Led » Démo « Mon premier serveur HTTP » Démo « Gérer mon arrosage automatique » Démo « Eclairer ma ville Lego »
  • 4. .NET Micro Framework .NET pour les processeurs à bas .NET Microframework pour coûts • Directement sur du métal • Petite et configurable empreinte • ARM7 @ 20-40 Mhz • ARM9 @ 200 Mhz • ~ 300 Ko de RAM • 1 Mo de mémoire Flash/ROM Compatibilité .NET • Différentes versions • Sélections des classes clientes • Support spécifique pour l’embarqué • Un jeu de classe limité mais très riche
  • 5. NETMF Modèle Open Source Open Source collaboratif Release History  V. 4.0 (Nov 2009) entièrement Microsoft  V. 4.1 (Juin 2010) petites contributions communautaires  V 4.2 (Eté 2011) > 30% contributions communautaires  Site hébergé sur un domaine non-Microsoft – netmf.com  Partenaires communautaires  tinyclr.com, netduino.com Portages de Atmel, NXP, Renasas, TI, ST Micro, …
  • 6. Partial implementation Namespaces Same as .NET Fx System.Windows System.Windows.Controls Window Border ListView System.Windows.Input Button RadioButton System.Data Keyboard/GPIO CheckBox ScrollViewer Mouse Panel StackPanel System.XML Stylus Image TextBox Reader ListBox UIElement Writer System.Forms System.Drawing System Collections Globalization Diagnostics System.Service.Model Security Reflection Runtime DPWS Discovery Remoting Threading IO Serialization DPWS Eventing Resources NET/HTTP Compiler Svcs DPWS Addressing Managed Drivers DPWS Transfer SerialPort I2C/SPI A/D Power Mgmt Proxy Discovery USB GPIO PWM Watchdog
  • 7. Par où commencer? 1 board tel que Netduino  Prendre la version Netduino Plus avec suport réseau et SD pour 50€ environ Le SDK  Gratuit Processeur et mémoire Visual Studio Express (C#) Atmel 32-bit microcontroller  Gratuit Vitesse : 48MHz, ARM7 Espace de stockage pour le code: 64 KB, sans réseau: 128 …et surtout une bonne idée KB pour construire quelque chose RAM: 28 KB, sans réseau: 60 de sympa  KB
  • 8. Mon premier projet : Hello Led 
  • 9. Un peu de Hard  Tout ce qu’il y a connaître : U = R x I Utiliser une led sur un output pin (3,3V sur Netduino) 1 led = 2 V environ, courant 0,02A R = (3,3 – 2)/0,02 = 65 Ohms
  • 10. Plus de Hard Réutilisation d’un capteur compte tour sur un vieux disque dur d’il y a 15 ans  Faire clignoter la led quand le capteur de lumière est obturé 2V (red) Digital IO (yellow) Ground (black)
  • 11. Example d’entrée analogique Capteur de lumière agit comme une résistance 1M Ω (noir complet) à 100 Ω (lumière intense) R = √(1M x 100) = 10K Ω Entrée analogique = +3.3V 3.3/(1+R/RL) 10KΩ R Varie de 0.0323V (lumière intense) à 3.23V (noir) Entrée analogique RL Ground
  • 13. Implémenté un serveur Web Partir de l’exemple Web Server Comment ça fonctionne 1 thread par protocole = 1 pour http 1 handler pour processer toutes les requêtes (GET et POST) 1 fonction pour processer GET 1 fonction pour processer POST 1 fonction pour retourner un fichier du stockage (par morceau car la taille des buffers est limitée) 1 fonction d’upload de fichier vers le stockage (par morceau car la taille des buffers est limitée) Plein d’autres fonctions pour faire fonctionner le tout Très bon exemple complet qui implémente beaucoup de bonnes pratiques
  • 14. Simplifier le serveur Web Enlever le code lié à https Enlever le code lié à POST si GET uniquement utilisé Enlever le code lié au transfère de fichier si non utilisé Enlever le code lié à la gestion des répertoires et stockage si pas besoin d’accès aux fichiers Enlever ce genre de choses  Ajouter une fonction qui permet de lire les paramètres passer en URL Ajouter du code pour gérer les pages en GET Ajouter du code pour gérer vos propres pages
  • 16. Comment ça marche? Netduino http Client utilisant un simple navigateur 2 Pages pour gérer le calendrier et la programmation 1 Page pour ouvrir/fermer les arroseurs 1 Page pour gérer la programmation Timer pour lancer les arrosages
  • 18. Comment ça marche ? Web Server avec Netduino pages ASP.NET http http Pour allumer/éteindre les led Client utilisant Page pour retourner le un simple paramrétrage et l’état navigateur
  • 19. Trucs et astuces Try catch partout… Les buffers sont limités (1024 in most small ARM) System.Threading.Thread.Sleep(100); Compromis entre joli code et code efficace: la taille, ça compte La sécurité, c’est important, à prendre en compte dès le design U=RI if (Microsoft.SPOT.Hardware.SystemInfo.IsEmulator) strDefaultDir = "WINFS"; else strDefaultDir = "SD"; localhost:81 utilisé par l’émulateur pour un serveur web
  • 20. Resources SDK download: http://netmf.codeplex.com/releases/view/52341 .NET Microframework sources: http://netmf.codeplex.com/ Visual Studio Express: http://www.microsoft.com/visualstudio/en-us/products/2010- editions/express Netduino: http://www.netduino.com/ Blogs et liens utiles:  http://www.netmf.com  http://blogs.msdn.com/netmf  http://blogs.msdn.com/netmfteam  http://www.tinyclr.com/  http://nerduino.wordpress.com/  http://www.ghielectronics.com/downloads/FEZ/Beginners%2 0guide%20to%20NETMF.pdf  http://www.ghielectronics.com/catalog/category/265/
  • 22. Pour aller plus loin Prochaines sessions des Dev Camps Chaque semaine, les 10 Live Open Data - Développer des applications riches avec le février DevCamps 2012 16 Meeting protocole Open Data ALM, Azure, Windows Phone, HTML5, OpenData février Live Meeting Azure series - Développer des applications sociales sur la plateforme Windows Azure 2012 http://msdn.microsoft.com/fr-fr/devcamp 17 Live Comprendre le canvas avec Galactic et la librairie février Meeting three.js 2012 Téléchargement, ressources 21 février Live La production automatisée de code avec CodeFluent Meeting Entities et toolkits : RdV sur MSDN 2012 2 mars Live Comprendre et mettre en oeuvre le toolkit Azure pour http://msdn.microsoft.com/fr-fr/ 2012 Meeting Windows Phone 7, iOS et Android 6 mars Live Nuget et ALM 2012 Meeting Les offres à connaître 9 mars 2012 Live Meeting Kinect - Bien gérer la vie de son capteur 90 jours d’essai gratuit de Windows 13 mars 2012 Live Meeting Sharepoint series - Automatisation des tests Azure 14 mars Live TFS Health Check - vérifier la bonne santé de votre www.windowsazure.fr 2012 Meeting plateforme de développement 15 mars Live Azure series - Développer pour les téléphones, les 2012 Meeting tablettes et le cloud avec Visual Studio 2010 Jusqu’à 35% de réduction sur Visual 16 mars Live Applications METRO design - Désossage en règle d'un Studio Pro, avec l’abonnement MSDN 2012 Meeting template METRO javascript 20 mars Live Retour d'expérience LightSwitch, Optimisation de www.visualstudio.fr 2012 Meeting l'accès aux données, Intégration Silverlight 23 mars Live OAuth - la clé de l'utilisation des réseaux sociaux dans 2012 Meeting votre application