0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样使用树莓派读取传感器上的温度和湿度

454398 来源:wv 2019-10-10 11:10 次阅读

步骤1:连接

EzTemp使用串行端口在您的Raspberry Pi上进行通信

确定Raspberry Pi上的串行引脚。然后将:

RPi GND连接到EzTemp GND。

RPi Tx到EzTemp Rx。

RPi Rx到EzTemp Tx。

RPi 3.3V至EzTemp 3.3V。

请注意,Tx引脚必须连接到Rx引脚,反之亦然。

现在您可以使用EzTemp!

[您可以在Tindie上获得EzTemp]

步骤2:禁用串行控制台

默认情况下,Raspberry Pi使用串行端口作为外壳程序。正如MarcR在评论中所指出的(感谢提示),我们需要禁用串行控制台才能使用EzTemp。

方法1:raspi-config脚本

最简单的方法通过运行raspi-config脚本来禁用串行控制台。打开外壳并键入:

sudo raspi-config

它将显示一个菜单,只需转到 8 Advanced Options》 A7 Serial ,然后选择 否 。

现在重新启动Pi并转到下一步。

方法2:自动脚本

我们可以使用 rpi-serial-console 脚本禁用和启用串行控制台。要安装它,请打开外壳并键入:

sudo wget https://raw.githubusercontent.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console && sudo chmod +x /usr/bin/rpi-serial-console

要显示当前是否启用了串行控制台,只需运行:

rpi-serial-console status

To禁用串行控制台,只需运行:

sudo rpi-serial-console disable

要启用串行控制台,只需运行:

sudo rpi-serial-console enable

在启用或禁用串行控制台后,您可以

方法3:手动

然后用您喜欢的编辑器打开此文件:

sudo nano /boot/cmdline.txt

它的内容应该是这样的:

dwc_otg.lpm_enable=0 console=tty1 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

删除对ttyAMA0的任何引用,得到这样的内容:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

保存更改,然后打开inittab:

sudo nano /etc/inittab

在文件末尾,注释掉以下行:

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

重新启动Pi并转到下一步。

[您可以在Tindie上获得EzTemp]

步骤3:下载示例脚本

在Raspberry Pi上,您必须下载此脚本。您可以打开外壳并输入以下内容:

wget https://raw.githubusercontent.com/CAIMANICS/EzTempRH-for-Raspberry-Pi/master/software/EzTempRH.py

现在运行脚本输入:

python EzTempRH.py

就是这样!您正在运行EzTemp。

EzTemp&RH build 2

Temperature: 24.0C

Humidity: 48.0%

External: 1018 / 2048 counts

Version: 2

让我们看看如何在程序中使用它。

[您可以在Tindie上获得EzTemp]

第4步:修补程序

在这里,我们将分析脚本的各个部分,以便您可以理解它,并针对项目进行修改

首先,我们需要打开串行端口。该脚本使用PySerial模块执行此操作。

import serial

ser = serial.Serial(‘/dev/ttyAMA0’, 9600, timeout=1)

现在,让我们在传感器中查询构建值。这是一个静态值,用于标识EzTemp的版本。

首先,我们需要向EzTemp发送命令‘v’:

ser.write(“v”)

构建值是2字节的值,因此我们应该期望EzTemp提供4字节(1字节回声+ 2字节构建+ 1字节校验和)的响应。现在,读取响应:

s = ser.read(4)

尽管构建标识符是2字节的值,但数据是以单独的字节接收的。要“重构”它,我们必须将最高有效字节向左移8位,然后添加最低有效字节。这样,我们可以正确地恢复2字节的字段:

version = (ord(s[1]) 《《 8) + ord(s[2])

每次从EzTemp收到2字节的值时,都可以使用上面的句子。

最后一行此块的代码只是在屏幕上打印结果:

print ‘EzTemp&RH build ’ + str(version)

脚本的其余部分从EzTemp中查询传感器值相同。让我们以温度值为例:

ser.write(“d”)

s = ser.read(4)

temperature = (ord(s[1]) 《《 8) + ord(s[2])

print‘Temperature:’+ str(1.0 * temperature/10)+‘C’

在这种情况下,我们使用命令“ d”以摄氏0.1度的精度查询温度。如您所见,响应的捕获非常相似。区别在于如何处理返回的值。

