Windows 10 IoT na RPi2 jako mały serwer HTTP / REST Web API Server


12

Obecnie system Windows 10 Core dla IoT jest dostępny w wersji zapoznawczej i można korzystać z programu Visual Studio 2015 RC z nowym projektem Windows Universal i tworzyć niektóre aplikacje.

Jednak jestem zainteresowany tworzeniem własnego interfejsu WebAPI ASP.NET (REST / JSON) na Raspberry Pi 2 jako hosta. Czy to możliwe ? Czy to możliwe, że RPi2 jest małym serwerem WWW z kilkoma plikami .html?


Nie można dodać pakietów OWIN do uniwersalnej aplikacji w VS 2015

Odpowiedzi:


10

Jeśli szukasz prostej usługi REST dla uniwersalnej aplikacji Windows, spójrz na ten projekt github:

https://github.com/tomkuijsten/restup

Istnieje również pakiet nuget:

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

Oświadczenie: Jestem właścicielem i twórcą restupu


To świetnie wygląda projekt Tom. Zacząłem grać z podobnym pomysłem, tworząc klasy do obsługi różnego rodzaju żądań HTTP, ale ty i twoi współpracownicy naprawdę stworzyliście coś fajnego. Nie mogę się doczekać, aby to wypróbować.
— Ben Brandt

Czy to twój projekt? Podaj swoją odpowiedź dotyczącą wyłączenia odpowiedzialności. PS Nie możesz hostować MVC na IoT?
— Piotr Kula,

Rzeczywiście mój projekt, dodano zastrzeżenie. I nie, nie możesz hostować MVC na IoT.
— Tom Kuijsten

W rzeczy samej. MVC wymaga IIS lub .NET Core, z których żaden nie jest (jeszcze) obsługiwany w Win IoT. Ostatecznie .NET Core będzie obsługiwany.
— Jim Yarbro

@TomKuijsten Dziękujemy za Twój wkład. Jeśli mogę zapytać, czy nadal sugerowałbyś, że używam twojej implementacji? Czy to jest „aktualne”, bo widzę, że obecny wątek pochodzi sprzed 3 lat. Jeśli nie, czy masz na myśli alternatywę?
— Thodoris Koskinopoulos

4

Sprawdź także wbudowany serwer HTTP i WebSocket dla UWP / .NET 4.5 https://www.nuget.org/packages/IotWeb/ (lub na github )


czy ten pakiet nuget ma jakiś przykład lub jak powiązaną z nim dokumentację? Dzięki!
— Rob S.

1
@RobS. dokumentacja jest lekka, ale mają przykłady tutaj github.com/sensaura-public/iotweb/blob/… a tutaj github.com/sensaura-public/iotweb/blob/… i łączę to z aplikacją Angular2 dla czegoś trochę bardziej znaczące tutaj: github.com/AutomatedArchitecture/sirenofshame-uwp/blob/develop/…
— Lee Richardson

3

Możliwe jest zaimplementowanie serwera WWW z Windows 10 Core dla IoT na Raspberry Pi 2. Jeśli uzyskasz dostęp do swojego urządzenia na http: // devicename / , faktycznie zobaczysz stronę internetową, która jest już zapewniona przez system.

Aby wdrożyć własny serwer sieciowy w systemie Windows IoT, istnieje wiele możliwości. W przypadku Python lub Node.js istnieją już próbki dostępne w oficjalnym projekcie GitHub:
https://github.com/ms-iot/samples

Jak wspomniałeś ASP.NET: nie natknąłem się jeszcze na żadną próbkę, ale powinieneś być w stanie to zrobić, albo za pomocą klasycznej aplikacji ASP.NET 4 z własnym hostowaniem, albo możesz spróbować z ASP.NET 5 (alias „ASP.NET vNext”).

W obu przypadkach należy najpierw utworzyć aplikację uniwersalną systemu Windows, która będzie hostować serwer WWW. Teraz możesz zastosować to samo podejście, które opisano w kilku samouczkach, które pokazują, jak zaimplementować serwer ASP.NET z własnym hostem, np. Za pomocą aplikacji konsoli. Zamiast aplikacji konsoli używasz tutaj uniwersalnej aplikacji Windows, ale to w zasadzie nie ma znaczenia.

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

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

Mam nadzieję, że to pomaga!


Dziękuję za informacje, tak, chcę wspomnieć o aplikacji Windows Universal App z własnym hostem ASP.NET 4 lub 5, jednak nie jestem tego pewien, gdy korzystam z aplikacji Universal zamiast prostej aplikacji konsoli. Korzystanie z serwera internetowego OWIN w .net jest niedozwolone w projektach Windows Universal App lub tylko w przypadku IoT.
— Hrvoje Kusulja

Cześć, szukam tego samego, ale nie przeszkadza mi używanie OWIN. Chciałbym po prostu serwować strony HTML przez mój Raspberry Pi2 z zainstalowanym Windows 10. nie ma domyślnej strony mojego urządzenia?
— Andrew Simpson,

0

Pamiętaj, że przykładowa aplikacja „App2App WebServer” używa gniazd do nasłuchiwania połączenia. Możesz łatwo rozszerzyć kod, aby odczytać zawartość i traktować ją jak JSON, jeśli chcesz zrobić swój własny prosty serwer Restful. Nie będzie miał całego mechanizmu ASP.NET, ale wtedy chcesz mieć prosty.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.