• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
 

soft-shake.ch - Domotique et robotique avec le micro Framework .NET

on

  • 1,246 views

Jean-Claude Armici and Philippe Schutz...

Jean-Claude Armici and Philippe Schutz

Le micro Framework .NET offre un environnement de développement et d’exécution complet et innovant. Il offre une programmation de haut niveau, par exemple en C#, permettant de gérer toutes les possibilités offertes par diverses carte électroniques modernes et performantes.

Cette présentation a pour but de faire connaître le micro Framework .NET, son architecture et ses fonctionnalités, au travers d’exemples et de démonstrations dans les domaines de la domotique et de la robotique. La programmation, dans un environnement standard, ainsi que le matériel utilisé, très abordable à tous les points de vue, devraient permettre à chacun de s’initier sans peine à l’utilisation de l’informatique embarquée.


http://soft-shake.ch/2011/conference/sessions/microsoft/2011/09/06/domotique-et-robotique-avec-le-micro-framework-NET.html

Statistics

Views

Total Views
1,246
Views on SlideShare
1,244
Embed Views
2

Actions

Likes
1
Downloads
32
Comments
0

1 Embed 2

http://a0.twimg.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    soft-shake.ch - Domotique et robotique avec le micro Framework .NET soft-shake.ch - Domotique et robotique avec le micro Framework .NET Presentation Transcript

    • cocktail d’expérience informatiques Genève 3 & 4 octobre 2011 Seconde édition soft-shake.chAuteur J-C ARMICI / Ph. SCHUTZ Track MicrosoftSession Domotique et robotique avec le micro Framework .NET
    • http://www.philippe-schutz.com/SoftShake2011.zip
    • Domotique et robotique avec le micro Framework .NETJ-C Armici / Ph. Schutz
    • Jean-Claude Philippe Armici Schutz jc.armici@gmail.com pschutz@iprolink.ch• Physicien et informaticien • Informaticien:• Enseigne l’informatique au CFPT • Créateur indépendant (techniciens ES en informatique) • CT Technologies, Inc.• Intérêts: • Graphiste et dessinateur d’icônes • Ergonomie • Intérêts: • Nouvelles technologies • Xxx • Écriture • yyy
    • Motivations:• Intérêt pour le micro Framework .NET• Lien entre informatique et matériel électronique• Facilité de développement pour non-électroniciensObjectifs:• Démocratiser le micro Framework• Présenter un «Bootstrap» permettant à chacun de concevoir et de programmer des systèmes embarqués• Susciter la curiositéNous nous sommes focalisés surle matériel FEZ
    • • Environnement riche basé sur la technologie .NET• Adapté aux systèmes embarqués miniaturisés, peu coûteux et disposant de peu de ressources matérielles• Développé «from scratch» et opensource• Quelques centaines de Ko de RAM jusqu’à plusieurs Mo• Processeur 32 bits• Utilisation d’un émulateur ou d’un terminal réel• C# avec Visual Studio
    • Twitter client Micro Framework .NET Google Maps SMTP envoi email FTP HTTP Time client & server serveur
    •  Micro Framework n’est pas un OS, mais un runtime bootable permettant d’exécuter 1 seul programme (multithread) WPF (avantage pour les IHM vectorielles), mais pas de XAML
    • Application Application et librairies utilisateurClasses bases Librairies .NET WPF Comms … de Moteur Système de Garbage CLR Interop d’exécution types Collector Runtime PAL Timers RAM I/O HAL Drivers Ou OS Drivers Matériel Processeur et périphérique
    • • Convient aux équipements mono-fonctionnalité ou à fonctionnalités limitées• Dédié aux nouveaux processeurs 32 bits (moindre coût et faible consommation): • Minimum 256 Ko de RAM et 512 Ko de flash/ROM • ARM7 sans MMU, ARM9 sans MMU, Cortex M3, Xscale, Blackfin (DSP intégré)• Expose au code .NET les interfaces de gestion de l’énergie
    • • Pas un OS, mais un runtime bootable d’un sous-ensemble du CLR .NET• Code plus simple en comparaison à C / C++• Gestion native des exceptions• Garbage Collector• Écriture de drivers en C# pour les périphériques connecté via • Ethernet, SPI, I2C, GPIO, USART, I/O • USB (vrais devices connectés, p.ex. souris) • PWM (support rapide des nouveaux périphériques)
    • • Intégration à Visual Studio• Développement en C#: • On profite des avantages • Peu de fonctions disponibles (il faut écrire le reste)• Cross-debugging• Object browsing• Intellisense• Compilation et déploiement• Émulateurs extensibles
    • Environ 1 à 2 millions d’équipements sur lemarché qui utilisent le Micro FrameworkQuelques exemples d’applications:• Domotique: • Télécommandes • Capteurs• Médical: • Tensiomètres • Autres appareils portables• Automobile: • Afficheurs • GPS
    • Mais aussi…• Informatique: • Connexions avec l’électronique • Loisirs portables• Grand public: • Robotique de divertissement • Périphériques divers • Stations météo • Jeux • Systèmes d’alarme
    • • Doit tenir dans peu de mémoire• Une seule collection: ArrayList• Rendu: pas de WindowsForm (seulement de quoi écrire , drawing 2D, Pen, Brush, formes de base)• System.Web et System.Data: inexistant• System.Globalization• System.Net (Sockets, Dns, IPAddress, …)• System.Reflection (Assembly, MethodInfo)• System.IO
    • existant inexistant System.Web System.Windows.FormsServices UI Design Component model• Description • HTML controls• Discovery • Web controls• Protocols System.DrawingCache Security Drawing2D PrintingConfiguration Session state Imaging Text System.Data System.XMLADO.NET SQL Client XML Document SerializationDesign SQL ServerCE Xslt/XPath Reader/Writers SystemCollections IO Configuration RuntimeSecurity Net Service process Interop servicesText Reflection Diagnostics RemotingGlobalization Resources Threading Serialization
    • existant inexistant nouveau System.Windows.Forms Design Component model System.Drawing Microsoft.SPOT Drawing2D Printing Presentation Net Imaging Text IO Hardware System.XML XML Document Serialization Xslt/XPath Reader/Writers SystemCollections IO Configuration RuntimeSecurity Net Service process Interop servicesText Reflection Diagnostics RemotingGlobalization Resources Threading Serialization
    • • Taille minimale 256Ko de flash et 64Ko de RAM• Amélioration des performances• Threads avec priorités• Outil de génération de code pour DPWS• Connexion SSL• Supporte le WiFi• Interface standard pour les écrans tactiles• Supporte les systèmes de fichiers (FAT32)• Interopérabilité avec du code natifImportant www.microsft.com/netmf
    • • HTTP and HTTPs: clients et serveurs, avec les nouveaux types HttpWebRequest, HttpWebResponse et HttpListener dans l’assembly System.Http.dll• Native XML Parser: le parser a été déplacé vers le code natif pour améliorer ses performances• Native collections: les classes de collections natives déplacées vers le code natif, ajout des types Queue et Stack• Time sync: nouvelle API Time Sync pour synchronisation manuelle ou automatique avec un serveur de temps• TinyCore performance improvements: amélioration du dispatch des événements et des couches.
    • Matériel Kit robot 100 $ FEZ ultimate kit 150 $Logiciel: Visual Studio Express (ou supérieur) 0$ SDK Micro Framework (Microsoft) 0$ SDK FEZ 0$
    • Techniques diverses utilisées dans lesbâtiments et lieux publics.Domaines de prédilection• Confort (appareils électrodomestiques, gestion de l’énergie, …)• Sécurité (alarmes, détecteurs, …)• CommunicationImportance des IHM et des modes de transmission• Ondes radio: Bluetooth, Zigbee, …• Courant porteur: X10, …• Réseau câblé (Ethernet, bus divers, …)
    • 2 relais 30.-1 carte FEZ Panda II 39.-1 carte d’extension Panda II 35.-1 joli boîtier gris 30.101 alimentation interne 39.-2 prises secteur encastrables 8.-1 cordon d’alimentation 3.-Visserie 5.-Total 189.10(en CHF)
    • Démo 1
    • public static void Main(){ OutputPort port = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.Di5, false); bool state = false; while (true) { port.Write(state); Thread.Sleep(1000); state = (!state); }}
    • Démo 2
    • public static void Main(){ Lampe lampeVerte = new Lampe(FEZ_Pin.Digital.Di5); lampeVerte.On(); Lampe lampeCerise = new Lampe(FEZ_Pin.Digital.Di8); lampeCerise.On();}
    • Démo 3
    • public static void Main(){ Lampe lampeVerte = new Lampe(FEZ_Pin.Digital.Di5); Lampe lampeCerise = new Lampe(FEZ_Pin.Digital.Di8); lampeVerte.StartBlink(new TimeSpan(0, 0, 1)); lampeCerise.StartBlink(new TimeSpan(0, 0, 3)); while (true) { Thread.Sleep(100); }}
    • Démo 4
    • internal static void RunServer(){ HttpListener listener = new HttpListener("http", 80); listener.Start(); while (true) { ... HttpListenerContext context = listener.GetContext(); HttpListenerResponse response = context.Response; HttpListenerRequest request = context.Request; switch (request.HttpMethod.ToUpper()) { case "GET": ProcessClientGetRequest(context); break; case "POST": ProcessClientPostRequest(context); break; } ... }}
    • Possibilités• Pilotage depuis • Windows Phone 7 • Silverlight • Tout autre outils capables d’appeler une adresse web• Automatisation paramétrable via le web• Réglage via TimeServer• Notification SMS, Twitter• Et bien d’autres encore …
    • FEZ Cobra FEZ Panda 2 FEZ Mini Prix 149.95 $ 39.95 $ 39.95 $ Dimensions 11.24 cm x 8.44 cm 5.3 cm x 8.1 cm 4.8 cm x 2.8 cmUser free Flash > 3 Mo 148 Ko 148 KoUser free RAM > 12 Mo 62 Ko 62 KoColor TFT contr. oui non non Ethernet oui Oui + carte d’extension non Carte SD oui oui non
    • Détecteur de proximité 12.95 $Capteur par réflexion 9.95 $Capteur de température 7.99 $Récepteur infrarouge 5.99 $Senseur lumineux 4.99 $Potentiomètre 4.99 $
    • Relais Bouton 14.99 $ 4.99 $Carte 16 relais 64.95 $
    • WiFi / Ethernet ZigBee Port sériel USB RS232
    • • Protocole de haut niveau (certifié en 2004) • Courte distance • Grande fiabilité • Faible coût • Très faible consommation• Particulièrement bien adapté à la domotique (Wikipédia)
    • Catégories de robots• Domestiques• Industriels• De loisirsObjectifs• Imitation de la nature (hommes, animaux, …)• Automatisation de tâches (vitesse, fiabilité, sécurité, …)
    • • Expert en cybernétique et neurosciences (Institut Max Planck)• Décédé le 9 septembre 2011• Livre «culte»: Expériences en psychologie synthétique• Petits véhicules avec: • Capteurs • Actuateurs • Connexions simulant des réseaux de neurones• Des robots simples montrent des comportement complexes• 14 versions de robots avec des comportements divers (fuite, attirance, timidité, amour, agressivité…)
    • Démo 5
    • Démo 6
    • • 72MHz 32-bit ARM7 processor• 4.5 MB Flash• 16 MB RAM• LCD controller• Full TCP/IP Stack with SSL, HTTP, TCP, UDP, DHCP• Ethernet, WiFi driver and PPP (GPRS / 3G modems) USB host• 76 GPIO Pin• 4x UART• 7x 10-bit Analog Inputs• 10-bit Analog Output (capable of WAV audio playback)• Extended double-precision math class• FAT File System
    • Matériel:• FEZ (http://www.ghielectronics.com/)Logiciels:• Micro Framework (http://www.microsoft.com/en-us/netmf)• Visual Studio Express (http://www.microsoft.com/express)• SDK micro Framework (http://www.microsoft.com/download/en/details.aspx?id=1434)Livres:• Embedded Programming with the Microsoft .NET Micro Framework (Donald Thompson and Rob S. Miles (Jun 27, 2007), Microsoft Press, ISBN-13: 978-0735623651• Expert .NET Micro Framework (Jens Kühner), Apress, ISBN-13: 978- 1430223870
    • Nos références:• http://www.facebook.com/philippe.schutz• http://info.philippe-schutz.com• @armici2000Les documents et exemples:• http://www.philippe-schutz.com/SoftShake2011.zip
    • Questions ?