Create your first object connected to the Cloud

The Internet of Things is getting a lot of attention these days. The opportunities are huge for nearly every single company. Manufacturing, energy, healthcare, transportation, public sector, fiance and more will benefit from this technology.  The good news for software developers is that it’s very easy to start to surf the wave right now.

During the Microsoft TechDays 2015, we created a 45 min lab for the attendees to put their hands on “real” things and live the experience. 70 lucky people took the challenge. It’s now time to enlarge the audience, so here is the complete scenario, detailed step by step, with intermediate source code.

Scenario

How could a C# developer use its skills and 45 minutes to create a very simple connected light? This light should be controlable on the device itself and remotely using any smart phone.

Solution

For someone with no electronic background but a desire to explore more IoT scenarii, Gadgeteer is a great choice. Gadgeteer is one of the fantastic project created by Microsoft Research and open sourced on CodePlex with the objective to ease the conception of objects. No soldering, no resistor calculation, just plug in and it works! More than software, the hardware specifications has been open sourced too. Companies like GHI Electronics made some great boards and modules and released the plans and source code.

Gadgeteer relies on another master piece of software called .NET Micro Framework, an adjusted version of the famous .NET Framework for the very constrained micro controllers. Once again, you’ll get full control and ability to learn from the source code as it’s open sourced on CodePlex. With a very few lines of code, you’ll be able to give life to your objects and communicate with the Cloud.

With such time constrain, we need to be very effective. Microsoft Azure will allow us to code in minutes and deploy in seconds. You can run services in any language in the Cloud, including C#. We will use ASP.NET MVC for both our APIs and the web site. Oh, last but not least, it’s open source too on GitHub !

 

Requirements

1) Software

NameNotesTime to install
Visual Studio 2013 Update 4Visual Studio Community 2013 is freely available. You'll need at least one option during setup "Microsoft Web Developer Tools"30 min
.NET Microframework SDK 4.3.2 QFE2 RTM + Visual Studio Extension2 min
.NET Gadgeteer Core2 min
GHI Electronics .NET Microframework SDKThe main Gadgeteer vendor has a lot of additional modules, a very active community ready to share some awesome creations4 min
Microsoft Azure SDK4 min

2) Hardware

Kit Gagdeteer pour atelier IoT

QuantityNamePrice
Total$50.75
1FEZ Cerberus Mainboard$24.95
1USB Client SP Module$4.95
1LED 7C Module$2.95
1Button Module$2.95
1Ethernet ENC28 Module$14.95

To check your configuration, launch Visual Studio, create an empty Gadgeteer project and compile it.

If you have any problem, you will probably find a solution on this troubleshooting guide.

All the source code is published on GitHub

You’re now ready to start the fun part, let’s code :)

Microsoft TechDays 2015 Atelier IoT : Réalisez votre premier objet connecté au Cloud

Pour la toute première fois, l’édition 2015 des Microsoft TechDays a mis en place un atelier à propos des objets connectés intitulé : “Atelier IoT : Réalisez votre premier objet connecté au Cloud“. En complément des sessions théoriques, vous pourrez expérimenter de façon très concrète, vivre le phénomène des “Makers“, “mettre les mains dedans”. C’est une excellente opportunité d’évaluer le formidable potentiel que représente l’Internet of Things. J’aurai le plaisir d’animer cet atelier en compagnie de deux passionnés : Fabrice Barbin de Synergiz et Sébastien Warin de Publicis ETO . Les places étant très limitées, je ne saurais vous conseiller de vous inscrire en ligne.

Nous mettrons un kit Gadgeteer complet comme celui-ci à votre disposition. Une carte mère FEZ Cerberus, une alimentation, un bouton, une LED et une prise réseau.

Kit Gagdeteer pour atelier IoT

Pour vous préparer à ces 45 minutes didactiques et amusantes, prenez connaissance dès maintenant des prérequis :

1) Un ordinateur capable de faire fonctionner les logiciels ci-après.

2) Visual Studio 2013 Update 4
Comptez 30 minutes d’installation minimum. Visual Studio Community 2013 est disponible gratuitement. Une seule option est nécessaire, les “Microsoft Web Developer Tools”.

