Windows 10 IoT sur RPi2 en tant que petit serveur API Web HTTP / REST

12

Actuellement, Windows 10 Core pour IoT est en aperçu, et il est possible d'utiliser Visual Studio 2015 RC avec le nouveau projet Windows Universal et de développer certaines applications.

Cependant, je suis intéressé à créer mon propre ASP.NET WebAPI (REST / JSON) sur Raspberry Pi 2 en tant qu'hôte. C'est possible ? Est-il également possible que RPi2 soit un petit serveur Web avec peu de fichiers .html?

Hrvoje Kusulja
la source
Vous ne pouvez pas ajouter de packages OWIN à une application universelle dans VS 2015

Réponses:

10

Si vous cherchez un service REST simple pour une application universelle Windows, jetez un œil à ce projet github:

https://github.com/tomkuijsten/restup

Il y a aussi un paquet nuget pour cela:

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

Avertissement: je suis le propriétaire et le créateur de restup

Tom Kuijsten
la source
C'est un super projet Tom. J'avais commencé à jouer avec une idée similaire, en créant des classes pour gérer différents types de requêtes http, mais vous et vos contributeurs avez vraiment construit quelque chose de cool. Hâte de pouvoir essayer.
Ben Brandt
Est-ce votre projet? Veuillez fournir un avertissement sur votre réponse à ce sujet. PS Vous ne pouvez pas héberger MVC sur IoT?
Piotr Kula
En effet mon projet, avertissement ajouté. Et non, vous ne pouvez pas héberger MVC sur IoT.
Tom Kuijsten
En effet. MVC nécessite IIS ou .NET Core, qui ne sont pas (encore) pris en charge sur Win IoT. Finalement, .NET Core sera cependant pris en charge.
Jim Yarbro
@TomKuijsten Merci pour votre contribution. Si vous me le permettez, suggéreriez-vous toujours d'utiliser votre implémentation? Est-ce "à jour", car je vois que le fil actuel date d'il y a 3 ans. Sinon, avez-vous une alternative en tête?
Thodoris Koskinopoulos
4

Consultez également Embedded HTTP et WebSocket Server pour UWP / .NET 4.5 https://www.nuget.org/packages/IotWeb/ (ou sur github )

Lee Richardson
la source
ce paquet nuget a-t-il un exemple ou comment la documentation qui lui est associée? Merci!
Rob S.
1
@RobS. la documentation est légère, mais ils ont des exemples ici github.com/sensaura-public/iotweb/blob/… et ici github.com/sensaura-public/iotweb/blob/… et je le combine avec une application Angular2 pour quelque chose un peu plus substantiel ici: github.com/AutomatedArchitecture/sirenofshame-uwp/blob/develop/…
Lee Richardson
3

Il est possible d'implémenter un serveur Web avec Windows 10 Core pour IoT sur le Raspberry Pi 2. Si vous accédez à votre appareil sur http: // devicename / , vous verrez en fait un site Web déjà fourni par le système.

Pour implémenter votre propre serveur Web sur Windows IoT, il existe de nombreuses possibilités. Pour Python ou Node.js, des exemples sont déjà disponibles sur le projet officiel GitHub:
https://github.com/ms-iot/samples

Comme vous l'avez mentionné ASP.NET: je n'ai pas encore rencontré d'exemple, mais vous devriez pouvoir le faire, soit avec une application ASP.NET 4 auto-hébergée classique, soit vous pouvez l'essayer avec ASP.NET 5 (alias "ASP.NET vNext").

Dans les deux cas, vous devez d'abord créer une application universelle Windows, qui hébergera le serveur Web. Maintenant, vous pouvez suivre la même approche que celle décrite dans plusieurs didacticiels qui montrent comment implémenter un serveur ASP.NET auto-hébergé, par exemple en utilisant une application console. Au lieu d'une application console, vous utilisez ici l'application universelle de Windows, mais cela ne fait fondamentalement aucune différence.

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

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

J'espère que cela pourra aider!

Daniel Lemke
la source
Merci pour les informations, oui, je veux mentionner l'application universelle Windows avec ASP.NET 4 ou 5 auto-hébergé, mais je ne suis pas sûr de cela lorsque vous utilisez l'application universelle au lieu d'une application console simple. L'utilisation du serveur Web OWIN dans .net n'est pas autorisée pour les projets Windows Universal App, ou uniquement pour l'IoT ..
Hrvoje Kusulja
Salut, je suis après la même chose mais je ne suis pas gêné par utiliser OWIN. Je voudrais juste serveur de pages html via mon framboise pi2 avec Windows 10 installé. il n'y a pas de page par défaut sur mon appareil?
Andrew Simpson,
0

Notez que l'exemple d'application "App2App WebServer" utilise des sockets pour écouter une connexion. Vous pouvez facilement étendre le code pour lire le contenu et traiter le contenu comme JSON si vous voulez créer votre propre serveur Restful simple. Il n'aura pas tout le mécanisme ASP.NET mais alors vous voulez simple.

Bob Frankston
la source