Skip to content

Provides an interface for Dallas DS18B20 temperature sensors over the DS2482 onewire bridge

License

Notifications You must be signed in to change notification settings

jahartley/node-ds2482-temperature

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DS18B20 Onewire Temperature Sensor

![Gitter](https://badges.gitter.im/Join Chat.svg)

Provides an interface for Dallas DS18B20 temperature sensors over the DS2482 onewire bridge

Install

$ npm install @jahartley/ds2482-temperature

Usage

const DS18B20 = require('@jahartley/ds2482-temperature');

const sense = new DS18B20();

sense.init()
.then(() => sense.search())
.then(() => sense.readTemperatures())

.then(temps => {
  console.log(temps); // Returns a list of temperature reading from all found sensors
})

.catch(err => {
  console.error(err);
});

Streaming

const DS18B20 = require('@jahartley/ds2482-temperature');

const sense = new DS18B20();

sense.init()

.then(() => {
  sense.on('data', val => {
    console.log(val);
  });

  sense.on('error', err => {
    console.error(err);
  });
});

API

new DS18B20([options])

Creates an interface for Dallas DS18B20 temperature sensors. The instance inherites from readable stream and will search and emit measurements for all found sensors when a data listener is added.

Options:

  • wire an instance of wire
  • i2c an instance of i2c
  • address the i2c address of the bridge chip, default: 0x18
  • device the location of the i2c interface, default: /dev/i2c-1
  • units the temperature units, default: C
  • pollRate the rate to poll the sensors when streaming, default: 30 secs

sense.init()

Resets the bridge chip and any onewire devices connected to it

Returns: Promise <Uint8> resolves with DS2482 status register


sense.search()

Searches the bus and returns a list of found temperature sensors

Returns: Promise <Array <Sensor>> resolves with list of sensors

[
  <Sensor "2826274402000012">,
  <Sensor "28493331020000bf">,
  <Sensor "280b135f020000d9">
]

sense.readTemperatures()

Initiates a measurement and returns the temperature readings from all known sensors

Returns: Promise <Array {rom:String, value:Number, units:Sting}> resolves with list of temperatures

[
  {rom: "2826274402000012", value: 22.9375, units: "C"},
  {rom: "28493331020000bf", value: 22.875, units: "C"},
  {rom: "280b135f020000d9", value: 21.9375, units: "C"},
]

sense.destroy()

Destroys the streaming interface


new DS18B20.Sensor(rom [, options])

Creates a temperature sensor instance. The instance inherites from readable stream and will emit measurements from the sensor when a data listener is added.

Arguments:

  • rom the ROM address of the sensor as a 16 character hex encoded string

Options:

  • wire an instance of wire
  • i2c an instance of i2c
  • address the i2c address of the bridge chip, default: 0x18
  • device the location of the i2c interface, default: /dev/i2c-1
  • units the temperature units, default: C
  • pollRate the rate to poll the sensor when streaming, default: 30 secs

sensor.readTemperature()

Initiates a measurement and returns the temperature reading from a particular sensor

Returns: Promise <Number> resolves with temperature

22.9375

sensor.destroy()

Destroys the streaming interface

About

Provides an interface for Dallas DS18B20 temperature sensors over the DS2482 onewire bridge

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%