Visual Studio Setup options

Visual Studio Setup options

3) .NET Microframework SDK 4.3.2 QFE2 RTM + Visual Studio Extension
2 minutes, disponible sur CodePlex.

4) .NET Gadgeteer Core
2 minutes, disponible sur CodePlex.

5) GHI Electronics .NET Microframework SDK
4 minutes, disponible sur le site de GHI Electronics principal fournisseur des composants Gadgeteer. Vous y trouverez une communauté de passionnés très actifs, n’hésitant pas à partager leurs créations.

Pour vérifier que votre configuration fonctionne correctement, lancez Visual Studio, créer un projet Gadgeteer et compilez.

En cas de problème, il y a de fortes chances que vous trouviez une solution sur cette page.

Pour valider les pré-requis, je suis parti d’une machine virtuelle vierge. J’y ai installé Windows 8.1 (merci MSDN) puis les prérequis ci-dessus. A la première compilation d’un projet .NET Gadgeteer, J’ai obtenu l’erreur suivante :
Visual Studio First compilation error

Le .NET Framework 3.5 n’était pas installé sur cette machine.

Windows 8.1 Install .NET Framework 3.5

Une fois installé, la compilation de mon projet Gadgeteer dans Visual Studio se déroule sans erreur.

Visual Studio First compilation error

Rendez-vous le Mardi 10 février 2015 de 16h30 à 17h15 en salle 253. Si vous avez des question d’ici là, n’hésitez à me les poser en commentaire.

KloutSharp the open source Klout API in C# on GitHub

Like it or hate it, there’s not a lot of tools to measure your impact on social networks. Klout is one of those, not perfect but you should check it. The Klout APIs are pretty simple but a ready to use C# implementation will ease your work. I created a portable library so it should be usable for .NET 4.5, Windows, Windows Phone, iOS and Android. It’s available right now as open source software on GitHub.

How to use it?

First, you have to get a Klout API key.
Then, add a reference to the NuGet package or add the source files directly.
The entry point is the Klout object, so create a Klout object before anything else.

var key = "Put your Klout API key here";
var k = new Klout(key);

Then you might need to get the Klout identifier of your user. You can use any Klout.Identity*Async method depending on the information you currently have (Twitter Id, Google+ Id, etc.).

var identity = await k.IdentityAsync("danvy");
Console.WriteLine(string.Format("Your Klout Id is {0}", identity.Id));

Once you have the Klout Id, you can keep it forever. Now you can call the other APIs such as UserAsync to get user informations

var user = await k.UserAsync(kloutId);
Console.WriteLine(string.Format("Klout user nick={0} score={1}", user.Nick, user.Score.Score));

A sample app with full source code is provided.

To make the long story short, you’re now able to get a Klout score in 2 or 3 lines of C#. Isn’t it great?

Have fun with Klout and C# 😉

Microsoft TechDays 2015, sur le chemin de l’Internet des Objets, l’Internet of Things

Cette année encore, les passionnés de technologies, Microsoft ou autres, se donneront rendez-vous du 10 au 12 Février 2015 au Palais des Congrès de la Porte Maillot, à Paris. Pour rappel, il s’agit d’une des conférences informatique les plus importante d’Europe avec 18.000 visiteurs (sic!) sur 3 jours. Il réunit cette année les développeurs, professionnels de l’IT et décideurs pour échanger sur le thème de “l’ambient intelligence“, tout un programme :) Plus de 300 sessions techniques ou business, accessibles ou stratosphériques, y seront délivrées par des Microsofties et de nombreux partenaires, il y en aura pour tous les goûts. Bien plus que les sessions, c’est aussi l’occasion de découvrir les solutions innovantes exposées mais surtout des faire des rencontres, de discuter des sujets brulants du moments, de partager vos préoccupations, d’échanger des solutions, d’entrer en contact avec les intervenants en fin de session, de boire un verre avec des amis. Un grand moment de convivialité. Au fait, aviez-vous en tête que l’accès à une telle conférence puisse être gratuite ?

