wiringPi&Node.jsでRaspberryPi3のLチカをしてみる

先日の記事で書きましたwiringPiについて、今度はNode.jsに組み込んでRaspberryPiのLチカを試してみます。
 

スポンサーリンク

ライブラリの使い方

まず、npmコマンドでNode.js用のwiringPiをインストールします。

$ sudo npm install wiring-pi

Node.js内で使用する方法は、次の通りです。

■ライブラリ呼び出し

var wpi = require(‘wiring-pi’);

 
■GPIOを初期化

wiringPiSetupGpio()
setup(gpio)

 
■モードを指定
モードには「INPUT」や「OUTPUT」を指定します。

pinMode(pin番号,モード)

 
■値の読み取り

digitalRead(pin番号)

 
■値の書き込み
状態には「HIGH」、「LOW」を指定します。HIGH=1、LOW=0になります。

digitalWrite(pin番号,状態)

 

Lチカしてみる

続いて、以前コチラの記事で書いたLチカのコードをwiringPi仕様に変えてみます。

var wpi = require(‘wiring-pi’);
var cnt = 0;

//GPIO02を指定して、出力に設定
wpi.wiringPiSetupGpio();
wpi.setup(‘gpio’);
wpi.pinMode(2,wpi.OUTPUT);

function Lchika() {

 cnt ++;

 if(cnt <= 20){

  //cntが偶数だったら消灯、奇数だったら点灯
  if(cnt%2==1) wpi.digitalWrite(2,wpi.HIGH);
  else wpi.digitalWrite(2,wpi.LOW);

 }
 else{

  wpi.digitalWrite(2,wpi.LOW);

  //繰り返し処理をストップ
  clearInterval(intervalId);

 }
}

//Lchikaを1秒おきに繰り返し実行
intervalId = setInterval (Lchika, 1000);

 

ファイル操作がない分、ずいぶんとシンプルになりました。しかし、いざ実行してみると、、、うまく動きません。以下のように怒られました。

Unable to determine hardware version. I see: Hardware : BCM2835 ,
– expecting BCM2708 or BCM2709. Please report this to projects@drogon.net

どうやらハードウェアバージョンが合わないとのこと。
少し調べると、ファームウェアをダウングレードすれば解決するようです。

そこでコチラの通りrpi-updateコマンドでダウングレードしたところ、想定通りにLチカするようになりました。Node.js用のwiringPiが新しいファームウェアに対応していないようですね。

■こちらの記事も併せてお読みください!
RaspberryPi&Node.jsでLチカしてみる
wiringPiの使い方
 

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください