Egy korábbi cikkemben, már volt szó arról, hogy lehet hőmérsékletet mérni Raspberry Pi-vel és DS1820 hőérzékelővel. Most a DS1621 típusú hőérzékelőt és a hozzá írt Node.js modulomat fogom bemutatni.
A lenti képen látható a DS1621 hőérzékelő szenzor bekötése. A modul i2c buszon kommunikál a Raspberry Pi-vel. A DS1621-nek 3,3V tápot adunk, az i2c vonalakat 1-1 4,7kOhm-os ellenállással tápfeszültségre kell húzni. Az A0, A1 és A2 kivezetéseket földre kötjük jelen esetben.
A Node.js modul a Raspberry Pi-re kötött DS1621-el kommunikál. A modul inicializáláskor folyamatos hőmérésre állítja a DS1621-et. Jelenleg a hőmérséklet lekérdezést támogatja a modul. Ehhez két függvény áll rendelkezésre:
- a
getTemp()
függvény fél celsius fok pontossággal adja meg az aktuális hőmérsékletet, - míg a
getHighPrecTemp()
függvény már pontosabb értéket ad, mivel a DS1621 adatlapjában található képlet alapján számolja a hőmérsékletet.
A modulhoz mellékelt example.js a második függvényt használja:
A 2. sorban kell megadni az i2c busz elérési útját, ez Rapsberry Pi rev2 előtti verzió esetén /dev/i2c-0
, különben /dev/i2c-1
.
Fontos, hogy rootként futtassuk a példát, hogy hozzáférjen az i2c buszhoz:
A DS1621 Node.js modul megtalálható:
- GitHubon
- és az NPM repositoryban
A DS1621 Node.js modul tehát telepíthető az npm repositoryból:
$ npm install ds1621
A modul függősége az i2c modul, ez viszont telepítéskor fordul le, ezért fontos, hogy a Raspberry Pi-re telepítsük fel a modult.
Mivel az i2c modul működik BeagleBone-on, ezért valószínűleg a DS1621 modul is, kipróbálni nem tudtam. Csak Raspberry Pi B+-on volt tesztelve.