Après cette brève introduction, vous ne pouvez certainement plus imaginer faire autre chose que de venir passer un moment aux TechDays. Si votre agenda ne vous permet de venir les 3 jours, ne vous inquiétez pas, le contenu est suffisamment dense pour rentabiliser votre venue, quelque soit sa durée. Pour gagner quelques minutes, pensez à vous inscrire en ligne.

Vient alors la seule difficulté à laquelle vous devrez faire face : Constituer votre programme. Les choix seront difficiles à faire. Renforcer ses connaissance un notre sujet de préoccupation du moment ? Découvrir un domaine qui nous est encore inconnu ? S’accorder une parenthèse récréative ?

Etant passionné par l’Internet des objets, le fameux “Internet of Things”, j’ai travaillé, avec les intervenants et l’équipe organisatrice, à la constitution d’un parcours dédié au sujet. Avec 20 sessions très variées pour tenter de couvrir ce vaste domaine, on peut le qualifier de massif ! Je vous invite à le consulter sur le site des TechDays. N’hésitez pas à vous inscrire aux sessions et à cliquer sur “J’aime”, c’est sans engagement et nous permet d’anticiper le dimensionner des salles en conséquence.

J’ai sélectionné quelques session pour vous, certaines parce que j’y interviendrai, d’autres parce que j’y assisterai, toutes parce qu’elles me tiennent à coeur.

Plénière du premier jour “new Keynote() { cloudFirst=true, mobileFirst=true }.Connect();”

Mardi 10 février : 9h15-10h30
Un perçu des possibilités, une vision sur les opportunités. L’équipe des évangéliste de Microsoft France, à la quelle j’appartient, se donne beaucoup de mal pour créer du contenu original. Nous y travaillons encore à l’heure qu’il est ! Nous avons à coeur de partager avec vous le plaisir que nous avons à vous aider à créer des applications, à écrire du code. C’est un exercice beaucoup plus difficile qu’il n’y parait. Je pense m’étendre un peu plus sur le sujet ultérieurement.

TechDays 2014 Plénière J1 : Connecter une ampoule

TechDays 2014 Plénière J1 : Connecter une ampoule par O. Ezratty

Bluetooth Low Energy dans les applications Windows

Mardi 10 février : 11h00-11h45
Le protocole Roi de l’IoT. Mérite-t-il sa couronne ? Voyons quels sont ses forces et ses faiblesses. Comment en tirer parti dans vos développements d’applications Windows et Windows Phone. Le Bluetooth Low Energy n’aura plus de secret pour vous.

« The Microsoft Research Lab of Things » : from IoT research and prototyping, to deploying at scale

Mardi 10 février : 12h15-13h00
Se préparez à l’avenir. Microsoft Research accueille des chercheurs du monde entier parmi les plus brillants. Nous sommes fier d’avoir Leslie Lamport, prix Turing 2013 (équivalent du Nobel pour l’informatique), à nos côtés. Les interventions grand public de ces chercheurs sont rares, il serait bien dommage de s’en priver.

Design “Designing the future – Le quotidien bouleversé par la tendance Internet des objets”

Mardi 10 février : 12h15-13h00
Le design, sous toute ses formes. L’ambient intelligence implique qu’à un moment, cette dernière s’intègre à nos usages, jusqu’à en devenir transparente. Cela ne se fera pas tout seul, sans effort. Si l’on arrive à connecté presque n’importe quoi, il ne faudrait pas avoir à choisir entre richesse fonctionnelle et facilité d’utilisation, productivité et plaisir à l’usage, sécurité et ouverture. Le design a un rôle clé à jouer dans cette partition.

Relever les défis de la sécurité à l’heure de l’Internet des objets

Mardi 10 février : 15h15-16h00
La peur du Terminator ? On va bien finir par connecté n’importe quoi et collecter un ensemble de futilité mais lorsqu’il s’agit d’objets aussi critiques qu’un coeur artificiel, ou de données sensibles liées à notre santé, nous ne pouvons faire l’impasse sur la sécurisation des système.

Atelier IoT : Réalisez votre premier objet connecté au Cloud

