Windows 10 IoT pada RPi2 sebagai Server API Web HTTP / REST kecil

12

Saat ini Windows 10 Core untuk IoT sedang dalam Pratinjau, dan ada tersedia untuk menggunakan Visual Studio 2015 RC dengan proyek Windows Universal baru dan mengembangkan beberapa aplikasi.

Namun, saya tertarik untuk membuat ASP.NET WebAPI (REST / JSON) saya sendiri di Raspberry Pi 2 sebagai tuan rumah. Apa itu mungkin ? Juga mungkinkah RPi2 menjadi server web kecil dengan sedikit file .html?

Hrvoje Kusulja
sumber
Anda tidak dapat menambahkan paket OWIN ke aplikasi universal di VS 2015

Jawaban:

10

Jika Anda mencari layanan REST sederhana untuk aplikasi universal windows, lihat proyek github ini:

https://github.com/tomkuijsten/restup

Ada juga paket nuget untuk itu:

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

Penafian: Saya pemilik dan pencipta restup

Tom Kuijsten
sumber
Ini adalah proyek yang tampak hebat Tom. Saya mulai bermain dengan ide yang sama, membuat kelas untuk menangani berbagai jenis permintaan http, tetapi Anda dan kontributor Anda benar-benar membuat sesuatu yang keren. Tidak sabar untuk mencobanya.
Ben Brandt
Apakah ini proyek Anda? Harap berikan penafian atas jawaban Anda tentang hal itu. PS Tidak bisakah Anda meng-host MVC di IoT?
Piotr Kula
Memang proyek saya, disclaimer ditambahkan. Dan tidak, Anda tidak dapat meng-host MVC di IoT.
Tom Kuijsten
Memang. MVC membutuhkan IIS atau .NET Core, yang belum didukung (belum) di Win IoT. Akhirnya .NET Core akan didukung.
Jim Yarbro
@TomKuijsten Terima kasih atas kontribusi Anda. Jika saya dapat bertanya, apakah Anda masih menyarankan saya menggunakan implementasi Anda? Is it "up to date", karena saya melihat utas saat ini adalah dari 3 tahun yang lalu. Jika tidak, apakah Anda memiliki alternatif dalam pikiran?
Thodoris Koskinopoulos
4

Lihat juga HTTP Embedded dan WebSocket Server untuk UWP / .NET 4.5 https://www.nuget.org/packages/IotWeb/ (atau di github )

Lee Richardson
sumber
apakah paket nuget ini memiliki contoh atau cara dokumentasi yang terkait dengannya? Terima kasih!
Rob S.
1
@RobS. dokumentasi ringan, tetapi mereka memiliki contoh di sini github.com/sensaura-public/iotweb/blob/… dan di sini github.com/sensaura-public/iotweb/blob/… dan saya menggabungkannya dengan aplikasi Angular2 untuk sesuatu yang sedikit lebih substansial di sini: github.com/AutomatedArchitecture/sirenofshame-uwp/blob/develop/…
Lee Richardson
3

Dimungkinkan untuk mengimplementasikan server web dengan Windows 10 Core untuk IoT pada Raspberry Pi 2. Jika Anda mengakses perangkat Anda di http: // devicename / , Anda akan benar-benar melihat situs web yang sudah disediakan oleh sistem.

Untuk mengimplementasikan server web Anda sendiri pada Windows IoT, ada banyak kemungkinan. Untuk Python atau Node.js, sudah ada sampel yang tersedia di proyek GitHub resmi:
https://github.com/ms-iot/samples

Seperti yang Anda sebutkan ASP.NET: Saya belum menemukan sampel apa pun, tetapi Anda harus dapat melakukan itu, baik dengan aplikasi ASP.NET 4 klasik yang di-host sendiri atau Anda dapat mencobanya dengan ASP.NET 5 (alias "ASP.NET vNext").

Dalam kedua kasus, Anda harus membuat Aplikasi Universal Windows terlebih dahulu, yang akan menjadi tuan rumah server web. Sekarang, Anda dapat mengikuti pendekatan yang sama seperti yang dijelaskan dalam beberapa tutorial di luar sana yang menunjukkan cara menerapkan server ASP.NET yang di-host sendiri, misalnya menggunakan aplikasi konsol. Alih-alih aplikasi konsol Anda menggunakan Windows Universal App di sini, tetapi itu pada dasarnya tidak membuat perbedaan.

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

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

Semoga itu bisa membantu!

Daniel Lemke
sumber
Terima kasih atas informasinya, ya, saya ingin menyebutkan Windows Universal App dengan ASP.NET 4 atau 5 yang di-host-sendiri, namun tidak yakin tentang hal ini ketika menggunakan Aplikasi Universal dan bukan aplikasi konsol sederhana. Penggunaan server web OWIN di .net tidak diperbolehkan untuk proyek-proyek Windows Universal App, atau hanya untuk IoT ..
Hrvoje Kusulja
Hai, saya mengejar hal yang sama tetapi saya tidak terganggu dengan menggunakan OWIN. Saya hanya ingin server halaman html melalui raspberry pi2 saya dengan windows 10 diinstal. tidak ada halaman default ke perangkat saya?
Andrew Simpson
0

Perhatikan bahwa aplikasi sampel "App2App WebServer" menggunakan soket untuk mendengarkan koneksi. Anda dapat dengan mudah memperluas kode untuk membaca konten dan memperlakukan proses konten sebagai JSON jika Anda ingin melakukan server Restful sederhana Anda sendiri. Itu tidak akan memiliki semua mekanisme ASP.NET tetapi Anda ingin sederhana.

Bob Frankston
sumber