npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rpi-dht-sensor

v0.1.1

Published

Reads data from DHT sensors on Raspberry Pi

Readme

dht-sensor

This node.js module supports querying air temperature and relative humidity from a compatible DHT sensor.

Installation

$ npm install rpi-dht-sensor

Usage

This module uses the BCM2835 library that requires access to /open/mem. Because of this, you will typically run node with admin privileges.

The library works for DHT11, DHT22 and AM2302 sensors. You should create a new class of the sensor type you have specifying the Pin number. After this, you can start reading. On the first read, the sensor will be initialized. If the initialization fails, the read will throw an error.

The module supports only physical PIN numbering, GPIO numbers are not supported yet.

Example

DHT22

This sample queries the AM2302 sensor connected to the PIN 3 every 5 seconds and displays the result on the console.

var rpiDhtSensor = require('rpi-dht-sensor');

var dht = new rpiDhtSensor.DHT22(2);

function read () {
  var readout = dht.read();

    console.log('Temperature: ' + readout.temperature.toFixed(2) + 'C, ' +
        'humidity: ' + readout.humidity.toFixed(2) + '%');
    setTimeout(read, 5000);
}
read();

DHT 11 example

var rpiDhtSensor = require('rpi-dht-sensor');

var dht = new rpiDhtSensor.DHT11(2);

function read () {
  var readout = dht.read();

    console.log('Temperature: ' + readout.temperature.toFixed(2) + 'C, ' +
        'humidity: ' + readout.humidity.toFixed(2) + '%');
    setTimeout(read, 5000);
}
read();

Verbose output

Verbose output from the module can be enabled by defining VERBOSE during the module compilation. For example, this can be enabled via the binging.gyp file:

{
  'targets': [
    {
      ...,
      'defines': [ 'VERBOSE']
    }
  ]
}

Appendix A: Quick Node.js installation guide

There are many ways you can get Node.js installed on your Raspberry Pi but the following method is very convenient for getting started on the latest version, very quickly.

$ wget http://node-arm.herokuapp.com/node_latest_armhf.deb 
$ sudo dpkg -i node_latest_armhf.deb

References

[1]: Node.js latest release - http://nodejs.org/dist/latest/

[2]: BCM2835 - http://www.airspayce.com/mikem/bcm2835/

[3]: Node.js native addon build tool - https://github.com/TooTallNate/node-gyp