Raspi/如何在Web界面上切换GPIO引脚Win 10 IOT C#

Raspi/如何在Web界面上切换GPIO引脚Win 10 IOT C#,c#,raspberry-pi,windows-10-iot-core,C#,Raspberry Pi,Windows 10 Iot Core,我想通过web界面控制raspberry pi的GPIO引脚。通常的解决方案是使用apache运行Linux,并通过web界面启动一些python脚本 但我想用一个运行Windows10IoT的c#书面解决方案来实现这一点。 我找到了一个小webserver(),但我不知道如何用GPIO引脚的当前状态填充网站,也不知道如何处理按钮单击以切换GPIO引脚 有人知道它是什么样的解吗 PS:我想在中继板上控制一些led条和其他灯New Project=>Web创建一个简单的ASP.NET MVC应用程

我想通过web界面控制raspberry pi的GPIO引脚。通常的解决方案是使用apache运行Linux,并通过web界面启动一些python脚本

但我想用一个运行Windows10IoT的c#书面解决方案来实现这一点。 我找到了一个小webserver(),但我不知道如何用GPIO引脚的当前状态填充网站,也不知道如何处理按钮单击以切换GPIO引脚

有人知道它是什么样的解吗


PS:我想在中继板上控制一些led条和其他灯 在Azure中,您有一个名为“存储队列”的服务,它本质上是一个FIFO(先进先出)。因此,您在连接到Azure的网站的队列中放置了一些内容,然后您的Raspberry Pi从队列中读取内容。如果队列中有什么东西;覆盆子Pi可以做一些事情(比如通过设置电压使LED通过GPIO端口闪烁)。这基本上可以触发任何通电的东西,而不仅仅是LED

简单网页 从Visual Studio通过文件=>New Project=>Web创建一个简单的ASP.NET MVC应用程序开始

然后进入主文件夹中的index.cshtml(启动网页时,它是前端和主登录页)

使用按钮制作一个简单表单:

<form method="POST" action="/Home/ToggleLight">
    <button>Toggle</button>
</form>
另外,不要忘记在HomeController.cs文件中添加以下using语句

using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Queue;
在HomeController.cs文件中创建如下所示的ToggleLight方法:

[HttpPost]
public ActionResult ToggleLight()
{
    var queue = InitializeQueue();
    var message = new CloudQueueMessage("On,1000");
    queue.AddMessage(message);

    return RedirectToAction("Index");
}
您的网站现在已完成,单击按钮即可在Azure上的队列中添加消息

为Raspberry创建UWP应用程序 您现在需要做的是为Raspberry Pi 2物联网核心设备创建UWP应用程序。“QueueReader_RPI2”文件夹包含一个功能齐全的UWP应用程序,其中包含有关如何通过读取刚刚创建的Azure中的队列来触发GPIO端口的代码

这就是你创建一个连接到Azure的网站的方式,它会触发覆盆子Pi使LED亮起

编辑:您也可以看一下GitHub repo的视频(挪威语,但如果您遇到困难,您会抓住要点,只需按照代码走一遍): 如果您想了解树莓Pi 2是如何连接的,您可以观看另一个视频,其中介绍了您需要的部件以及它是如何连接的(同样是挪威语):

请记住通过将有用的帖子标记为答案来结束你的帖子,如果你有新问题,请开始一个新的帖子。请不要在同一条线上问几个问题

[HttpPost]
public ActionResult ToggleLight()
{
    var queue = InitializeQueue();
    var message = new CloudQueueMessage("On,1000");
    queue.AddMessage(message);

    return RedirectToAction("Index");
}