Mardi 10 février : 16h30-17h15
C’est moi qui l’ai fait ! Après avoir été spectateur, à votre tour d’être acteur d’une session. Venez goûter au mouvement grandissant des “Makers“. Tout en étant guidé, vous laisserez s’exprimer vos talents créatifs sur la création d’un objets. Je suis certain que nous verrons une certaine fierté s’installer sur plus d’un visage.

Gadgeteer

Gadgeteer

Création d’une solution d’objets connectés, de l’objet aux services

Mercredi 11 février : 15h15-16h00
Making of. Nous reviendrons en détail sur le processus de création de la démonstration sur les objets connectés de la plénière du premier jour. Du prototype d’objet en passant par l’infrastructure, je partagerai avec vous tous les secrets de réalisation.

Geek is in da {new} House

Mercredi 11 février : 17h45-18h30
Certifié WAF compatible :) Accordez-vous une parenthèse enchantée. C’est un de ces rares moments où l’on a plaisir à être entouré de plus “fou” de technologies que sois. Attention, bien que le sourire est garanti, vous risquez de ressortir de cette session désinhibé, avoir une furieuse envie de craquer sur le dernier système de domotique qui vous faisait de l’oeil depuis quelques temps.

Vers une technologie invisible et une intelligence omniprésente ?

Jeudi 12 février : 9h15-10h30
Quand technologie rime avec poésie. Que j’aime ce moment nous invitant à un voyage à travers l’espace et le temps. Quand une citation Lamartinienne sert de fil rouge entre un ballet dronesque et quelques vaches connectées, quand vous sentez que votre esprit se retrouve savamment projeté en 2084, c’est que vous y êtes : Bienvenue dans le pays des merveilles de Bernard Ourghanlian.

Bernard Ourghanlian, Alex Danvy & la fenêtre connectée

Bernard Ourghanlian, Alex Danvy & la fenêtre connectée

Démystification du Machine Learning

Jeudi 12 février : 11h00-11h45
Demain, aujourd’hui. On en entend plus parler qu’on ne sait vraiment à quoi il sert. Le machine learning gagne à être connu. Il sera la clé de nombreux scénarii d’aide au diagnostique, de maintenance préventive, de compréhension du langage naturel, de reconnaissance de formes et bien d’autres encore. Ses principes, somme toute assez simples, seront exposés et mis en oeuvre avec des exemples facilement compréhensibles.

L’hôpital, nouvel objet connecté du système de santé

Jeudi 12 février : 11h00-11h45
Le plus important. Ne dit-on pas que lorsque la santé va, tout va ? Les enjeux sont absolument colossaux. Les objets connectés au service de notre santé pourraient représenter une avancée considérable pour l’Humanité. Imaginer que nous le nombre pathologies que nous pourrions éviter si des objets connectés étaient en continue à l’écoute de notre corps, si nous pouvions mettre en commun l’ensemble des données collectées… Nous n’en sommes plus très loin mais il y a de nombreuses étapes à atteindre avant cela, comme d’améliorer les installations de nos hôpitaux.

Objets connectés, pourquoi vous avez tout à y gagner

Jeudi 12 février : 11h00-11h45
Le nerf de la guerre. Non, les objets connectés ne sont pas uniquement un terrain d’exploration pour les geeks. C’est avant tout des opportunités de croissante importantes voir considérables pour bons nombres d’acteurs. Rares sont les secteurs qui ne pourront bénéficier de ce levier. Des acteurs majeurs viendront nous exposer leur problématique, partager avec nous les solutions qu’ils ont trouvé et les bénéfices qu’ils en ont tiré.

Toute l’équipe des TechDays se prépare à vous accueillir, finalise les contenus, ajuste les derniers détails, peaufine chaque diapositive et la moindre ligne de code. Rendez-vous dans quelques jours.

TechDays 2014 Plénière J1 : Backstage

TechDays 2014 Plénière J1 : Backstage

Watch Xamarin Evolve 2014 (or any channel) YouTube videos offline

You’re a mobile developer living in a mobile first cloud first world and would like to take some benefit from the awesome content coming from Xamarin Evolve 2014 ? All the 55 videos are published on YouTube (Except the keynote) on the XamarinHQ channel and that’s a great thing. If you’re often on the go, you will appreciate to have all those videos always with you, usable offline at any time, living a typical mobile scenario, smartly using the time you spend every days in taxis, trains or planes. Here is a little tutorial on how I deal with the situation:

