© best_vector/Shutterstock.com
Windows Developer
Datenobjekte mit Netduino und WCF-Service versenden und abrufen

Datenhandel für die Kleinen

Was wäre das Internet der Dinge, wenn das eigene Projekt nicht im Netzwerk mitspielt. Im Umfeld für den Netduino und Gadgeteer stellt das .NET Micro Framework die grundlegenden Klassen zur Verfügung, um zum Beispiel mit einem WCF-Service zu kommunizieren. Allerdings gibt es im Umfeld des .NET Micro Framework (noch) keine einfache Anbindung, über die man per rechte Maustaste eine Servicereferenz auf das Projekt hinzufügen kann. Hier ist etwas Handarbeit gefragt.

Johannes Paul Langner


Video: Die Zukunft von .NET am Server

Für den .NET-Entwickler ist das Programmieren eines Netduinos durch die Verwendung von C# und .NET Micro Framework ein Heimvorteil. Auch wenn das Framework einige Einschränkungen mitbringt, sind diese für die Plattform nachvollziehbar. Nach einiger Zeit hat man die ersten Hürden vom „Hello Blink“ überwunden und liest Sensoren oder steuert bereits Aktoren. Irgendwann reicht das nicht mehr aus, und man will das Ganze auch noch über das Netzwerk betreiben oder womöglich mit dem eigenen Home-Server verbinden. Der Netduino Plus bietet bereits auf seinem Board eine Netzwerkbuchse, mit der sich ohne Weiteres ein Netzwerkkabel anschließen lässt. Für ein Netduino Board, das dem Arduino entspricht, wäre ein Shield aus dem Arduino-Umfeld notwendig, was den Aufbau verkomplizieren würde. Denn hierzu wäre die Verwendung der SPI-Schnittstelle erforderlich, wodurch man sich aus dem gewohnten Umfeld für die Entwicklung einer Netzwerkklasse begeben müsste. Das ist jedoch nur dann sinnvoll, wenn man etwas darüber lernen möchte.

Wer mit dem .NET Micro Framework gearbeitet hat, wird sicherlich die ein oder andere Klasse vermisst haben. Das gilt auch für die Programmierung einer Netzwerklasse mit Socket. Des Weiteren besteht keine Implementierung eines JavaScriptSerializer, um Objekte in das JSON-Format serialisieren oder deserialisieren zu können. Zwar existieren ein paar Lösungen, zu empfehlen ist aus Sicht des Autors jedoch nur das Json.NetMF [1]. Allerdings hat diese Bibliothek eine Einschränkung, aufgrund derer sie sich nur auf dem Gadgeteer verwenden lässt.

Für die Entwicklung mit C# und dem .NET Micro Framework reicht Visual Studio 2012 oder 2013 und das .NET-Micro-Framework-SDK 4.2 [2]. Als Hardware empfiehlt sich der Netduino Plus oder der Netduino Plus 2 [3] wegen der bereits bestehenden Netzwerkbuchse.

Dienst erstellen und konfigurieren

Starten wir zunächst ein neues Projekt für WCF Service Application. Die Inhalte aus der Vorlage werden wie gewohnt auf unsere Bedürfnisse angepasst. Zu Beginn wird das Datenobjekt erstellt, das eine Zeichenkette sowie einen Double-Typ aufnimmt. Hierfür werden die Attribute zur Klasse DataContract und der DataMember für die Properties angelegt (Listing 1).

Listing 1[DataContract]public class MyDataObject{ [DataMember] public doubleValue { get; set; }  [DataMember] public string Content { get; set; }}

Im Interface (Listing 2) werden zwei Methoden festgelegt, die das Abrufen und Empfangen e...

Windows Developer
Datenobjekte mit Netduino und WCF-Service versenden und abrufen

Datenhandel für die Kleinen

Was wäre das Internet der Dinge, wenn das eigene Projekt nicht im Netzwerk mitspielt. Im Umfeld für den Netduino und Gadgeteer stellt das .NET Micro Framework die grundlegenden Klassen zur Verfügung, um zum Beispiel mit einem WCF-Service zu kommunizieren. Allerdings gibt es im Umfeld des .NET Micro Framework (noch) keine einfache Anbindung, über die man per rechte Maustaste eine Servicereferenz auf das Projekt hinzufügen kann. Hier ist etwas Handarbeit gefragt.

Johannes Paul Langner


Video: Die Zukunft von .NET am Server

Für den .NET-Entwickler ist das Programmieren eines Netduinos durch die Verwendung von C# und .NET Micro Framework ein Heimvorteil. Auch wenn das Framework einige Einschränkungen mitbringt, sind diese für die Plattform nachvollziehbar. Nach einiger Zeit hat man die ersten Hürden vom „Hello Blink“ überwunden und liest Sensoren oder steuert bereits Aktoren. Irgendwann reicht das nicht mehr aus, und man will das Ganze auch noch über das Netzwerk betreiben oder womöglich mit dem eigenen Home-Server verbinden. Der Netduino Plus bietet bereits auf seinem Board eine Netzwerkbuchse, mit der sich ohne Weiteres ein Netzwerkkabel anschließen lässt. Für ein Netduino Board, das dem Arduino entspricht, wäre ein Shield aus dem Arduino-Umfeld notwendig, was den Aufbau verkomplizieren würde. Denn hierzu wäre die Verwendung der SPI-Schnittstelle erforderlich, wodurch man sich aus dem gewohnten Umfeld für die Entwicklung einer Netzwerkklasse begeben müsste. Das ist jedoch nur dann sinnvoll, wenn man etwas darüber lernen möchte.

Wer mit dem .NET Micro Framework gearbeitet hat, wird sicherlich die ein oder andere Klasse vermisst haben. Das gilt auch für die Programmierung einer Netzwerklasse mit Socket. Des Weiteren besteht keine Implementierung eines JavaScriptSerializer, um Objekte in das JSON-Format serialisieren oder deserialisieren zu können. Zwar existieren ein paar Lösungen, zu empfehlen ist aus Sicht des Autors jedoch nur das Json.NetMF [1]. Allerdings hat diese Bibliothek eine Einschränkung, aufgrund derer sie sich nur auf dem Gadgeteer verwenden lässt.

Für die Entwicklung mit C# und dem .NET Micro Framework reicht Visual Studio 2012 oder 2013 und das .NET-Micro-Framework-SDK 4.2 [2]. Als Hardware empfiehlt sich der Netduino Plus oder der Netduino Plus 2 [3] wegen der bereits bestehenden Netzwerkbuchse.

Dienst erstellen und konfigurieren

Starten wir zunächst ein neues Projekt für WCF Service Application. Die Inhalte aus der Vorlage werden wie gewohnt auf unsere Bedürfnisse angepasst. Zu Beginn wird das Datenobjekt erstellt, das eine Zeichenkette sowie einen Double-Typ aufnimmt. Hierfür werden die Attribute zur Klasse DataContract und der DataMember für die Properties angelegt (Listing 1).

Listing 1[DataContract]public class MyDataObject{ [DataMember] public doubleValue { get; set; }  [DataMember] public string Content { get; set; }}

Im Interface (Listing 2) werden zwei Methoden festgelegt, die das Abrufen und Empfangen e...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang