我正在为家庭自动化制作一个通用 Windows 应用程序,应用程序 UI 和硬件接口已准备好并正在工作我正在使用树莓派 2 作为 gpio,我计划在我的 Windows 手机上使用相同的应用程序来触发开/关通过同一本地网络请求
GPIO 硬件接口已完成并且正在工作
我被困在一个点“我如何在我的手机应用程序和树莓派之间进行通信?” 它们连接到同一个 wifi 网络我是 C#/.Net 人,互联网上可用的任何解决方案都适用于 Python/Java。
我正在为家庭自动化制作一个通用 Windows 应用程序,应用程序 UI 和硬件接口已准备好并正在工作我正在使用树莓派 2 作为 gpio,我计划在我的 Windows 手机上使用相同的应用程序来触发开/关通过同一本地网络请求
GPIO 硬件接口已完成并且正在工作
我被困在一个点“我如何在我的手机应用程序和树莓派之间进行通信?” 它们连接到同一个 wifi 网络我是 C#/.Net 人,互联网上可用的任何解决方案都适用于 Python/Java。
您的问题有几种解决方案,但没有一个只涉及覆盆子方面的 C#。我所做的(是可用的解决方案之一,但您可以选择使用 pyton,例如)是使用 Node.JS 并在树莓派上运行服务器并连接到该服务器(它可以是任何类型的服务器 TCP 服务器、telnet、web 等)并从 C# 连接到该服务器,然后与您的 GPIO 正常交互。Node.JS ( https://www.npmjs.com/package/pi-gpio )中有一些库来控制 GPIO,因此您可以编写代码来处理来自 C# 应用程序的连接,并在连接时打开/关闭某个 GPIO .
类似下面的内容将在树莓派上创建一个 TCP 服务器,您需要从您的 C# 程序连接到该 IP(树莓派 IP)和端口(1337)并执行您想做的任何事情。
花时间学习 Node.JS 是值得的(如果您已经了解 C#,这不会很复杂,但是需要时间来适应语法,但是在您知道它是如何工作的之后您可以做很多事情)。
var net = require('net');
var server = net.createServer(function(socket) {
socket.write('Echo server\r\n');
socket.pipe(socket);
});
server.listen(1337, '127.0.0.1');
NodeJs 可能是一个不错的便携选择。但是,如果您想在 C#、ASP.NET 中从 Windows 执行此操作,请查看 Nusbio 设备。您可以从网站控制 gpios。请参阅使用 Nancy Web 服务器的控制台演示。