1) Install Chocolatey

Ok, this step is not absolutely mandatory but, hey, if you didn’t know Chocolatey (A package manager for Windows, The NuGet for apps) or you were looking for an opportunity to install it, it’s time! You will not regret it. I can not longer imagine using Windows without it.
– open your favorite browser
– goto to http://chocolatey.org

Setup is as simple as a copy-paste in a Command Prompt

Setup is as simple as a copy-paste in a Command Prompt

– copy the commmand line of the front page. It should be something like

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

– open a Command Prompt on Windows
– paste the command line and hit enter
– and voila!

2) Install youtube-dl

To download YouTube videos, you will need a tool that will parse YouTube content, find the videos and download them. My favorite tool for this mission is youtube-dl . You can get the Chocolatey package by typing

choco install youtube-dl

in a Command Prompt to install the tool (Yes, you downloaded and installed your first Chocolatey package :-) ). You’ll get the details on http://chocolatey.org/packages/youtube-dl

Chocolatey installs youtube-dl package, easy as 1 2 3

3) Start your download

– Goto your destination folder :

cd %userprofile%\videos

– Launch youtube-dl using the Xamarin Evolve 2014 playlist on YouTube :

youtube-dl -iw https://www.youtube.com/playlist?list=PLM75ZaNQS_FbvKCmsji1pgq8maGGZXph3

– Be patient

Xamarin Evolve 2014 youtube-dl at work
I recommand to use those options to get the best experience:
– “-i” to ignore errors. The playlist or video availability could evolve during the download
– “-w” to not overwrite files so you can launch the command several times to resume your donwloads without restarting from scratch

4) Enjoy your videos on the go

Now that your videos are stored localy, in high resolution MP4, you’ll be able to watch them on every device, without an Internet connection. But please, make me a favour : don’t forget to give feedback to the authors/speakers on YouTube. I’m sure you will join a network at some point in a Starbucks Coffee near you, so take a minute to send them kudos, like and share those videos.

55 videos 18.7 GB of learning material

55 videos 18.7 GB of learning material

Of course, you can use the same tools to download videos on other YouTube channels/playlists or on other web site. Check the youtube-dl documentation for extended scenarios.

Never stop to (have fun) learning.

 

Edit 2015-02-01: Now that Xamarin created a YouTube playlist for Evolve 2014 content, we’ll use it. Thanks to Kym Phillpotts comment.

Microsoft Apple & Google on the same stage with Xamarin

Let’s get it started !

It took me a very long time to create a personal blog. I tried numerous times, setup several different services (Blogger, DotNetNuke, CommunityServer, BlogEngine, WordPress.com) but once I had to face the empty page, my good intention just disappeared. What should I say? Who will read it? Will I have time? What if I make mistakes?

Then, in 2007, Twitter came into my life. The empty page was still there but 140 caracters were less impressive. I embrassed Twitter. More than 6000 tweets later, I decided to fight against the level 2 final boss, the blog.

I wanted this very first post to be personal. I wanted to share something that I love. Numerous ideas came to my mind, from my personal computer history to the 5 things you didn’t know about me. I will treat some of those in the future but today, I will use a photo I made during the Build 2014 conference in San Francisco.

Microsoft-Build-2014-Apple-Google-Xamarin

Microsoft Build 2014: Microsoft Apple & Google on stage with Miguel de Icaza from Xamarin

During this session, Miguel De Icaza, the inspiring co-founder and CTO of Xamarin, presented a great session called “Go Mobile with C# and Xamarin“. During this talk, Miguel was standing behind a Microsoft deck to make its Visual Studio & Xamarin demos running inside a Windows virtual machine on a Mac OS X Apple MacBook wearing Google Glass. You have to watch the video at 47:00 the Google Glass part is hilarious.

I’m very proud to work for one of the only, if not the only, major company in the technical industry that is able to give visibility to what most people might consider as competitors but what I see as the today’s ecosystem.

That’s the Microsoft I love, right in its time, open to opportunities, proving its value.

Kudos Microsoft !