Windows 10 IoT unter RPi2 als kleiner HTTP / REST-Web-API-Server

12

Derzeit befindet sich Windows 10 Core für IoT in der Vorschau. Sie können Visual Studio 2015 RC mit einem neuen Windows Universal-Projekt verwenden und einige Apps entwickeln.

Ich bin jedoch daran interessiert, mein eigenes ASP.NET-WebAPI (REST / JSON) auf Raspberry Pi 2 als Host zu erstellen. Ist es möglich ? Ist es auch möglich, dass RPi2 ein kleiner Webserver mit wenigen .html-Dateien ist?

Hrvoje Kusulja
quelle
Sie können einer Universal-App in VS 2015

Antworten:

10

Wenn Sie einen einfachen REST-Service für eine Windows Universal App suchen, schauen Sie sich dieses Github-Projekt an:

https://github.com/tomkuijsten/restup

Es gibt auch ein Nuget-Paket dafür:

https://www.nuget.org/packages/Restup/

Haftungsausschluss: Ich bin der Eigentümer und Schöpfer von Restup

Tom Kuijsten
quelle
Dies ist ein toll aussehendes Projekt, Tom. Ich hatte angefangen, mit einer ähnlichen Idee zu spielen und Klassen zu erstellen, um verschiedene Arten von http-Anfragen zu verarbeiten, aber Sie und Ihre Mitwirkenden haben wirklich etwas Cooles entwickelt. Ich kann es kaum erwarten, es auszuprobieren.
Ben Brandt
Ist das dein Projekt? Bitte geben Sie einen Haftungsausschluss für Ihre Antwort darauf. PS Kannst du MVC nicht auf IoT hosten?
Piotr Kula
In der Tat mein Projekt, Haftungsausschluss hinzugefügt. Und nein, MVC kann nicht über IoT gehostet werden.
Tom Kuijsten
Tatsächlich. MVC erfordert entweder IIS oder .NET Core, von denen (noch) keiner unter Win IoT unterstützt wird. Eventuell wird .NET Core jedoch unterstützt.
Jim Yarbro
@TomKuijsten Vielen Dank für Ihren Beitrag. Wenn ich fragen darf, würden Sie trotzdem vorschlagen, dass ich Ihre Implementierung verwende? Ist es "up to date", weil ich sehe, dass der aktuelle Thread von vor 3 Jahren ist. Wenn nicht, haben Sie eine Alternative im Sinn?
Thodoris Koskinopoulos
4

Lesen Sie auch Embedded HTTP und WebSocket Server für UWP / .NET 4.5 unter https://www.nuget.org/packages/IotWeb/ (oder auf github ).

Lee Richardson
quelle
Hat dieses Nuget-Paket ein Beispiel oder eine Dokumentation dazu? Vielen Dank!
Rob S.
1
@RobS. Dokumentation ist leicht, aber sie haben Beispiele hier github.com/sensaura-public/iotweb/blob/… und hier github.com/sensaura-public/iotweb/blob/… und ich kombiniere es mit einer Angular2-App für etwas ein etwas umfangreicher hier: github.com/AutomatedArchitecture/sirenofshame-uwp/blob/develop/…
Lee Richardson
3

Es ist möglich, einen Webserver mit Windows 10 Core für IoT auf dem Raspberry Pi 2 zu implementieren. Wenn Sie über http: // Gerätename / auf Ihr Gerät zugreifen , wird tatsächlich eine Website angezeigt , die bereits vom System bereitgestellt wird.

Um Ihren eigenen Webserver unter Windows IoT zu implementieren, gibt es eine Reihe von Möglichkeiten. Für Python oder Node.js sind bereits Beispiele für das offizielle GitHub-Projekt verfügbar:
https://github.com/ms-iot/samples

Wie Sie bereits erwähnt haben: Ich bin noch nicht auf ein Beispiel gestoßen, aber Sie sollten dies entweder mit einer klassischen selbst gehosteten ASP.NET 4-Anwendung oder mit ASP.NET 5 ausprobieren können (auch bekannt als "ASP.NET vNext").

In beiden Fällen sollten Sie zuerst eine Windows Universal App erstellen, die den Webserver hostet. Jetzt können Sie den gleichen Ansatz wie in mehreren anderen Lernprogrammen verwenden, in denen gezeigt wird, wie ein selbst gehosteter ASP.NET-Server implementiert wird, z. B. mithilfe einer Konsolenanwendung. Anstelle einer Konsolenanwendung verwenden Sie hier die Windows Universal App, aber das macht im Grunde keinen Unterschied.

ASP.NET 4-Beispiel:
http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api

ASP.NET 5-Beispiel:
http://www.c-sharpcorner.com/UploadFile/7ca517/Asp-Net-5-conaole-application-with-visual-studio-2015/

Ich hoffe, das hilft!

Daniel Lemke
quelle
Vielen Dank für Informationen, ja, ich möchte die erwähnte Windows Universal App mit ASP.NET 4 oder 5 selbst hosten, bin mir jedoch nicht sicher, ob dies bei Verwendung der Universal App anstelle der einfachen Konsolen-App der Fall ist. Die Verwendung des OWIN-Webservers in .net ist für Windows Universal App-Projekte oder nur für IoT nicht zulässig.
Hrvoje Kusulja,
Hallo, ich bin nach der gleichen Sache, aber bin nicht gestört von der Verwendung von OWIN. Ich möchte nur HTML-Seiten über meine Himbeer-Pi2 mit Windows 10 installieren. Es gibt keine Standardseite für mein Gerät.
Andrew Simpson
0

Beachten Sie, dass die Beispielanwendung "App2App WebServer" Sockets verwendet, um auf eine Verbindung zu warten. Sie können den Code einfach erweitern, um den Inhalt zu lesen und ihn als JSON zu behandeln, wenn Sie Ihren eigenen einfachen Restful-Server erstellen möchten. Es wird nicht den gesamten ASP.NET-Mechanismus haben, aber dann möchten Sie einfach.

Bob Frankston
quelle