在树莓派上使用单总线(OneWire)总线访问温度计或其他基本设备已经成为前端工程师的主流操作之一。 raspi-onewire 是一个非常便捷的 npm 包,可以帮助我们更好地控制 OneWire 总线。本文将为大家介绍 npm 包 raspi-onewire 的使用方法及示例代码。
什么是 OneWire 总线?
OneWire 总线是一种串行通信协议,用于连接微控制器、传感器和其他类似的设备。它是由迈克尔斯通网络(Maxim Integrated Products)开发的,旨在使单个线路可以传输数据和电源。对于树莓派等单片机设备,OneWire 总线用于与传感器(如:温度传感器 DS18B20)进行通信和数据读写。
安装
在开始使用 raspi-onewire 之前,需要先安装这个 npm 包。
可以使用以下命令来全局安装它:
npm install -g raspi-onewire
基本用法
1. 引入包:
const RaspiSensors = require('raspi-sensors'); const RaspiOnboardSensors = RaspiSensors.Sensors;
2. 初始化连接:
const DS18B20 = require('raspi-onewire').DS18B20; const ds18b20 = new DS18B20('28-000005145f15');
其中,引号中的数字是温度传感器的序列号,可以随时使用以下命令搜索现有的序列号:
sudo modprobe w1-gpio && sudo modprobe w1-therm && cd /sys/bus/w1/devices/ && ls
3. 读取温度:
const temperature = ds18b20.read(); console.log(temperature + '°C');
使用 read()方法读取温度传感器的值,并将其打印到控制台上。
4. 关闭连接:
一旦温度传感器的读值任务完成,就应该调用以下命令关闭连接。
ds18b20.destroy();
示例代码
下面是一个使用 raspi-onewire 包来读取树莓派上的温度传感器 DS18B20 的示例代码。
-- -------------------- ---- ------- ----- ------------ - ------------------------- ----- ------------------- - --------------------- ----- ------- - --------------------------------- ----- ------- - --- --------------------------- ---------------------- ----- ----------- - --------------- ---------------------- - - ----------- - ------ ------------------ --------------------------------
以上就是使用 raspi-onewire 包读取树莓派上的温度传感器的详细指导。可以通过这个 npm 包快速轻松地读取 OneWire 总线上的温度传感器 DS18B20,并控制和监控其他设备的数据。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600560a781e8991b448dee64