ホーム > ブログ > Node-RED で温湿度計測 bcm2835
2016年07月19日(火) [日報]

Node-RED で温湿度計測 bcm2835

  • facebook 0
  • twitter
  • 友だち追加

Node-RED で温湿度センサー(DHT-11) を使って温湿度を取得するスクリプトとして、以下のコードをよく紹介されている。


var sensorLib = context.global.dht;
sensorLib.initialize(11, 4);

var readout = sensorLib.read();
var temperature readout.temperature.toFixed(2);
var humidity = readout.humidity.toFixed(2);
context.global.data.d.humidity = humidity;
context.global.data.d.temperature = temperature ;

でも、連続して使用していると


bcm2835_init: gpio mmap failed: Cannot allocate memory

というようにメモリ確保に失敗するエラーが出力されて、Node-RED を停止させてしまうことがある。
その対策として、以下のようにコードを変更することで、メモリ確保のエラーは改善されます。


var sensorLib = context.global.dht;

var readout = sensorLib.readSpec(11,4);
var temperature readout.temperature.toFixed(2);
var humidity = readout.humidity.toFixed(2);
context.global.data.d.humidity = humidity;
context.global.data.d.temperature = temperature ;


長岡京コワーキングスペース(京阪間)
長岡京市開田4-2-9 ヘルプビル3F
(長岡自動車教習所前)
● 阪急電車長岡天神駅より徒歩2分
● JR長岡京駅より徒歩15分
フロアマップ