文档章节

raspberrypi监控室内温度

linghou
 linghou
发布于 2016/02/03 14:58
字数 563
阅读 42
收藏 2

测试环境:

1、  Raspberrypi

2、  面包板

3、  DS18B20温度传感器

4、  Zabbix

安装步骤:

1、  在面包板上接好电路。将DS18B20接到raspberrypi

2、  连接rasbian修改内核参数启动单总线功能。

修改/boot/config.txt,在文档最后一行添加dtover1ay=w1-gpio参数后reboot

正常识别DS18B20后会生成/sys/bus/w1/目录

pi@raspberrypi :/sys/bus/w1/devices$ ls

28-00000494cb79 w1_bus_master1

这里的28-00000494cb79就是外接的温度传感器设备,参数表示传感器的序列号。

进行28-00000494cb79cat w1_slave即显示最新温度

70 01 4b 46 7f ff 10 10 e1 : crc=e1 YES

70 01 4b 46 7f ff 10 10 e1 t=23000

第二行的t=23000就是当前的温度值,要换算成摄氏度,除以1000,即当前温度为23000/1000=23摄氏度。

 

3、  使用Python脚本读取温度

脚本存放在/script/read.py

# These constants used by the 1-wire device

base_dir = '/sys/bus/w1/devices/'

device_folder = glob.glob(base_dir + '28*')[0]

device_file = device_folder + '/w1_slave'

 

# Read the temperature message from the device file

def read_temp_raw():

    f = open(device_file, 'r')

    lines = f.readlines()

    f.close()

    return lines

 

# Split the actual temperature out of the message

def read_temp():

    lines = read_temp_raw()

    while lines[0].strip()[-3:] != 'YES':

        time.sleep(0.2)

        lines = read_temp_raw()

    equals_pos = lines[1].find('t=')

    if equals_pos != -1:

        temp_string = lines[1][equals_pos+2:]

        temp_c = float(temp_string) / 1000.0

        return temp_c

 

print(read_temp())


4、  安装ZabbixServerZabbixAgent

执行apt-cache search zabbix查询deb软件包,使用apt-get install zabbix*

安装ZabbixServerZabbixWebZabbixAgent。这个需要花很多时间。

5、向Zabbix添加监控项

进入/etc/zabbix/zabbix_agentd.conf.d目录。新建senser.conf插入用户自定义监控项。

UserParameter=senser.read,python /script/read.py

重启ZabbixAgent

/etc/init.d/zabbix-agent restart

在浏览器登录zabbix web管理界面,在Configuration->Hosts主机清单里找到对应服务器打开Application新建Senser应用。

打开Item监控项“CONFIGURATION OF ITEMS”管理菜单,点击右上角的“Create Item”创建新监控项。填写名称“Tempreture”,类型“Zabbix agent”,查询项为“senser.read”最后是将数据类型设置为float类型。

这个“Key”和UserParameter=senser.read,python /script/read.py用户参数里的自定义监控项名称一致。

5、  检查结果。

Web管理界面“Monitoring->Latest data”找到Sensor应用后打开,会有温度数据正常读出。

打开Graph可以查看到对应的温度变化图表。

 

附上测试2张测试照片:


© 著作权归作者所有

共有 人打赏支持
linghou
粉丝 2
博文 1
码字总数 563
作品 0
浦东
用树莓派和DS18B20做个汽车温度记录仪[原创]

用树莓派和DS18B20做个汽车温度记录仪[原创] 很想知道夏日阳光暴晒下,汽车内的最高温度以及温度的变化情况。觉得用树莓派和DS18B20来实现应该很简单,于是就尝试捣鼓了一下,半天时间就搞定...

helesheng
08/01
0
0
树莓派摄像头VLC网络监控

备忘 树莓派有网口,又有摄像头可以用,当然不能浪费资源,下面我就用红外摄像头来做个昼夜均可使用的摄像头监控~ 连接好树莓派的CSI摄像头,我用的是带有红外灯的,并且有光感控制的,只有在...

乐_然
03/11
0
0
树莓派笔记02—树莓派硬件环境准备

在开始玩转树莓派之前,我们需要了解下树莓派的硬件配置以及所需要的配件。跟电脑PC机类似,树莓派也需要必要的输入输出设备才能工作。 1. 树莓派3B+ 2018年3月14日,树莓派基金会正式发布新...

TonyCode
08/03
0
0
云上树莓派(2):将传感器数据上传到 AWS IoT 并利用Kibana进行展示

云上树莓派(1):环境准备 云上树莓派(2):将传感器数据上传到AWS IoT 并利用Kibana进行展示 1. 传感器安装及配置 1.1 DHT22 安装 DHT22 是一款温度与湿度传感器,它有3个针脚,左边的第一...

SammyLiu
08/09
0
0
用树莓派构建你自己的微型服务器,可以外网访

第一,你得有一个路由器,否则下面的内容都无法实现了。 第二,你得申请一个免费的动态域名解析,由于我用的是TP-LINK的路由器,只支持花生壳,所以我申请了花生壳的动态域名解析。 申请花生...

maweitao
2014/07/25
0
4

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
5
0
现场看路演了!

HiBlock
昨天
16
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
9
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
19
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部