@jahartley/ds2482-temperature

0.1.0 • Public • Published

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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.0
    0
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.1.0
    0

Package Sidebar

Install

npm i @jahartley/ds2482-temperature

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

16.6 kB

Total Files

11

Last publish

Collaborators

  • jahartley