Pierre's Embedded and Mobile Blog

Soulevons le capot des systèmes embarqués et mobiles

Posts
  • Pierre's Embedded and Mobile Blog

    [Windows Phone 7] Multithreading et traitement des évènements Pause et Resume dans une application

    • 0 Comments

    Le Refresh d’Avril de la CTP des outils Windows Phone 7 introduit un nouvel espace de nommage, Microsoft.Phone.Execution. C’est dans cet espace de nommage qu’on va retrouver les éléments nous permettant de traiter la mise en background (pause) et le retour au premier plan (resume) d’une application.

    Dans cet espace de nommage on trouve une classe statique: WindowsPhoneEvents. Cette classe contient les évènements Pause et Resume. Dans une application, que ce soit en XNA ou en Silverlight, il suffit donc d’ajouter un event handler à cet évènement pour gérer les passage en arrière ou en premier plan de l’application:

    WindowsPhoneEvents.Pause += new EventHandler<PauseEventArgs>(WindowsPhoneEvents_Pause);

    WindowsPhoneEvents.Resume += new EventHandler<ResumeEventArgs>(WindowsPhoneEvents_Resume);

    Le code contenu dans le handler WindowsPhoneEvents_Pause sera exécuté avant la mise en background de l’application. Le code contenu dans le handler WindowsPhoneEvents_Resume sera exécuté après le retour au premier plan de l’application.

    C’est typiquement à ce moment que vous disposerez d’un temps (court et borné) pour sauvegarder votre contexte: si vous avez énormément de chose à sauvegarder, penser à le faire régulièrement et de façon incrémentale!

    Par ailleurs, une fois votre application en background, n’oubliez pas que le système se réserve le droit de la tuer purement et simplement afin de libérer des ressources mémoire. Dans ce cas là, vous ne recevrez pas d’évènement supplémentaire: toute votre sauvegarde de contexte doit donc être faite à la réception de l’évènement Pause!

    Dernier point: il y a dans la CTP Refresh un bug dans l’émulateur, qui fait que si vous démarrez un thread séparé, celui-ci  n’est pas stoppé quand l’application passe en background: un compteur par exemple continuerai à compter! Cela implique par exemple la classe Timer…
    il n’en sera pas ainsi pour la version finale des outils! Veillez donc bien à stopper vos threads et à les relancer manuellement pour être sur d’avoir la maitrise totale sur la sauvegarde du contexte: et ne pensez même pas à exploiter ce bug par exemple pour simuler du multitâche: d’abord, il sera fixé, ensuite, je vous rappelle que quand votre application est en background, elle peut se faire tuer, sans vous prévenir. Pas question dans ces conditions de se reposer sur ce bug pour coder une application sérieusement!

  • Pierre's Embedded and Mobile Blog

    [ReMIX 2010 Développeurs] RDV le 26 Mai pour découvrir IE9, Silverlight, Azure, Windows Phone 7, le développement de plugins Seesmic, et bien d’autres choses!

    • 0 Comments

    Vous êtes développeurs? vous voulez vous tenir au courant des dernières technologies Microsoft pour le monde du web et du mobile?

    le 26 Mai, soyez à Issy-Les-Moulineaux pour le ReMIX2010 de 14 à 18h, et découvrez entre autre…

    • Les nouveautés d’IE9
    • Toute la plateforme web, Silverlight 4, Windows Azure, WebPI
    • Le développement d’applications et de jeux Windows Phone 7
    • Le développement de plugins Seesmic Desktop avec Silverlight

    Pour vous inscrire c'est par ici!

  • Pierre's Embedded and Mobile Blog

    Le 20 Mai à Issy: Journée Technique Windows Embedded et lancement de Windows Embedded Standard 7 en France

    • 0 Comments

    Depuis qu’il était en CTP, voila un certain temps qu’on parle de Windows Embedded Standard 7 (ou 2011 au départ). La RTM a eu lieu il y a quelques jours et le groupe Windows Embedded invite ses partenaires et ses clients au lancement de Windows Embedded Standard 7 le 20 Mai, sur le campus Microsoft, à Issy-les-Moulineaux.

    L’évènement est ouverts à tous, à condition de s’inscrire!

    J’y présenterai les sessions sur Windows Embedded CE 6.0 R3 et Silverlight for Windows Embedded. J’espère qu’il y aura du monde dans la salle!

  • Pierre's Embedded and Mobile Blog

    Les différences entre Windows Embedded Standard 7 et Windows Embedded Standard 2009 (XP Embedded)

    • 0 Comments

    Voici un excellent article publié par le non moins excellent site WindowsForDevices (en anglais) sur les différences entre Windows Embedded Standard 2009 (la dernière mouture de ce qui s’appelait il n’y a encore pas si longtemps XP Embedded) et Windows Embedded Standard 7 (WES7 pour les intimes, construit avec les briques de Windows 7).

    En substance, on retrouve les détails sur les changements dans l’architecture de componentisation (des applications, des drivers, etc), sur la gestion des dépendances, des “Embedded Enabling Features” et des phases de construction et de déploiement de l’image.

    Comparatif: WES2009 vs WES7

  • Pierre's Embedded and Mobile Blog

    [Windows Phone 7] Le SDK pour VS2010 RTM est disponible!

    • 5 Comments

    Nombre d’entre nous, développeurs mobiles, n’en pouvions plus de ne pouvoir installer la RTM de Visual Studio 2010, car le SDK pour Windows Phone 7 n’était compatible qu’avec la RC. La CTP Refresh vient corriger tout ça!

    Les outils sont comme d’habitude téléchargeables à partir de http://developer.windowsphone.com

    Les liens utiles:

    happy installing // happy coding!

  • Pierre's Embedded and Mobile Blog

    Media Center pour systèmes embarqués avec Windows Embedded Standard 7

    • 1 Comments

    La RTM de Windows Embedded Standard 7 a été annoncée à l’ESC Silicon Valley et avec ça une fonctionnalité bien intéressante: la présence de Windows Media Center dans les composants intégrables dans le système embarqué!!!

    Comme la CTP est disponible depuis un certain temps, il y a déjà du contenu disponible sur le sujet… on avait notamment fait 2 sessions aux Techdays 2010 :

    Avec le nouveau composant Media Center, on va probablement voir arriver des équipements embarqués type set-top box, disques durs multimedia, etc

    Steve Guggenheimer, qui dirige la division OEM chez Microsoft, profite également de cette annonce pour partager sur son blog sa vision de l’importance des systèmes embarqués chez Microsoft

    A l’occasion du lancement une petite vidéo a été tournée pour illustrer les utilisations qui ont déjà été faite, depuis la sortie de la CTP, de Windows Embedded Standard 7 par les industriels: Vous pouvez la voir sur cette page

    Quelques liens en plus pour les plus curieux d’entre vous:

  • Pierre's Embedded and Mobile Blog

    [Windows Phone 7] Le Framework de Navigation

    • 0 Comments

    La plupart des applications mobiles sont (logiquement) multipages : que ce soit sur un contrôle de type pivot, panorama, ou une simple navigation entre des pages, il faut prévoir la meilleure façon possible pour l’utilisateur de naviguer entre les pages.

    La base de la navigation

    Le framework de navigation introduit dans Silverlight 3 a été repris dans Windows Phone 7. On dispose de deux types d’objets : PhoneApplicationFrame et PhoneApplicationPage. Chaque application possède une unique PhoneApplicationFrame et de multiples PhoneApplicationPages.

    Dans une application WindowsPhone, chaque PhoneApplicationPage est en général contenue dans sa propre page en XAML. Pour naviguer d’une page à l’autre, il suffit d’appeler la méthode Navigate() de la classe statique NavigationService, qui est contenue dans l’espace de nommage Microsoft.Phone.Navigation.

    La base de la navigation se fait donc très simplement de la façon suivante :

    NavigationService.Navigate(new Uri("/DetailsPage.xaml", 
    UriKind.Relative));

    Le passage d’argument entre les pages

    Il arrive (c’est même fréquent) qu’on doive passer des arguments entre les pages. Il y a pour cela deux manières de procéder.

    La première et la plus simple est de créer un objet qu’on assignera au datacontext de la page vers laquelle on navigue. On pourra ensuite directement binder les éléments de la page cible sur cet objet :

    _selectedItem = (sender as ListBox).SelectedItem;
    FrameworkElement root = Application.Current.RootVisual 
        as FrameworkElement;
    root.DataContext = _selectedItem;

    La seconde manière consiste à passer des arguments directement dans l’URI de la page cible. Dans ce cas, dans la page cible, il est possible de récupérer les arguments en utilisant une autre classe statique, le NavigationContext, et notamment sa méthode QueryString. Voici un exemple :

    Dans la page principale :

    NavigationService.Navigate(new Uri("/DetailsVille.xaml?Ville="
            + ((Ville)listBox1.SelectedItem).Nom + "&Pays=" 
            + ((Ville)listBox1.SelectedItem).Pays, 
            UriKind.Relative));

    Et dans la page cible :

    string ville = this.NavigationContext.QueryString["Ville"];
    stringpays = this.NavigationContext.QueryString["Pays"];

    Si l’on veut utiliser des URL « simples » ou de la logique de routage dans le code, il est possible d’utiliser des UriMappers pour refactorer les URL des pages au moment de la navigation. Voici un exemple simple (tiré de la librairie MSDN) qui illustre bien le principe des UriMapper :

    <navigation:Frame x:Name="ContentFrame" 
                      Style="{StaticResource ContentFrameStyle}"
    Source="/Home" Navigated="ContentFrame_Navigated" 
                      NavigationFailed="ContentFrame_NavigationFailed">
        <navigation:Frame.UriMapper>
            <uriMapper:UriMapper>
                <uriMapper:UriMapping Uri="" 
                                      MappedUri="/Views/Home.xaml"/>
                <uriMapper:UriMapping Uri="/{pageName}" 
                                      MappedUri="/Views/{pageName}.xaml"/>
            </uriMapper:UriMapper>
        </navigation:Frame.UriMapper>
    </navigation:Frame>
    

    La gestion du bouton back

    La plupart du temps, on peut laisser le système gérer le bouton back. Il reviendra automatiquement en arrière dans la pile des pages. Ceci étant dit, il peut être utile de capturer cet évènement, afin par exemple de reforger une url avec des arguments pour la page appelante, ou pour démarrer le storyboard d’une animation de changement de page.

    Dans le handler de l’évènement PhoneApplicationPage_BackKeyPressed, il faut commencer par annuler la navigation par défaut, avant de rajouter son code. Voici un exemple de gestion de l’appui sur le bouton back, tiré du template d’application Windows Phone List Application

    private void PhoneApplicationPage_BackKeyPress(object sender, 
        System.ComponentModel.CancelEventArgs e)
    {
        // Cancel default navigation
        e.Cancel = true;
        // Do page transition animation
        PageTransitionDetails.Begin();
    }

    Les différentes manières d’agencer les pages

    On peut imaginer plusieurs manières d’agencer les pages d’une application : le plus simple étant justement de ne pas les agencer. Une page remplace l’autre à l’écran et on navigue simplement entre elles de manière plus ou moins linéaire avec des boutons et des menus.

    Il est également possible avec Windows Phone 7 d’utiliser d’autres agencements pour vos données, que ce soit sous forme de page ou pas. Les deux contrôles d’agencement de pages les plus connus sont le pivot (comparable à un TabControl) et le panorama (dont les meilleurs exemples sont les hubs)

    Il convient cependant de ne pas utiliser ces contrôles n’importe comment : sans qu’il y ait de règle établie, on peut d’une manière générale considérer :

    - Le pivot est un moyen efficace d’afficher des données, alors que le panorama est un moyen immersif d’afficher du contenu

    - Le panorama peut être considéré comme la « couverture » de votre application, comme la couverture d’un magazine

    - Un pivot peut servir de filtre, un panorama peut servir pour naviguer à travers un contenu « éclaté » sur plusieurs vues, et de préférence varié.

    - Les panoramas sont faits pour attirer l’utilisateur à l’intérieur de l’application. Les pivots pour séparer les données en catégories, tris, etc.

  • Pierre's Embedded and Mobile Blog

    Tout ce que vous avez toujours voulu savoir sur les robots de combat… en 367 pages d’explications et de schémas

    • 0 Comments

    367 pages de lecture qui couvrent tout ce qu’il faut savoir pour construire un robot qui ferait peur au T1000: analyse des différents types de robots de combats, calcul de résistance des structures et des matériaux, différents types de propulsion et d’armement, avec les qualités et défauts de chacun, transmissions, moteurs, alimentation, batteries, et même jusqu’à la gestion de l’évènement et du combat… L’équipe RioBotz nous offre avec un superbe guide, très exhaustif, documenté, et ponctué de l’expérience du terrain qu’ils ont acquis au fur et à mesure de nombreux championnats. Une bible pour tout roboticien, qu’il construise des robots guerriers ou pas!

  • Pierre's Embedded and Mobile Blog

    [Windows Phone 7] Comprendre la plateforme dans son ensemble

    • 0 Comments

    En attendant que le centre de développement MSDN sur Windows Phone subissent le lifting qu’il mérite sur Windows Phone 7, je vous propose d’ores et déjà d’y retrouver 2 articles traitant du sujet: le premier est une visite quasi-exhaustive de la plateforme Windows Phone 7: en quelques pages, ils vous permettra de comprendre toutes les notions clefs et les possibilités offertes aux développeurs d’applications sur la première version du SDK

    Le deuxième article traite d’un sujet beaucoup plus précis mais néanmoins critique d’une application Windows Phone 7: l’Application Bar: comment l’utiliser à bon escient, et quelles sont les règles à respecter pour en tirer le meilleur parti possible.

    Bonne lecture!

  • Pierre's Embedded and Mobile Blog

    [Windows Phone 7] Des contrôles “Panorama” de partout

    • 2 Comments

    Autre grand absent de la première version du SDK Windows Phone 7, un moyen de faire une application sous forme de “Panorama” (dans la logique des “hubs” de l’interface Metro). De nombreux développeurs se sont attelés à la tâche, en voici quelques uns: 

    N’hésitez pas à vous en servir dans vos applications et surtout à contribuer à leur amélioration en postant des commentaires dans les blogs de chacun de ces développeurs!

  • Pierre's Embedded and Mobile Blog

    [Windows Phone 7] 2 manières de simuler l’accéléromètre dans l’émulateur

    • 0 Comments

    L’émulateur livré avec le SDK Windows Phone 7 étant encore un béta, un certain nombre de fonctionnalités ne sont pas disponibles dans les API. Notamment la simulation de l’accéléromètre, qui est sur un écran de toutes façons un problème relativement épineux… Deux personnes ont donc proposé 2 solutions différentes avec un peu de hardware:

    Dans les deux cas, on se sert d’API .NET pour récupérer l’état du capteur et l’exposer à travers un WebService qu’on consomme dans l’émulateur – Donc avec un petit temps de latence… mais c’est toujours mieux que rien :)

  • Pierre's Embedded and Mobile Blog

    [Windows Phone 7] Tous les liens du MIX

    • 1 Comments

    Le moins qu’on puisse dire est que la sortie des outils de développement Windows Phone 7 a fait son petit bruit, et de nombreux articles et posts sur différents blogs en français et en anglais sont sortis. En voila une petite compilation (attention, y’en a beaucoup :))

  • Pierre's Embedded and Mobile Blog

    [MIX10] Installation de Blend 4 Beta pour Windows Phone

    • 0 Comments

    Le kit de développement Windows Phone s’installe d’un seul coup et contient:

    • Visual Studio 2010 Express pour Windows Phone (ou alors juste le plugin si VS2010 est déjà installé)
    • L’émulateur
    • XNA Game Studio 4.0


    Si vous voulez aller plus loin et utiliser Blend 4 pour Windows Phone, Pour cela il faut récupérer et installer en plus et dans cet ordre:

    Vous voila parés pour développer de belles applications :)

  • Pierre's Embedded and Mobile Blog

    [MIX10] Training Kit pour le développement Windows Phone 7 Series

    • 0 Comments

    En même temps que les outils de développement, un training kit Windows Phone 7 Series a été publié, et traite à la fois le développement Silverlight et XNA, de façon progressive. Définitivement une ressource à lire pour se lancer dans le développement Windows Phone!

    WP7TK

  • Pierre's Embedded and Mobile Blog

    [MIX10] La découverte du jour: OData

    • 0 Comments

    OData, c’est le nom court de l’Open Data Protocol. C’était un des sujets de la keynote du MIX ce matin (avec entre autres… IE9…): il s’agit d’un protocole qui repose sur ATOM et JSON pour permettre d’accéder à des flux de données de la même manière quelle que soit la donnée exposée!. Sauf que ce qu’il permet de faire en plus, c’est intégrer une requête (de filtrage par exemple) directement dans l’URL. Et ça c’est génial pour les développeurs Windows Phone parce que:

    • On économise de la bande passante en ne téléchargeant que les données nécessaires
    • On économise de la batterie en déportant le filtrage sur le serveur

    Et en plus on récupère les données sous formes de flux XML (ATOM) facilement manipulables avec Silverlight :)

    La meilleure partie de la nouvelle reste que la stratégie de Microsoft autour de ce protocole est de le rendre le plus ouvert et utilisable sur toutes les plateformes possibles et imaginables..

    Coté client (consommateur de contenu) par exemple il existe déjà des librairies pour .NET (et donc Windows Phone) bien entendu mais aussi Javascript, PHP, Java, iPhone (Objective-C), et même PowerPivot de Excel qu’on peut télécharger sur la page du SDK Odata

    Coté serveur (producteur de contenu), Sharepoint 2010, IBM Websphere, SQL Azure et Azure Table Storage, ainsi que SQL Reporting Services supportent déjà l’exposition de flux OData. Dallas, la “marketplace de l’information ouverte” de chez Microsoft, supporte également OData… et l’intégration de plusieurs flux en même temps, pour manipuler des datasets ultra complexes! La richesse des données qu’on va pouvoir retrouver dans Dallas va surement ouvrir encore plein de portes pour des applications mobiles innovantes!

    Bien entendu vous pouvez également toujours en utilisant le SDK exposer des flux OData depuis votre application :)

    Ce type d’ouverture cross-platform permet aux développeurs d’exposer une seule fois le même flux de données indépendamment du client qui va la consommer: IPhone, Android, Windows Phone, Browser web… Indubitablement une best practice :)

    Le système de requête est simple et permet non seulement la récupération de donnée, mais aussi la mise à jour, l’insertion, la suppression… permettant par exemple d’éditer et de se servir de listes hébergées dans un Sharepoint hyper simplement!

    Pour la partie intégration dans Silverlight, un killer feature à mes yeux est qu’on peut traduire directement des requêtes LINQ en requêtes OData: vous écrivez votre code comme d’habitude et vous utilisez les API OData pour sérialiser votre requête. Super simple et vraiment puissant et plaisant!

    Il y aura indubitablement plus de contenu OData sur ce blog dans les prochaines semaines.. surement des petites démos avec Azure et Sharepoint :)

  • Pierre's Embedded and Mobile Blog

    [MIX10] Les outils de développement pour Windows Phone 7 sont disponibles!

    • 3 Comments

    C’est la grosse annonce de la keynote de la conférence MIX à Las Vegas: le kit de développement pour Windows Phone 7 est disponible!! Les points important:

    • Il est entièrement gratuit!
    • Il est basé sur Visual Studio 2010 RC et Expression Blend 4
    • Comme annoncé la semaine dernière, on utilisera Silverlight et XNA pour les applications et les jeux.
    • Un émulateur vous permettra de tester vos applications avant la sortie des terminaux – il supporte même l’accélération 3D! (il est en fait basé sur XDE)
    • Il est disponible sur le portail développeurs Windows Phone 

    Le kit de développement a été conçu pour être accessible et simple: vous pourrez très vite et très simplement faire de belles applications que les utilisateurs apprécieront dès la sortie des premiers téléphones!

    Quelques posts ont déjà fait surface sur les blogs de l’équipe de développement: de la lecture pendant le téléchargement :):

    Et bien sur de la doc disponible immédiatement sur MSDN, et des exemples de code

  • Pierre's Embedded and Mobile Blog

    Les détails des sessions Windows Phone 7 au MIX

    • 0 Comments

    Ceux qui (comme moi) ont la chance d’aller au MIX, ou ceux qui ne se seraient pas encore décidés… ou ceux qui veulent avoir la rage de ne pas y aller, peuvent désormais voir le détail des sessions autour de Windows Phone 7 au MIX:

    http://live.visitmix.com/Sessions#/tags/WindowsPhone

    Tous les participants au MIX auront accès au toolkit et à du support pour développer des applications sur cette plateforme, basée on le rappelle soit sur XNA, soit sur Silverlight.

    Il y a par ailleurs en ce moment même la Game Developer Conference (GDC) à Los Angeles durant laquelle des sessions sur XNA pour Windows Phone seront jouées :)

    Cette plateforme est donc de plus en plus réelle… je suis impatient d’y être!

  • Pierre's Embedded and Mobile Blog

    [Vacances de Geek] Des kits Microframework pour hobbyistes qui déchirent du poney des bois à moins de 50$

    • 7 Comments

    Je ne parle pas assez souvent du .NET Microframework à mon goût dans ces pages, mais là, je suis en vacances, et donc je geeke, avec une petite trouvaille que j’ai fait sur internet la semaine dernière: les kits FEZ de chez GHI Electronics. Ces kits sont des merveilles pour hobbyistes: voici leur histoire (enfin, ce n’est que le début…)

    Etape 1: http://www.tinyclr.com

    Le site est pratique, clair, toute la doc, les schémas électroniques sont accessibles facilement (pas d’inscription ou de trucs comme ça)

    Le forum: pas énormément de trafic, mais il est régulier: et surtout on a une réponse directe de l’équipe de support en quelques heures (j’ai eu la réponse à ma première question en 12 minutes 37 secondes!!!!)

    La documentation est claire, facile à lire, même pour les débutants et mise à jour hyper régulièrement (dans les jours qui suivait, la doc reflétait la réponse à la question que j’avais posé sur le forum)

    Les SDK sont aussi mis à jour hyper régulièrement (ils ont déjà adopté le .NET MF v4!!)

    Etape 2: Le Matos

    Première constatation: y’a du choix! sur deux plateformes de base: La FEZ Domino à 99$ et la FEZ Mini à 49$ (FEZ, c’est pour “Freaking Easy”: on verra ça plus tard, quand on aura les mains dessus ;)).

    La FEZ Domino est une petite carte complète avec entrées/sorties, etc, la FEZ Mini est plus un “coeur” de système, qui est autonome et calculé pour s’intégrer dans quelque chose de plus gros (une carte de développement maison par exemple).

    Et la… épiphanie! énorme bonne surprise: hallucinante tellement c’est bon (oui, bon, ok, c’est difficile de transmettre ça en texte…)

    Ces deux plateformes sont justes les plus connues et les plus utilisées dans le monde de l’électronique hobbyiste et OpenSource. Il doit y avoir littéralement des centaines de milliers de robots et autres petits montages qui les utilisent…

    Et maintenant tous ces petits montages peuvent potentiellement êtres pilotés par des cartes .NET MicroFramework qui sait faire 1000000 de trucs en plus! (Webservices anybody? WPF? HTTPS? etc etc :))

    Il s’avère que j’ai moi même une Board of Education de chez Parallax et une carte Next Step v2 de chez Lynxmotion, qui sont toutes deux pilotées par un Basic Stamp… et hopla j’y met du MicroFramework :) Le truc le plus hallucinant: pour plus de puissance c’est moins cher!

    En plus des cartes de bases, on retrouve sur le site des extensions en tout genre:

    • Pour la Domino, des “shields” (c’est le même principe que les shields d’Arduino): des cartes d’extension qui s’empilent au dessus de la carte de base
    • Pour la FEZ Mini, un Starter Kit à 99$ (FEZ Mini inclue) qui permet de connecter une palanquée de capteurs et d’extensions (comme des écrans LCD, des modules Zigbee ou Bluetooth, et même une carte de décodage MP3!!)

    Etape 3: La commande

    Après 2 heures à examiner toutes les docs de toutes les extensions comme si c’était du pr0n, je fini par opter pour un Starter Kit FEZ Mini, avec un écran LCD en plus, et 2 FEZ Mini supplémentaires pour ma Board of Education et ma Next Step V2… Je m’inscris pour pouvoir passer commande (pas contraignante, l’inscription, 1 formulaire, 4 minutes) et là, j’avoue, première pillule pas évidente: ils n’acceptent de livrer que par FEDEX, c’est en gros 60$ de livraison. Ouch…
    2 jours plus tard, FEDEX m’appelle pour me dire qu’ils ont le matos et qu’ils livrent quand je veux :) j’ai rarement vu du matos comme ça livré aussi vite. On paye cher, mais c’est du service de qualité! Bon alors après le dédouanement (Encore Ouch, pas loin de 60 euros encore… pour 325$ de matos), faut déballer tout ça… La boite est propre, les composants sont là, bien emballés… On va passer au test :)

    Etape 4: Le test

    Téléchargement et installation du SDK facile depuis http://www.tinyclr.com, pas besoin de rentrer dans les détails. Ensuite on branche la carte et là le driver ne s’installe pas… normal, pour tous les kits .NET Microframework il faut installer le driver à la main, et c’est toujours la même chose: c’est dans Program Files/GHI Electronics/GHI NETMF SDK/Usb Drivers. Ca aussi, facile.

    Je récupère aussi le code de test du starter kit sur la bonne page du site, nouveau projet NET MF dans Visual Studio, je copie/colle le code, et je décide de le déployer directement sur la carte, comme d’habitude. Et là, une exception saute en me disant qu’il est impossible de trouver l’USBizi (c’est le chipset sur la carte FEZ Mini)… En fait c’est juste un soucis de firmware: un nouveau SDK est sorti la semaine dernière et nécessite un nouveau firmware qui n’était évidement pas celui de la carte qui avait été fabriquée avant… Encore une fois, la doc super claire m’a permis de résoudre la situation en moins de 10 minutes (tout est hyper détaillé dans la documentation: en voila le squelette… juste pour que vous vous rendiez compte de la rapidité de la chose):

    • Le petit utilitaire MFDeploy pour checker la version du firmware intallée… et constater que ce n’est pas la bonne
    • Passage de la carte en mode bootloader (Appuyer sur un bouton quoi) puis connexion au port USB et installation du driver “bootloader” de l’USBizi
    • Démarrage de TeraTerm et transfert en XModem du nouveau firmware… Et voila…

    Une fois le firmware flashé, je relance le projet, et ça y est, le programme marche. Etape suivante, je branche donc l’écran LCD, je télécharge le petit bout de driver depuis le site (c’est juste 1 page de C# à inclure dans le projet) et 3 minutes plus tard, avec du code simplissime (une ligne pour dire ou l’écran est branché sur le kit, et une deuxième qui est tout simplement l’appelle à une méthode Print), je pouvais écrire ce que je voulais (“Hello FEZ World” en l’occurence) sur l’écran… Hallucinant de simplicité… Pour ceux qui savent comment ça peut être em***ant de connecter proprement un LCD à un petit Microcontrolleur quand on est pas de ce monde là…

    Résumé de la situation

    • Yabon kits pas cher et livrés vite
    • Yabon code super simple et bien documenté
    • Yabon robots à base de MicroFramework très bientôt sur ce blog !!

    Allez faire un tour sur http://www.tinyclr.com: et commandez un peu de matos (non, je ne touche pas de comm!) ça serait bien qu’on puisse commencer à partager des petits montages funs avec le Microframework et ces kits low-costs mais high quality :)

  • Pierre's Embedded and Mobile Blog

    Windows Phone 7: Silverlight et XNA officialisés :)

    • 1 Comments

    Hier se tenait un évènement privé à San Francisco, durant lequel l’équipe Windows Phone a décidé de communiquer sur la plateforme de développement avant le MIX.

    Les points importants sont les suivants:

    • La plateforme applicative reposera sur Silverlight et XNA.
    • Le hardware sera unifié: plus de fragmentation entre les capacités des terminaux.
    • Il n’y aura pas de compatibilité avec les applications pour Windows phone 6.5.

    C’est quand même énorme de penser que Microsoft est reparti, à ma connaissance pour la première fois de son histoire, d’une page blanche pour construire entièrement un nouveau système, avec un nouveau modèle de développement, et pas de compatibilité ascendante. Mais c’est pour de bonnes raisons. Le marché du smartphone a évolué a une vitesse phénoménale, et Microsoft veut faire plus que “suivre”. Il faut innover: proposer au développeurs des outils et une plateforme révolutionnaire et hyper qualitative, et remettre l’utilisateur final au centre de toutes les attentions, sans brider l’imagination des fabricants de terminaux, des opérateurs ou des développeurs. Windows Phone 7, la seule plateforme ou tout le monde aura la possibilité de se différencier, pour le profit de l’utilisateur final.

    En fait, Windows Phone 7, c’est la plus belle avancée technologique que Microsoft propose depuis qu’on parle de la vision “3 écrans et un cloud”:

    Pour le développeur de jeu? L’accès à 4 plateformes, littéralement des centaines de millions de clients, et très peu de travail pour passer d’une plateforme à un autre.

    XNA est également hyper simple à prendre en main. Je connais des gens qui enseignent à leur enfant de 11 ans à programmer des jeux avec XNA! Vous n’y croyez pas? Téléchargez Visual Studio Express, le XNA Game Studio, un passage par les tutoriels du XNA Creator’s club et vous avez un jeu qui tourne en moins d’une heure, sur une plateforme de développement qui ne vous a pas coûté un centime. Littéralement.

    J’invite les sceptiques à regarder le succès du Xbox Live Arcade pour comprendre ce choix. En plus XNA c’est une communauté de développeurs hyper active!

    Coté Silverlight, c’est la plus belle évolution que le développement managé sur téléphone pouvait espérer. Il faudra attendre le MIX pour connaitre les spécificités des outils de développement et de la plateforme Windows Phone 7. En plus, Silverlight étant une évolution du Compact Framework, il sera facile de migrer les applications! La communauté Silverlight est également très active, en témoigne le site Silverlight Extensions

    Aucune compagnie ne propose une expérience comme celle qui vient d’être révélée pour Windows Phone 7: une plateforme de développement qui s’unifie au delà du web et des frontières des hardware, pour des applications et des jeux riches et faciles à développer.

    Alors bien entendu, nous n’avons ici fait qu’effleurer la surface de l’histoire du développement pour Windows Phone 7. Le MIX sera l’évènement ou tout sera révélé. Alors patience :) je sais que vous avez plein de questions, qu’à bien des égards, ces annonces sont surprenantes. Je sais aussi déjà qu’elles vont diviser la communauté, car ce sont des postures inhabituelles pour Microsoft. Vous en saurez plus très bientôt, j’ai la conviction que la vision de la totalité des annonces après le MIX apportera satisfaction à tout le monde. Soyez excités et soyez prêt! (connaissez vous Silverlight et XNA? c’est le moment de s’y mettre!)

    Pour information le MIX bénéficiera d’une couverture toute particulière sur MSDN, les blogs Microsoft et de la communauté, Twitter, etc. Je ferai très bientôt une mise à jour sur tout ce qu’il faudra savoir pour suivre l’actualité de Windows Phone 7 sans être à Las Vegas :)

  • Pierre's Embedded and Mobile Blog

    Encore 4 jours pour participer au concours le plus original des Techdays!

    • 0 Comments

    C’est le concours “Je vois des Windows Partout”! Le principe est simple: décrire l’expérience utilisateurs des systèmes embarqués de demain, que ce soit pour votre maison, votre voiture, votre frigo… n’importe quoi qui devrait, d’après vous, embarquer de l’intelligence, et de préférence être sympa à utiliser!

      • Round 1: vous avez jusqu’à Mardi soir pour nous remettre un document décrivant votre idée, et une petite vidéo pour vous présenter (et dire pourquoi vous participez.. soyez direct!): Vous pourrez venir vous filmer sur le stand Windows Embedded aux Techdays si vous le souhaitez! Chaque participant gagnera un goodie à venir chercher sur le stand!
      • Round 2: Le dernier jour des Techdays, nous annoncerons qui passe au Round 2, et donc va réaliser cette expérience :) à la clef pour les grands gagnants, du hardware et la promesse de réaliser pour de vrai leur projet.

    Alors si vous avez toujours rêvé d’un Car-PC, d’une maison intelligente, d’un frigo qui parle, ou n’importe quoi d’autre, au boulot! Un week end pour pondre un document qui décrit votre idée, ça devrait aller :)

  • Pierre's Embedded and Mobile Blog

    Le Site Communautaire du .NET MicroFramework est lancé!

    • 0 Comments

    Rappelez-vous l’annonce de la PDC: le .NET MicroFramework en version 4 est placé sous licence OpenSource, et la communauté aura maintenant un rôle central dans le développement du produit: et bien ça y est, le site qui va servir de hub pour cette communauté est lancé! Il s’agit de http://www.netmf.com/ et l’annonce a été publiée aujourd’hui sur le blog de l'équipe .NET MicroFramework

    L’avenir du .NET MicroFramework est donc ce que vous en faites: inscrivez-vous!

    [TECHDAYS 2010] Venez à la session MOB301: .NET, Electronique et OpenSource: Développement sur FPGA avec le .NET MicroFramework, le Mardi 9/02 à 17h30

  • Pierre's Embedded and Mobile Blog

    Les systèmes embarqués aux Techdays : juste incontournables!

    • 0 Comments

    Cette année aux Techdays, il sera juste _impossible_ de passer à coté de Windows Embedded. Il y aura 3 manières de goûter aux plaisirs de l’embarqué:

    • Dans les sessions: sur les 2 premiers jours, il y a 9 sessions autour de l’embarqué (c’est deux fois plus que l’an dernier!
    • Sur la zone développeur, avec le stand Windows Embedded, et une orgie de démonstrations (dont certaines pour le moins… volumineuses… :))
    • Toujours sur la zone développeurs, un concours pour développeurs et designers sur “les expériences utilisateurs des systèmes embarqués de demain”

    Sans compter des petits robots en plénière du 3ème jour, mais ça, ce n’est que la cerise sur un gâteau déjà bien gros :)

    Les sessions ont été conçues pour être accessibles à tout public, et pour toucher aux problématiques et aux possibilités offertes les solutions Windows Embedded. En voici la liste:

    • MOB111: Systèmes embarqués à la sauce Microsoft: Démos, démos, démos! : Le titre parle de lui-même :) pas de slides, mais une orgie de démos pour illustrer tout ce qu’on peut faire avec Windows Embedded!
    • MOB310: Silverlight pour Windows Embedded: monitoring du brassage de la bière en interface riche! : Silverlight pour Windows Embedded, c’est le paradigme de la séparation designer/développeurs, mais adaptée à l’embarqué: du XAML, mais derrière, du code natif et de l’accélération graphique pour des interfaces de tous poils, y compris industrielles: d’ou l’exemple avec une brasserie :)
    • MOB109: Serveurs pour applications embarquées: ils sont de retours : Prenez les dernières générations de Windows Server, mais adoptez un licensing embedded, c’est plus pratique, et sous certaines conditions de licences, c’est [beaucoup] moins cher! c’est aussi la session qui permettra de comprendre quelle utilisation on peut faire des OS Serveurs de chez Microsoft dans des scénarios embarqués.
    • MOB207: Multitouch et nouvelles expériences dans les systèmes embarqués: scénarios et exemples: avec l’arrivée de Windows 7 dans l’embarqué, les fabricants de systèmes vont pouvoir utiliser les nouvelles fonctionnalités multitouch, l’API Codepack, la sensor API, etc… mais pourquoi faire? Cette session tentera d’y répondre, par l’exemple: encore une fois, peu de slides, surtout de la démo!
    • MOB306: Microsoft au calibre industriel: temps-réel dur pour applications critiques: Qu’est-ce que le temps-réel? tout simplement la capacité d’un système à garantir (voire, prouver) ses temps de latence, quelque soit l’état dans lequel il se trouve. Avec une démo étonnante (le turbocarbusyphon), vous découvrirez comment on utilise Windows Embedded CE pour faire un système capable de répondre aux contraintes critiques de l’industrie!
    • MOB104: Des capteurs aux serveurs en passant par la cuisine: Windows Embedded dans la maison: Cette session se veut généraliste, et emmènera le public dans la maison du futur… pas si futuriste que ça :) De nombreux équipements sont déjà disponibles, et Windows Embedded est souvent au coeur de l’intelligence proposée par les différents fabricants d’équipement: une belle illustration de comment utiliser la plateforme Microsoft pour ces objets qui forment l’intelligence ambiante!
    • MOB203: Construisez votre OS avec les briques de Windows 7: l’exemple avec un système multimédia pour la maison: Envie d’une petite boite à tout faire sous la télé, qui boote vite, ne plante jamais, et vous permet de streamer du contenu vers votre télé et dans toute votre maison? Facile, on vous le fait en une heure, avec les nouveaux outils Windows Embedded :)
    • et la petite dernière, pas liée à Windows Embedded, mais quand même dans le parcours embarqué: MOB301: .NET, Electronique et OpenSource: développement sur FPGA avec le .NET MicroFramework: Et oui, depuis la version 4.0, annoncée à la PDC, le .NET Microframework est complètement opensource, sous licence Apache 2.0! Cela ouvre la voix à tous types de développement .NET, sur de petites plateformes embarquées, y compris sans OS: l’exemple avec l’implantation du MicroFramework directement dans un FPGA. Attention, encore une session avec beaucoup de code, et du lourd :)
    • Session bonus, dans le parcours Enseignement et éducation: ENS202: L’enseignement des technologies embarquées: une session historique des Techdays, toujours un succès: Thierry Joubert, qui enseigne les systèmes temps-réels et critiques dans de nombreuses écoles, viendra livrer à l’auditoire ses ficelles pour réussir son cours !
  • Pierre's Embedded and Mobile Blog

    Concours “Je vois des Windows Partout”: c’est lancé!

    • 0 Comments

    On l’a annoncé en début de semaine, le lancement est officiel aujourd’hui avec la publication de l’agenda! Le concours “Je vois des Windows Partout” a pour but de faire réfléchir développeurs et designers sur les interfaces graphiques du futur pour les systèmes embarqués, classés dans 3 catégories différentes:

    • Automatiser (tout ce qui pourrait agir tout seul: par exemple la maison, le frigo ou un robot)
    • Voir, Montrer, Toucher (dans la rue, dans les magasins, à la maison…)
    • Bouger, se déplacer, s’éclater (pour tout ce qui tourne autour du mouvement et du sport: voiture, moto, vélo, mais aussi boites de nuits etc!)

    Le déroulé du concours est le suivant:

    • Round 1: Vous avez jusqu’aux Techdays pour réaliser un document décrivant votre projet plus une vidéo “Interview” (cf plus bas)
    • Round 2: La réalisation concrète!

    Le document

    En quelques pages décrivez nous l’idée de votre interface: pourquoi vous la concevez d’une manière plutôt qu’une autre, dans quel cadre vous pensez que les gens l’utiliserons, bref, racontez-nous un peu l’histoire. Parlez nous des technologies que vous souhaitez utiliser, et éventuellement de la façon dont cette interface s’intègrerait dans du hardware. Envoyez le dès que possible a windowspartout@microsoft.com. vous avez le droit d’envoyer plusieurs versions si vous le changez à la dernière minute, soyez bien précis dans votre sujet! la date limite est le 09/02/2010 à 23h59. Les candidatures reçues après ne seront pas traitées! Vous pouvez également vous servir de cet alias pour poser des questions sur le concours.

    La vidéo

    Soit vous vous filmez, soit vous venez aux Techdays et on fait l’interview en live! Faites court (très court: moins de 5 minutes): racontez nous qui vous êtes, pourquoi vous pensez que votre interface devrait passer en round 2, ce qu’elle a d’innovant, et ce qui vous motive (vous voulez la mettre chez vous? c’est pour faire un cadeau? c’est pour la gloire? il n’y a pas de mauvaise raison, mais on veut la connaitre!) Si vous souhaitez rajouter à l’oral quelque chose que vous n’avez pas mis dans le document c’est le moment!

    Pour ceux qui ne peuvent pas se déplacer aux Techdays, postez votre vidéo sur Youtube ou n’importe quelle autre plateforme de vidéo en ligne!

    La réalisation concrète

    Nous annoncerons aux Techdays la date de la finale, qui se passera lors d’une soirée dans les bureaux de Microsoft à Issy-les-Moulineaux: la date est pour l’instant surprise mais rassurez vous vous disposerez de quelques semaines!

    Les lots

    Qu’est-ce qu’on gagne? déjà, tous les participants au Round 1 gagneront une petite surprise sympa et en relation avec les systèmes embarqués. Je n’en dis pas plus :) il suffira de la collecter aux Techdays, sinon on vous l’enverra. Ensuite, pour le Round 2, il y aura du hardware et des abonnements MSDN :)

    Le Jury

    On a constitué un Jury bien sympa:

    • Live from the Windows Embedded Group @ Microsoft Corp, et présent aux Techdays: Olivier Bloch!
    • From Développez.com et représentant les communautés: Jérome Lambert et Michel Todorovic!
    • Avec en Guest Star: François Tonic, rédacteur en chef du magazine Programmez!
    • Et tout cela sous la présidence de Bernard Ourghanlian, CTO & CSO de Microsoft France

    Les critères du Round 1

    Nous avons découpé une note sur 20 en 4 parties, chacune sur 5:

    • L’idée est-elle innovante?
    • Le prototype est-il réalisable?
    • Est-ce qu’un produit implémentant cette interface impacterait son marché?
    • Quel est le niveau de qualité du dossier?

     

    Toutes les infos utiles:

    Sur la page MSDN du concours! et chez notre partenaire http//www.developpez.com

    Je vous engage vivement à relire ce post sur les 10 commandements de la participation à un concours :)

  • Pierre's Embedded and Mobile Blog

    [Breaking News] Un nouveau SDK pour Windows Mobile 6.5 avec de nouveaux templates et contrôles riches

    • 3 Comments

    newSDK65

    Avec les rumeurs qui vont bon train sur la prochaine version majeure de Windows Mobile, on en oublie qu’il y a une plateforme sur le marché qui marche déjà et qui a sa communauté de développeurs. Une communauté qui attendait pas mal de choses comme par exemple des templates et un environnement de développement sérieux pour les widgets, ou bien encore, un contrôle de cartographie riche.

    Que cette communauté se réjouisse, le SDK nouveau est arrivé! Courez le télécharger ainsi que les dernières images localisées des émulateurs, qui vous réservent bien des surprises !

    SDK Windows Mobile 6.5 et les images des émulateurs localisés

    [edit] Le lien semble avoir retiré. l’investigation est en cours… :)

  • Pierre's Embedded and Mobile Blog

    [Teasing] Windows Phone au Mobile World Congress et au MIX10

    • 0 Comments

    A une époque ou les rumeurs (que je ne commenterai pas) vont bon train sur le net… Pourquoi est-ce qu’on pourrait bien faire:

    On dirait que je vais a voir des choses à blogger sous peu…

Page 5 of 10 (240 items) «34567»