个人博客

在树莓派上安装Centos7,配置DHT22,通过zabbix监控

04 12月
作者:西洪室|分类:技术

一、下载centos7 arm版

http://mirrors.huaweicloud.com/centos-altarch/7.7.1908/isos/armhfp/


二、用win32diskimager将解压后的raw文件写入TF卡


image.png


三、系统配置

1、执行#/usr/bin/rootfs-expand,使用系统可以使用整个卡的空间。

关闭防火墙和selinux:

[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# vi /etc/selinux/config
SELINUX=disabled


创建eth0网卡的网络配置文件

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="eth0"
UUID="acd1cfec-420e-4891-b48b-8eb234f49feb"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="192.168.0.2"
PREFIX="24"
GATEWAY="192.168.0.1"
DNS1="61.139.2.69"
DNS2="223.5.5.5"

四、硬件连接

接线很简单:
Vcc接树莓派3.3v即1号针脚,Gnd接树莓派gnd,Data随便接一个GPIO脚,我接的是GPIO4。

                                

五、软件安装

(1)输入以下命令,下载安装Adafruit提供的python驱动

我的存放的目录在/opt:

yum update
yum install make gcc python3-devel python3-pip
python3 -m pip install --upgrade pip setuptools wheel
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
python3 setup.py install
如果不出错的话就能安装好了。


image.png

验证一下安装结果:

cd Adafruit_Python_DHT/examples
python3 AdafruitDHT.py 22 4
上面的22是指传感器类型,dht11写11,dht22写22; 至于4 是我所连接的GPIO接口号,大家根据自己的连接填写

image.png

(2)安装zabbix:

下载zabbix源码包 https://www.zabbix.com/download_sources#tab:44

tar xf zabbix-4.4.3.tar.gz && cd zabbix-4.4.3
./configure --prefix=/usr/local/zabbix --sysconfdir=/opt/zabbix --enable-agent
make install

修改zabbix配置

sudo vim /opt/zabbix/zabbix_agentd.conf
主要是下面几项:
  Server=x.x.x.x
  HostnameItem=system.hostname
  Timeout=10 #超时10秒,Adafruit的检测时间有些长,默认3秒会出现超时
  AllowRoot=1 #开启root权限
  Include=/opt/zabbix/zabbix_agentd.conf.d/*.conf
  UnsafeUserParameters=1

创建zabbix脚本配置文件:

vim /opt/zabbix/zabbix_agentd.conf.d/room_status.conf
UserParameter=room.status[*],/opt/zabbix/scripts/room_status.sh $1

创建温度脚本文件:

vim /opt/zabbix/scripts/room_status.sh
#!/bin/bash
dir='/opt/adafruit/Adafruit_Python_DHT/examples'
project=$1
case ${project} in
   wendu)
           wendu=`sudo -u root python3 ${dir}/AdafruitDHT.py 22 4 |awk -F"=" '{print $2}'|awk -F"*" '{print $1}'`
           printf "%2.2f" $wendu
     ;;
   shidu)
           shidu=`sudo -u root python3 ${dir}/AdafruitDHT.py 22 4 |awk -F"=" '{print $3}'|awk -F"%" '{print $1}'`
           printf "%2.2f" $shidu
     ;;
esac

给脚本目录授权:

    chmod 775 -R /opt/zabbix/scripts
    chown zabbix.zabbix -R /opt/zabbix/scripts
最后在zabbix服务器添加温度和湿度的监控项


浏览894 评论0
返回
目录
返回
首页
Openwrt 集成阿里云DDNS的插件(服务-阿里DDNS)x86 牛奶吐司面包

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。