Windows 10 IoT en RPi2 como un pequeño servidor de API web HTTP / REST

12

Actualmente, Windows 10 Core para IoT está en Vista previa, y está disponible para usar Visual Studio 2015 RC con el nuevo proyecto de Windows Universal y desarrollar algunas aplicaciones.

Sin embargo, estoy interesado en hacer mi propio ASP.NET WebAPI (REST / JSON) en Raspberry Pi 2 como host. Es posible ? ¿También es posible que RPi2 sea un pequeño servidor web con pocos archivos .html?

Hrvoje Kusulja
fuente
No puede agregar paquetes OWIN a una aplicación universal en VS 2015

Respuestas:

10

Si está buscando un servicio REST simple para una aplicación universal de Windows, eche un vistazo a este proyecto github:

https://github.com/tomkuijsten/restup

También hay un paquete nuget para ello:

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

Descargo de responsabilidad: soy el propietario y creador de restup

Tom Kuijsten
fuente
Este es un gran proyecto, Tom. Empecé a jugar con una idea similar, creando clases para manejar diferentes tipos de solicitudes http, pero usted y sus colaboradores realmente han construido algo genial. No puedo esperar para probarlo.
Ben Brandt
¿Es este tu proyecto? Proporcione un descargo de responsabilidad sobre su respuesta al respecto. PD: ¿No puedes alojar MVC en IoT?
Piotr Kula
De hecho mi proyecto, agregó el descargo de responsabilidad. Y no, no puedes alojar MVC en IoT.
Tom Kuijsten
En efecto. MVC requiere IIS o .NET Core, ninguno de los cuales es compatible (todavía) en Win IoT. Sin embargo, eventualmente .NET Core será compatible.
Jim Yarbro
@TomKuijsten Gracias por tu contribución. Si puedo preguntar, ¿aún sugeriría que use su implementación? ¿Está "actualizado", porque veo que el hilo actual es de hace 3 años. Si no, ¿tienes una alternativa en mente?
Thodoris Koskinopoulos
4

También consulte HTTP Embedded y WebSocket Server para UWP / .NET 4.5 https://www.nuget.org/packages/IotWeb/ (o en github )

Lee Richardson
fuente
¿Este paquete Nuget tiene algún ejemplo o cómo documentación asociada con él? ¡Gracias!
Rob S.
1
@RobS. la documentación es ligera, pero tienen ejemplos aquí github.com/sensaura-public/iotweb/blob/… y aquí github.com/sensaura-public/iotweb/blob/… y lo estoy combinando con una aplicación Angular2 para algo poco más sustancial aquí: github.com/AutomatedArchitecture/sirenofshame-uwp/blob/develop/…
Lee Richardson
3

Es posible implementar un servidor web con Windows 10 Core para IoT en Raspberry Pi 2. Si accede a su dispositivo en http: // devicename / , en realidad verá un sitio web que ya ha sido proporcionado por el sistema.

Para implementar su propio servidor web en Windows IoT, hay muchas posibilidades. Para Python o Node.js, ya hay muestras disponibles en el proyecto oficial de GitHub:
https://github.com/ms-iot/samples

Como mencionó ASP.NET: Todavía no me topé con ninguna muestra, pero debería ser capaz de hacerlo, ya sea con una aplicación ASP.NET 4 autohospedada clásica o podría intentarlo con ASP.NET 5 (también conocido como "ASP.NET vNext").

En ambos casos, primero debe crear una aplicación universal de Windows, que alojará el servidor web. Ahora, puede seguir el mismo enfoque que se describe en varios tutoriales que muestran cómo implementar un servidor ASP.NET autohospedado, por ejemplo, utilizando una aplicación de consola. En lugar de una aplicación de consola, está utilizando la aplicación universal de Windows aquí, pero eso básicamente no hace la diferencia.

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

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

¡Espero que ayude!

Daniel Lemke
fuente
Gracias por la información, sí, quiero mencionar la aplicación universal de Windows con ASP.NET 4 o 5 autohospedada, sin embargo, no estoy seguro de esto cuando uso la aplicación universal en lugar de la aplicación de consola simple. El uso del servidor web OWIN en .net no está permitido para proyectos de aplicaciones universales de Windows, o solo para IoT ..
Hrvoje Kusulja
Hola, busco lo mismo pero no me molesta usar OWIN. Solo me gustaría servir páginas html a través de mi raspberry pi2 con Windows 10 instalado. ¿No hay una página predeterminada para mi dispositivo?
Andrew Simpson
0

Tenga en cuenta que la aplicación de ejemplo "App2App WebServer" utiliza sockets para escuchar una conexión. Puede ampliar fácilmente el código para leer el contenido y tratar procesar el contenido como JSON si desea hacer su propio servidor Restful simple. No tendrá todo el mecanismo ASP.NET, pero entonces quieres simple.

Bob Frankston
fuente