如何从单独的PC控制Raspberry Pi的GPIO引脚

问题描述:

在我的应用程序中,我想从我的PC的C++脚本打开Raspberry Pi上的某些GPIO引脚。我的电脑目前运行在Windows 10和Raspbian上的Raspberry Pi上。如何从单独的PC控制Raspberry Pi的GPIO引脚

总的想法我是写在树莓派本身Python脚本并在需要时以某种方式从我的电脑运行它们。虽然,我不知道如何做到这一点,或者如果可能在C++中。我知道我可以进入我的Raspberry Pi并手动运行脚本,但这个应用程序的想法是自动化。我可以通过以太网或USB电缆将我的PC连接到Raspberry Pi。

我看到USB至GPIO模块可能会更好地工作,但现在我坚持我的树莓派。

任何有关如何做到这一点的知识或资源是非常感谢。

也许你需要的是一个客户端和服务器程序来控制你的GPIO引脚。查看我的客户端和服务器程序,不要忘记阅读答案及其评论,并相应地改变程序的工作方式(我的程序动机是通过客户端和服务器程序控制LED,类似于控制GPIO引脚)

Program getting stuck at accept statement

PS:我希望您有关于线程和插座的一些知识。

+0

我实际上找到了一个非常有用的库,它使我能够进入Pi并从那里运行所需的Python脚本!这里是图书馆的链接。 [链接](https://www.libssh.org/) – Jcan1995

这个答案相当宽泛,所以请随时留下评论问题。

需要的第一件事情,是在郫县的Python脚本,其控制的GPIO然而,在我们喜欢的方式。从此,我们可以通过几乎任何设备的ssh执行这些命令。虽然,我们希望这个过程是自动化的。换句话说,用户不必输入凭证即可进入Pi,而是让程序自动执行此操作。

幸运的是,这个库允许我们这样做。 - >https://www.libssh.org/

关于如何创建SSH会话和执行我们想要的命令有很好的文档。所以我不会详细讨论。虽然我会评论文档建议的一个过程,但给了我一个问题。

当认证通过密码的用户,我们使用的方法ssh_userauth_password(ssh_session会议,为const char *的用户名,为const char *密码)。该文档建议将第二个参数设置为NULL。这是什么给了我这个问题。

您正常使用SSH连接树莓派只需将此更改为您使用的登录名。对于大多数默认名称是“pi”。

ssh_userauth_password(my_ssh_session, "pi", password);