文档章节

raspberrypi监控室内温度

linghou
 linghou
发布于 2016/02/03 14:58
字数 563
阅读 116
收藏 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
2018/08/01
0
0
树莓派下DHT11温湿度传感器控制程序(python)

首先简要说明一下树莓派,然后介绍DHT11,最后附上相关代码。 树莓派引脚功能 树莓派引脚分为多种,最常见的有40引脚和26引脚。其引脚号数一致的引脚功能也一致。以40引脚的为例,引脚资源为...

鄙人张钊_有何贵干
01/18
0
0
树莓派摄像头VLC网络监控

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

乐_然
2018/03/11
1K
0
吃『派』那些事儿——阿里云 IoT 树莓派实战集锦

树莓派是什么? 各位物联网的极客们对树莓派(Raspberry Pi)肯定不会陌生,它是一台只有信用卡大小的基于ARM的微型电脑,官方系统基于 Debian 。由于其出色的传感器兼容性以及相对低廉的价格...

cxlwill
02/14
0
0
树莓派 3B + 发布,支持 5GHz Wi-Fi 和蓝牙 4.2

树莓派在两年前发布了 Raspberry Pi 3 Model B,这是树莓派首款 64 位产品,也是首款具备集成无线连接功能的产品。至今,已经售出了超过 900 万个 Raspberry Pi 3 units(共销售了1900万 Ra...

周其
2018/03/15
10K
18

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部