当我们以0.1精度查询温度或任何其他参数时,数据将以2个字节的整数形式接收,占该值的十分之一。也就是说,如果温度为21.5ºC,则EzTemp会收到值215,并且用户脚本必须除以10才能获得实际温度。

如果不需要,所有值都具有整数精度命令。小数点。使用这些命令简化了读取和处理返回数据的过程。检查数据表中完整的命令列表。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2525

    文章

    48069

    浏览量

    739999
  • 树莓派
    +关注

    关注

    113

    文章

    1638

    浏览量

    104729
收藏 人收藏

    评论

    相关推荐

    湿度传感器工作原理 温湿度传感器的接线方法

    湿度传感器是一种用于测量环境温度和相对湿度的装置。它通常用于工业、农业、气象、室内空调等领域。本文将详细介绍温湿度
    的头像 发表于 02-14 18:00 4057次阅读

    湿度传感器接线端子T是什么意思

    于将传感器与监测设备或控制系统的温度输入端连接起来。通过读取T端子的电信号,监测设备或控制系统可以获取到当前环境的温度数据。 温湿度
    的头像 发表于 01-16 09:16 483次阅读

    湿度传感器的哪些特性影响测量准确度?

    湿度传感器的哪些特性影响测量准确度? 湿度传感器测量准确度受到许多特性的影响。下面将详细介绍影响湿度传感
    的头像 发表于 12-25 14:28 452次阅读

    在 ADAS传感器模块中实现精确的温度湿度传感

    在 ADAS传感器模块中实现精确的温度湿度传感
    的头像 发表于 12-06 17:20 280次阅读
    在 ADAS<b class='flag-5'>传感器</b>模块中实现精确的<b class='flag-5'>温度</b>和<b class='flag-5'>湿度</b><b class='flag-5'>传感</b>

    SHT20温湿度传感器数据读取异常如何解决?

    使用SHT20温湿度传感器,用模拟IIC通信,不能正确的读取数据。现象有3个 第一,读取温度的低8位始终是0xFF。 第二,
    发表于 10-19 06:32

    温度的变化是否会影响湿度传感器的测量?

    温度的变化是否会影响湿度传感器的测量
    发表于 10-10 07:03

    树莓传感器教程

    树莓传感器教程
    发表于 10-07 07:13

    Arduino的各种传感器树莓也可以用吗?

    Arduino的各种传感器树莓也可以用么?
    发表于 09-28 08:13

    树莓全新可更换镜头相机配件官方指南

    树莓相机!树莓推出1230万像素可更换镜头相机配件,配备索尼IMX477传感器,可兼容C和CS卡口镜头,售价50美元!
    发表于 09-26 06:11

    树莓派 Pico内置温度传感器的应用

    树莓派 Pico 的 RP2040 微控制器内置了温度传感器,它可以通过第四个模拟数字转换器通道读取。像电位器一样,传感器的输出是一个可变的
    发表于 09-11 10:14 374次阅读

    使用树莓派Pico的RP2040微控制器内置温度传感器

    树莓派 Pico 的 RP2040 微控制器内置了温度传感器,它可以通过第四个模拟数字转换器通道读取。像电位器一样,传感器的输出是一个可变的
    的头像 发表于 09-11 10:14 1214次阅读

    立创·梁山GD32F4】-DHT11温湿度传感器模块移植过程

    传感器。其成本低、长期稳定、可以测量相对湿度温度测量,并可以只使用一根数据线进行温湿度采集。 模块来源 采购链接: https://item.taobao.com/item.htm?
    发表于 08-30 15:15

    请问工业湿度有什么传感器?模拟湿度传感器与IC型的区别?

    工业湿度有什么传感器?模拟湿度传感器与IC型的区别?
    发表于 06-14 09:45

    【CW32饭盒开发板试用体验】+万物互联之温湿度采集

    CW32饭盒开发板 提供了多种传感器的接口,上面就有温湿度传感器DHT11的接口。但是,我手上只有4个脚的DHT11芯片,并没有3个脚的DHT11模组。但是,板
    发表于 06-11 16:05

    【CW32饭盒开发板试用体验】读取自己的温湿度传感器

    40bit的数据,并触发一次信号采集 用户可选择读取数据,采集数据后转换到低速模式,如果没有接收到主机发送的开始信号,DHT11不会主动进行温湿度采集。 将传感器与开发板接好线,传感器
    发表于 06-03 11:01