2017-01-23 30 views
0

私のアプリケーションでは、PCのC++スクリプトからRaspberry Piにある特定のGPIOピンをオンにしたいと考えています。私のPCは現在、Windows 10とRaspbianのRaspberry Piで動作しています。別のPCからRaspberry PiのGPIOピンを制御する方法

私が持っていた一般的な考えは、Raspberry Pi自体にPythonスクリプトを書いて、必要に応じて何とか自分のPCから実行することでした。しかし、私はこれを行う方法やC++で可能かどうかはわかりません。私は私のラズベリーパイにsshしてスクリプトを手動で実行することができますが、このアプリケーションのアイデアは自動化です。私はイーサネットまたはUSBケーブルのいずれかで私のPCをRaspberry Piに接続することができます。

USBでGPIOモジュールを見たことがありますが、これはおそらくもっとうまくいくはずですが、今は自分のラズベリーパイと付き合っています。

どのようにこれに関する知識やリソースがあれば幸いです。

答えて

0

GPIOピンを制御するためのクライアントとサーバープログラムが必要なのかもしれません。私のクライアントとサーバーのプログラムをチェックして、答えとそのコメントを読んで、プログラムが動作するように変更することを忘れないでください(私のprogams動機はGPIOピンを制御するのと同様にクライアントとサーバープログラムを通してLEDを制御することです)

Program getting stuck at accept statement

PS:私はあなたがスレッドとソケットに関するある程度の知識を持っている願っています。

+0

実際に私がPiにsshできるようにする本当に便利なライブラリが見つかりました。そこで、必要なPythonスクリプトを実行することができました。ここにライブラリへのリンクがあります。 [link](https://www.libssh.org/) – Jcan1995

0

この回答はかなり幅広いので、質問をコメントに残しておきましょう。

最初に必要なことは、私たちが好きなようにGPIOを制御するPi上のPythonスクリプトです。その後、ほとんどのデバイスからssh経由でこれらのコマンドを実行することができます。ただし、このプロセスを自動化したいと考えています。言い換えれば、ユーザはPiにsshするために資格情報を入力する必要はなく、プログラムが自動的にそうするようにします。

幸いにも、このライブラリは私たちにそうすることができます。 - >https://www.libssh.org/

sshセッションを作成し、私たちが望むコマンドを実行する方法についての素晴らしい文書があります。だから私は詳細には行きません。私はドキュメントが推奨する1つの手順についてコメントしますが、私には問題がありました。

パスワードでユーザーを認証するときは、ssh_userauth_password(ssh_sessionセッション、const char * username、const char * password)メソッドを使用します。ドキュメントでは、2番目のパラメータをNULLに設定することを推奨しています。それは私に問題を与えていたものでした。

これは、通常、Raspberry Piにsshを使用するときに使用するログイン名に変更するだけです。ほとんどの場合、デフォルトの名前は「pi」です。

ssh_userauth_password(my_ssh_session, "pi", password); 
関連する問題