2017-01-23 3 views
0

В моем приложении я хочу включить определенные контакты GPIO, которые находятся на малине Pi из сценария на C++ на моем ПК. Мой компьютер в настоящее время работает в Windows 10 и моей малиновой Pi на Raspbian.Как управлять контактами GPIO Raspberry Pi с отдельного ПК

Общая идея, которую я имел, заключалась в том, чтобы писать скрипты python на самой малине Pi и запускать их как-то с моего ПК, когда это необходимо. Хотя, я не уверен, как это сделать или если это возможно на C++. Я знаю, что могу сделать ssh в своем малине Pi и запускать скрипты вручную, но идея этого приложения - автоматизация. Я могу подключить свой ПК к Raspberry Pi через Ethernet или USB-кабели.

Я видел модули USB для GPIO, которые, вероятно, будут работать лучше, хотя на данный момент я застрял с малиной Pi.

Любые знания или ресурсы о том, как это сделать, очень признательны.

ответ

0

Возможно, вам нужна клиентская и серверная программа для управления вашими контактами GPIO. Ознакомьтесь с моими клиентскими и серверными программами и не забудьте прочитать ответ и его комментарии и внести соответствующие изменения для работы программы. (Мои мотивы прогаммы - контролировать светодиод через клиентские и серверные программы, аналогичные управлению контактами GPIO)

Program getting stuck at accept statement

PS: Я надеюсь, что у вас есть некоторые знания о многопоточности и розетками.

+0

Я действительно нашел очень полезную библиотеку, которая позволяет мне ssh в Pi, и оттуда я могу запустить скрипты python, необходимые! Вот ссылка на библиотеку. [Ссылка] (https://www.libssh.org/) – Jcan1995

0

Этот ответ будет довольно обширным, поэтому вы можете оставить комментарий с вопросами.

Первыми вещами, которые необходимы, являются скрипты python на Pi, которые управляют GPIO, но, как нам нравится. С этого момента мы можем выполнять эти команды через ssh практически с любого устройства. Хотя мы хотим, чтобы этот процесс был автоматизирован. Другими словами, пользователю не нужно вводить учетные данные в ssh в Pi, а скорее автоматически выполнять эту программу.

К счастью, эта библиотека позволяет нам это сделать. ->https://www.libssh.org/

Есть хорошая документация о том, как создавать сеансы ssh и выполнять команды, которые мы хотим. Поэтому я не буду вдаваться в подробности. Хотя я буду комментировать одну процедуру, рекомендованную документацией, но дал мне проблему.

При аутентификации пользователя с помощью пароля мы используем метод ssh_userauth_password (ssh_session session, const char * username, const char * password). В документации предлагается установить второй параметр в NULL. Это и было проблемой.

Просто измените это на имя входа, которое вы используете, когда обычно используете ssh в малиновый пи. Для большинства значений по умолчанию используется «pi».

ssh_userauth_password(my_ssh_session, "pi", password); 
Смежные вопросы