Windows 10 IoT no RPi2 como um pequeno servidor de API Web HTTP / REST

12

Atualmente, o Windows 10 Core para IoT está na Visualização e está disponível para usar o Visual Studio 2015 RC com o novo projeto Windows Universal e desenvolver alguns aplicativos.

No entanto, estou interessado em criar minha própria ASP.NET WebAPI (REST / JSON) no Raspberry Pi 2 como host. É possível ? Também é possível que o RPi2 seja um pequeno servidor web com poucos arquivos .html?

Hrvoje Kusulja
fonte
Você não pode adicionar pacotes OWIN a um aplicativo universal no VS 2015

Respostas:

10

Se você está procurando um serviço REST simples para um aplicativo universal do Windows, dê uma olhada neste projeto do github:

https://github.com/tomkuijsten/restup

Há também um pacote de pepitas para ele:

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

Isenção de responsabilidade: eu sou o proprietário e criador da restauração

Tom Kuijsten
fonte
Este é um ótimo projeto, Tom. Comecei a brincar com uma ideia semelhante, criando classes para lidar com diferentes tipos de solicitações de http, mas você e seus colaboradores realmente criaram algo interessante. Mal posso esperar para experimentar.
Ben Brandt
Esse é o seu projeto? Forneça isenção de responsabilidade em sua resposta sobre isso. PS Você não pode hospedar MVC na Internet das coisas?
Piotr Kula
Na verdade, meu projeto acrescentou isenção de responsabilidade. E não, você não pode hospedar o MVC na IoT.
Tom Kuijsten
De fato. O MVC requer o IIS ou o .NET Core, nenhum dos quais é suportado (ainda) no Win IoT. Eventualmente, o .NET Core será suportado.
21716 Jim Yarbro
@TomKuijsten Obrigado por sua contribuição. Se eu perguntar, você ainda sugere que eu use sua implementação? Está "atualizado", porque vejo que o segmento atual é de 3 anos atrás. Caso contrário, você tem uma alternativa em mente?
Thodoris Koskinopoulos
4

Verifique também o HTTP Embedded e o WebSocket Server para UWP / .NET 4.5 https://www.nuget.org/packages/IotWeb/ (ou no github )

Lee Richardson
fonte
este pacote de nuget tem algum exemplo ou como a documentação associada a ele? Obrigado!
Rob S.
1
@RobS. a documentação é leve, mas eles têm exemplos aqui github.com/sensaura-public/iotweb/blob/… e aqui github.com/sensaura-public/iotweb/blob/… e estou combinando-o com um aplicativo Angular2 para algo que pouco mais mais substancial aqui: github.com/AutomatedArchitecture/sirenofshame-uwp/blob/develop/...
Lee Richardson
3

É possível implementar um servidor Web com o Windows 10 Core for IoT no Raspberry Pi 2. Se você acessar o dispositivo em http: // nome do dispositivo / , verá um site que já é fornecido pelo sistema.

Para implementar seu próprio servidor Web no Windows IoT, existem várias possibilidades. Para Python ou Node.js, já existem exemplos disponíveis no projeto oficial do GitHub:
https://github.com/ms-iot/samples

Como você mencionou o ASP.NET: ainda não encontrei nenhum exemplo, mas você deve conseguir fazer isso com um aplicativo ASP.NET 4 auto-hospedado clássico ou tentar com o ASP.NET 5 (também conhecido como "ASP.NET vNext").

Nos dois casos, você deve criar um Windows Universal App primeiro, que hospedará o servidor web. Agora, você pode seguir a mesma abordagem descrita em vários tutoriais que demonstram como implementar um servidor ASP.NET auto-hospedado, por exemplo, usando um aplicativo de console. Em vez de um aplicativo de console, você está usando o Windows Universal App aqui, mas isso basicamente não faz diferença.

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

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

Espero que ajude!

Daniel Lemke
fonte
Obrigado pelas informações, sim, quero mencionar o Windows Universal App com ASP.NET 4 ou 5 auto-hospedado, mas não tenho certeza sobre isso ao usar o Universal App em vez de um simples aplicativo de console. Uso de servidor web Owin em .net não é permitido para projetos do Windows Universal App, ou apenas para a Internet das coisas ..
Hrvoje Kusulja
Oi, estou atrás da mesma coisa, mas não me incomodo usando OWIN. Gostaria apenas de servidor de páginas html através do meu raspberry pi2 com o Windows 10 instalado. não existe uma página padrão para o meu dispositivo?
Andrew Simpson
0

Observe que o aplicativo de exemplo "App2App WebServer" usa soquetes para escutar uma conexão. É possível estender facilmente o código para ler o conteúdo e tratar o processo como JSON, se você desejar criar seu próprio servidor Restful simples. Ele não terá todo o mecanismo do ASP.NET, mas você deseja que seja simples.

Bob Frankston
fonte