問題タブ [wiringpi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
658 参照

linux - wire.requestFrom(...)に相当するwiringPiは何ですか

arduino I2C ライブラリをラズベリー pi で実行するように変換していますwire.requestFrom(address, size);。自分で実装できるかもしれませんが、それが何をするのかを知る必要があります。ラズベリーパイでこれを達成する最も簡単な方法は何ですか?

私が翻訳しているライブラリはここにあります。




ご協力いただきありがとうございます!

0 投票する
0 に答える
766 参照

c++ - Crosstool-ng と動的ライブラリ

crosstool-ng で作成された ARMv6 C++ コンパイラでカスタム ダイナミック ライブラリ (私の場合はwiringPi) を使用するにはどうすればよいですか? 私は、wiringPi をビルドし、リンカー オプションに -lwiringPi を追加しました。これは、g++ を使用すると正常に動作しますが、新しい ARMv6 C++ コンパイラを使用する場合は動作しません。

エラーは次のとおりです。ld: cannot find -lwiringPi

crosstool コンパイラが独自の構造を持っているように見えることを考えると、ARMv6 C++ コンパイラ ファイル内のどこかにライブラリをビルドする必要があるのでしょうか?

0 投票する
2 に答える
1818 参照

raspberry-pi - Arduino UnoとRaspberry PiのwiringPiによるSPI通信

私は、Raspberry Pi 2 B+ (マスター) と Arduino Uno Rev3 (スレーブ) の間の SPI 通信を成功させずに実装しようとしましたが、成功しませんでした。

チュートリアルを使用しました: http://mitchtech.net/raspberry-pi-arduino-spi/

ただし、そこで提供されるコードは正しく機能しません。私はすでに解決策を求めてインターネット全体を検索しましたが、見つけることができませんでした。サイトの arduino には同じコードを使用していますが、raspberry pi には次のコードを使用しています。

このコードはゴミを返すだけです。どうすればいいのかわかりません。

0 投票する
0 に答える
280 参照

java - LCDモジュールを搭載したRaspbian Linux Raspberry Pi 2 model Bでサービスが起動しない

Raspbian Linux がインストールされた Raspberry Pi 2 モデル B があります。LCD モジュール SC1602a にテキストを出力する Linux サービスを作成して開始する必要があります。次のようになります。

[ これ]

Java 言語 1.8_x86 、Apache Commons Daemon、および jsvc を使用してデーモン サービスを作成します。また、pi4j プロジェクト(これは WiringPi のラッパーです) を使用して、Raspberry Pi のピンを管理します。Java クラス:

Maven を使用してアーティファクトをパッケージ化します。WinScp を使用してアーティファクトを Raspberry Pi に移動します。コマンドラインからこのアプリケーションを起動すると、java -jar application.jarうまく動作します。アプリケーションは、LCD モジュールの「hello」文字列に出力します。次に、Linux サービスのようなアプリケーションを起動しようとしました。Raspberry Pi に jsvc をインストールし、スクリプトlcdを作成してフォルダー /etc/init.d/ に移動しました。chmod +x lcdまた、フォルダー /etc/init.d から書き込みました。これは私のスクリプトです:

コマンドを書きservice lcd startます。この方法はうまくいきません。この場合、アプリケーションは LCD モジュールに情報を出力しません。ログファイルを開くと、次の情報が見つかりました。

液晶出力:

2015-08-20 12:59:09.934 [情報] - メソッドの初期化...

液晶エラー:

配線PiSetup: /dev/mem を開けません: 操作は許可されていません 戻り値 1 でサービスを終了します

ご覧のとおり、pi4j ドライバーをロードしようとするとアプリケーションが失敗します。dev/mem ファイルのアクセス ルールを拡張しようとしましたが、それを実行しましたがrwxrwxrwx、サービスはまだ機能していません。

init()また、メソッドからLCDの初期化をオフにしました。サービスはうまく起動するので、サービスはLCDなしでうまく機能します。

誰かが解決策を知っていますか?どうもありがとう

0 投票する
2 に答える
5795 参照

linux - GPIOへのwiringPi非ルートアクセス

このことから、root 以外のユーザーが GPIO にアクセスすることは可能wiringPiSetupSys()だと思いましたが、それを試みることに失敗しました。

実際、実行可能ファイルに setuid を実行すると動作します。それで、wiringPiSetupSys()十分じゃないですか?

0 投票する
1 に答える
61 参照

linux - system() によって呼び出された WiringPi gpio は、別のプロセスを使用する必要がありますか?

thisによると、プログラム内からsystem() ( QProcess ) 関数を使用して gpio プログラムを呼び出しています。

できます。しかし、アプリを 2 回実行する必要があることに気付きました。実際には、2 回目でしか機能しません。ここで指摘されているように、gpio の呼び出しは別のプロセスで行う必要があるようです。

QProcess::setupChildProcess()でこの問題にアプローチする必要がありますか?

setupChildProcess を上書きする QProcess を拡張し、アプリのコンストラクターで SandboxProcess をインスタンス化しました。残念ながら、これはうまくいきませんでした。

0 投票する
1 に答える
949 参照

c++ - ループを一時停止せずに文字入力を使用してループを停止する方法

良い一日、

センサーから方向データを取得し、それを PID 制御アルゴリズムで使用して、対応する PWM 信号を作成するプログラムを作成しようとしています。Enterキーを押してプログラムを停止できるようにしたいと思います。opencv の waitKey(); を使ってみました。ただし、キーボード入力を受け入れません。cin.get(); も試しました。しかし、問題を引き起こすループを一時停止します。クアッドコプターの向きが変わると、pwm が更新されません。他の方法を調べてみましたが、うまくいきませんでした。上記の 2 つの方法を使用したコードのサンプルを次に示します。

cin.get() の使用:

waitKey(); の使用