【物联网智能网关-01】通过AD采集获取温湿度

简介: AD方式的温湿度传感器和另两种有所不同,前两种一般温湿度已经处理好,通过协议解析就可以直接获取温湿度的数值。而AD方式采集的只是电压值,需要根据一定的公式进行数据计算,才能获取最终的温湿度值。

无论是机房管理系统,还是面向农村温室大棚的管理系统,温湿度采集模块是必不可少的。常见的温湿度模块从通信接口上来说,一般有三种,第一种是单总线方式(我以前写了两篇博文来介绍这方面的内容《DHT11温湿度传感器通信:上下》),第二种是串口方式(RS232或RS485,后续我会写博文介绍),第三种就是AD方式。

这三种方式,各有优缺点,第一种往往价格比较便宜,但是温湿度传感器要和采集芯片必须很近才成,并且必须要实现单总线相关的代码,开发和调试相对比较复杂;第二种使用相对最容易,一般情况下直接和PC通信居多,不过价格也是最高的;第三种价格适中,并且传输的距离也比单总线方式要远的多。

AD方式的温湿度传感器和另两种有所不同,前两种一般温湿度已经处理好,通过协议解析就可以直接获取温湿度的数值。而AD方式采集的只是电压值,需要根据一定的公式进行数据计算,才能获取最终的温湿度值。

今天我们就介绍如何用紫藤207物联网智能网关的AD接口采集AMT1001温湿度传感器的温湿度数值。

紫藤207物联网智能网关一共有8路AD通道,对应的管脚为PA4、PA6、PA5、PB1、PA0、PC3、PC2和PC0,分别对应AnalogInput类的0~7通道(AnalogChannel.ANALOG_0~ AnalogChannel.ANALOG_7),当然这个几个管脚除了可以作为AD输入通道外,还可以作为IO入、IO出和PWM输出(仅PB1和PB5两路)。

需要说明的是,该AD通道可采集的电压范围是0~3.3V(所有采集通道的总电路不要超过20mA),注意不要超出该范围,以免对芯片造成永久的损害(具体指标可以参见STM32F207相关数据手册)。

下面简单介绍一下AMT1001温湿度传感器(如下图):
image.png

       

传感器采用四线方式,5V供电,并提供了一些以供计算的标准参数。对湿度采集来说,非常简单,相应管脚直接输出0~3V的电压值,然后直接查表就可以很容易计算出湿度值来。而温度采集却不同,输出的电压范围大概是0~0.8V,变化非常小,并且不能通过这个电压值,直接查表获取温度值,而是间接计算出电阻值,然后再查表获取相关温度值。

温度采集除了这些和湿度采集不同外,还需要外加一个电阻,该电阻的阻值要和传感器模块中的温敏电阻25度时的阻值一样(主要目的是便于计算)。外接电阻和温敏电阻其实是串联在一起,AD采集的就是这10K上的电压值。那么温敏电阻的阻值就可以这样计算:假设10K上的电压值为V,那么温敏电阻上的电压就是5-V(因为模块供电电压为5V),根据等比公式就可以知道当前温敏电阻的值R= (5 - V) / V * R0。

紫藤207模块和ATM1001模块电路连接图如下(图中的电阻就是10K):
image.png

      

相关代码如下:

//湿度

static double ConvertHumidity(double value)

    {

        double V = (value / 4096) * 3.3;

        return DataTransition(V, AMT1001_Voltage, AMT1001_Humidityvalue);

    }

//温度

static double ConvertTemperature(double value)

    {

        double V = (value / 4096) * 3.3;

        double R = (5 - V) / V * AMT1001_R;

        return DataTransition(R, AMT1001_Resistance, AMT1001_Temperaturevalue);

    }  

为了便于演示,我把相关的温湿度值除了通过串口输出外,还直接显示在LCD上,其核心代码如下。

    screen.DrawRectangle(Color.Black, 0, 60, 70, 200, 200, 0, 0, Color.Black, 0, 0, Color.Black, 0, 0, 255);

    screen.DrawText("温度: " + T.ToString("F2") + " ℃?",font, Colors.Green,60,70);

    screen.DrawText("湿度: " + H.ToString("F2") + " %", font, Colors.Blue, 60, 120);

    screen.Flush();

screen 是一个位图对象(Bitmap)。

程序运行后的最终效果图如下:
image.png

  

MF简介:http://blog.csdn.net/yefanqiu/article/details/5711770

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
4月前
|
人工智能 Java 物联网
Java与边缘AI:构建离线智能的物联网与移动应用
随着边缘计算和终端设备算力的飞速发展,AI推理正从云端向边缘端迁移。本文深入探讨如何在资源受限的边缘设备上使用Java构建离线智能应用,涵盖从模型优化、推理加速到资源管理的全流程。我们将完整展示在Android设备、嵌入式系统和IoT网关中部署轻量级AI模型的技术方案,为构建真正实时、隐私安全的边缘智能应用提供完整实践指南。
424 3
|
传感器 人工智能 监控
AI与物联网的融合:开启智能化未来的新篇章
AI与物联网的融合:开启智能化未来的新篇章
1838 96
|
存储 边缘计算 物联网
揭秘边缘计算:物联网时代的分布式智能
揭秘边缘计算:物联网时代的分布式智能
1183 92
|
11月前
|
存储 监控 安全
工业物联网关应用:PLC数据通过智能网关上传阿里云实战
本文介绍如何使用智能网关将工厂PLC数据传输至阿里云平台,适合中小企业远程监控设备状态。硬件准备包括三菱FX3U PLC、4G智能网关和24V电源。接线步骤涵盖PLC编程口与网关连接、运行状态检测及天线电源接入。配置过程涉及通讯参数、阿里云对接和数据点映射。PLC程序关键点包括数据上传触发和温度值处理。阿里云平台操作包含实时数据查看、数据可视化和规则引擎设置。最后提供常见故障排查表和安全建议,确保系统稳定运行。
995 1
|
12月前
|
监控 物联网
工业智能网关实现北向自定义报文配置流程
北向接口是设备连接物联网云平台的接口,允许云平台统一监管各厂商设备的运行与报警状态。为解决不同公司报文格式差异导致的数据解析问题,工业智能网关支持北向自定义报文功能,用户可配置不同的报文格式,确保数据准确传输。配置流程包括网关中心、IOT数据云平台和配置工具的设置,最终通过日志或MQTTfx验证上报情况。
327 4
|
人工智能 监控 物联网
深度探索人工智能与物联网的融合:构建未来智能生态系统###
在当今这个数据驱动的时代,人工智能(AI)与物联网(IoT)的深度融合正引领着一场前所未有的技术革命。本文旨在深入剖析这一融合背后的技术原理、探讨其在不同领域的应用实例及面临的挑战与机遇,为读者描绘一幅关于未来智能生态系统的宏伟蓝图。通过技术创新的视角,我们不仅揭示了AI与IoT结合的强大潜力,也展望了它们如何共同塑造一个更加高效、可持续且互联的世界。 ###
|
物联网 智能硬件
物联网技术:连接智能生活的桥梁
物联网技术:连接智能生活的桥梁
|
11月前
|
传感器 人工智能 物联网
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
1321 19
|
存储 安全 物联网
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
466 60
|
安全 物联网 物联网安全
制定统一的物联网技术标准和规范的难点有哪些?
制定统一的物联网技术标准和规范的难点有哪些?
523 58

相关产品

  • 物联网平台