DotnetDojo

Développer des applications modernes avec les technologies Microsoft et Open source

  • Blog
  • Vidéos
  • Formations
  • Outils

A la découverte de Netduino… C# pour l’embarqué

Aujourd’hui, je vous propose un article plus orienté électronique et « coding for fun ».

Je vais vous présenter une plateforme de développement embarquée permettant de développer avec le langage C#.
L’utilisation de C# permet de développer rapidement et de manière plus abstraite du matériel.

Habituellement, quand on démarre sur une plateforme, il faut tout d’abord lire la documentation de la carte, du processeur, des interfaces d’entrées/sorties.
Ce type d’apprentissage est, en général, assez long et pas très intéressant.

La plateforme, que je vais vous présenter, permet de se passer de cette phase d’apprentissage et de démarrer immédiatement.

Présentation de Netduino

L’idée

A l’origine, il y avait Arduino, un projet de carte de développement Open Source (les schémas sont gratuits et disponibles). Ce projet a donné naissance à plusieurs cartes. Celles-ci sont en vente dans plusieurs boutiques (à découvrir sur le site officiel).
Les cartes Arduino sont très accessibles niveau du prix (environ 20 €), ce qui en fait l’instrument idéal pour les amateurs d’électronique. Il existe d’ailleurs des dizaines de cartes d’extension que vous pouvez ajouter.

Seulement voilà, il y a un inconvénient à cette carte : le développement se fait en langage C/C++.

Heureusement pour nous, développeurs C#, il y existe une autre solution 🙂

L’alternative

L’alternative dont je vous parle est Netduino (le nom est assez explicite). Netduino a été crée par la société Secret Labs. Il s’agit d’une carte de développement permettant de développer en .NET grâce au Micro Framework (une version allégée du framework que vous trouvez sur les PC ou serveurs).

Grâce au Micro Framework, vous aurez accès à un environnement d’exécution assez proche de ce que vous connaissez. Par exemple, vous pourrez créer des objets et le Garbage Collector (GC) s’occupera de les supprimer.

De plus, Netduino est compatible avec les cartes d’extension Arduino !

Comment démarrer ?

Matériel nécessaire

Le seul matériel nécessaire est la carte de développement (alimentée par port USB). Dans l’exemple, je vous parlerais de la carte que je possède, une Netduino Plus dont voici les caractéristiques :

  • Processeur Atmel 32-bit (48MHz, ARM7)
  • Espace disponible pour le code : 64 Ko (128 Ko sans la couche réseau)
  • Mémoire RAM : 42 Ko (60 Ko sans la couche réseau)
  • 20 entrées/sorties numériques, donc 6 analogiques
  • Interface réseau Ethernet 10/100 Mbps
  • Carte Micro SD (jusqu’à 2 Go de stockage)

Logiciels nécessaires

Pour développer avec la carte, voici ce qui est nécessaire (à installer dans cet ordre) :

  • Visual Studio ou Visual Studio Express
  • Le Micro Framework de Microsoft (télécharger ici)
  • Le SDK de Netduino (télécharger ici 32-bit – 64-bit)

La carte

Netduino Plus

La carte se présente de la manière suivante :

  • A gauche, la prise Ethernet, le port USB, l’entrée pour une alimentation séparée (si vous n’utilisez pas l’USB),
  • En haut et en bas, en bleu, les entrées/sorties sur lesquelles vous pouvez clipser des cartes d’extension,
  • En bas, l’emplacement pour une carte Micro SD,
  • Au centre, le microcontrolleur Atmel, et juste à côté un bouton poussoir (SW1).

L’exemple classique : Hello World

Cet article étant une introduction, je vais donc simplement vous présenter le fameux Hello World en électronique : faire clignoter une LED.

La carte de développement propose déjà une LED que nous pouvons utiliser immédiatement dans notre application.

Pour démarrer, il suffit de lancer Visual Studio et de créer un nouveau projet du type Netduino Plus (le type dépend de votre carte).

Nouveau projet netduino plus sous Visual Studio

Votre projet comporte un fichier « Program.cs » qui contient le code de l’application.

Pour allumer et éteindre notre LED, nous allons déclarer un port de sortie. Ce port permettra de définir le niveau de tension d’une « patte » du contrôleur à 5 V ou à 0 V. Si la tension de sortie est 5 V, alors la LED s’allume.

Voici comment déclarer un port :

[csharp] OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
[/csharp]

Pour allumer et éteindre notre LED, nous allons faire une boucle avec une petite temporisation à chaque fois (pour éviter qu’elle ne clignote trop vite – sinon on ne verrait rien).

Voici le code final de notre application :

[csharp] public class Program
{
public static void Main()
{
OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);

while (true)
{
// Allumer la Led
led.Write(true);

// Attendre 500 ms (0.5 seconde)
Thread.Sleep(500);

// Eteindre la led
led.Write(false);

// Attendre un peu
Thread.Sleep(1000);
}
}
}
[/csharp]

Déployer et lancer l’application

Pour démarrer votre application, il faut tout d’abord brancher votre carte sur un port USB de votre machine de développement.

Ensuite, dans les propriétés de votre projet, rubrique « .NET Micro Framework », indiquez Transport: USB et Device: Netduino Plus (selon votre carte).

Sélection carte Netduino - deploiement Visual Studio

Pour aller plus loin

Si vous souhaitez commander une carte de développement (environ 50 € TTC), je vous conseille l’excellent site Go Tronic.

Dans un prochain article, je vous présenterai une application complète et téléchargeable gratuitement pour la carte Netduino.
Abonnez-vous au blog pour rester informé !

[ninja-inline id=3695]

Besoin de résultats rapides ?

Découvrez les formations vidéos que je propose :

  

 

Formations en présentiel (dans toute la France)

Découvrez également les formations C# et .NET que je donne en présentiel (en France)

A propos de DotnetDojo

Pascal Lacroix

Je m’appelle Pascal et je suis passionné par le développement logiciel, l’efficacité et l’entrepreneuriat. Sur DotnetDojo, je vous propose des méthodes pour apprendre à développer des applications modernes avec les technologies Microsoft et Open Source.

En savoir plus

Liens complémentaires

  • A propos de DotnetDojo
  • 18 principes pour professionnaliser le développement logiciel
  • Boite à outils du développeur
  • Tous les articles
  • Liste des formations
  • Contact

Copyright 2019 Jupiteo · Mentions légales · Contact · CGV · Offres d'emploi .NET · Formations Dotnet