辰匠科技IOT物联网方案:基于树莓派GPIO的温度数据采集

温度(temperature)是表示物体冷热程度的物理量,微观上来讲是物体分子热运动的剧烈程度。

温度传感器(temperature transducer)是指能感受温度并转换成可用输出信号的传感器。温度传感器是温度测量仪表的核心部分,品种繁多。按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性分为热电阻和热电偶两类。

这里先介绍可直接利用树莓派GPIO端口的温度传感器:DHT11和DS18B20。其他的温度传感器PT100温度传感器WZP-PT100热电偶/阻 PT100铂电阻+智能巡检仪的温度数据采集方案将会在之后的文章关于modbus的部分做介绍。

(一)DHT11是一款有已校准数字信号输出的温湿度传感器。其精度湿度+-5%RH, 温度+-2℃,量程湿度20-90%RH, 温度0~50℃。其单串口进行通讯输出温湿度信息。

将DHT传感器引脚接入树莓派GPIO接口,方案的原理其实是由树莓派GPIO发出脉冲信号给DHT11传感器,DHT11再发出温湿度信息的脉冲给树莓派GPIO接口。

这里就不介绍如何用python编程如何发脉冲通信,这里推荐使用python的模块Adafruit-DHT。

安装命令:sudo pip3 install Adafruit_DHT。

python编程模块引用一般是:import Adafruit_DHT。

这样就可以将DHT11传感器的温度信息转变成程序里的变量来利用

详细内容可参见pypi。

(二)DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

将模块封装后可以测空气温度或是水温。

DS18B20与树莓派GPIO端口相接,其实与DHT11用法相似。

这里就不介绍如何用python编程如何发脉冲通信,这里推荐使用python的模块ds18b20pi。

安装命令:sudo pip3 install ds18b20pi。

python编程模块引用一般是:import ds18b20pi。

这样就可以将DS18B20传感器的温度信息转变成程序里的变量来利用

详细内容可参见pypi。

特别提示:DS18B20传感器是可以并联的,即一个GPIO端口可以采集多个DS18B20传感器数据的,在python程序里会以字典形式存在。

温度采集方案搞定后,将数据采集传送到云服务器的数据库里,接下来就可制作人机用户界面了,在手机或电脑等终端查看采集到的温度数据。

之后还可以对数据做可视化分析,这里建议按每分钟对采集的数据做统计分析,每分钟会采集到多个数值,记录每分钟的初始值、最终值、最大值、最小值用K线图表示。

DHT11温湿度曲线

DS18B20温度曲线

通过数据查看,会发现DS18B20比DHT11的稳定性要好、数据正确率高。

因此建议:

比如要利用温度做设备控制,精度要求高的场景下建议用DS18B20。

如果需要既要测温又要测湿度而且成本要再低些,不需要做其他设备关联控制仅是观察读数的建议使用DHT11。

辰匠科技愿与大家一同合作,一起玩转物联网!

发表评论