• ESP32 485风速



    气象站基础呀

    RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。
    RS-485定义的是使用平衡(也称作差分)多点传输线的驱动器(driver)和接收器(receiver)的电气特性。


    材料及接线

    ESP32在这里插入图片描述
    单片机TTL转RS485模块
    在这里插入图片描述
    接线说明

    开发板TTL转RS485模块
    22TXD
    23RXD
    5vVCC
    GNDGND

    485风速

    采用工业级芯片,高精度进口光照传感器。采用RS485硬件接口,协议层兼容标准的工业Modbus-Rtu协议。
    被广泛应用于温室、环境保护、气象站、船舶、码头、养殖等环境的风速测量。

    在这里插入图片描述

    在这里插入图片描述

    接线说明

    TTL转RS485模块485风速开发板
    A+TXD_A 绿线
    B-RXD_B 蓝线
    V+ 棕线外接12V适配器电,接开发板没用
    GND 黑线外接12V适配器的地线,接开发板没用

    PS:基本485的接线都一样了

    示例程序

    获取风速

    量程:0-70m/s,分辨率 0.1m/s
    在这里插入图片描述

    
    from machine import UART
    #ESP32可以映射引脚,初始化的时候设置就行,串口号一般设置成2(0和1尽量别用。)
    import time
    uart= UART(2, baudrate=4800, bits=8, parity=None, rx=22,tx=23, stop=1, timeout=100) 
    barray = bytearray([0x01,0x03,0x00,0x00,0x00, 0x01 ,0x84 ,0x0A])  #问询帧
    
    while True:
        uart.write(barray)
        time.sleep(1)
        #print(uart.read()) 
        if(uart.any()):
          u2by=uart.read()        # 返回的是答应帧的内容
          aa=u2by
          print(aa)
          fs10 = int.from_bytes(aa[3:5],'big')  # 风速
          fs=fs10/10   #实际值得10倍,要除以10
          print(fs,"m/s")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    串口输出风速值

    b'\x01\x03\x02\x00\x00\xb8D'
    0.0 m/s
    b'\x01\x03\x02\x00\x00\xb8D'
    0.0 m/s
    b'\x01\x03\x02\x00\x00\xb8D'
    0.0 m/s
    b'\x01\x03\x02\x00\x00\xb8D'
    0.0 m/s
    b'\x01\x03\x02\x00\x01y\x84'
    0.1 m/s
    b'\x01\x03\x02\x00\x18\xb8N'
    2.4 m/s
    b'\x01\x03\x02\x00\x18\xb8N'
    2.4 m/s
    b'\x01\x03\x02\x00%y\x9f'
    3.7 m/s
    b'\x01\x03\x02\x00%y\x9f'
    3.7 m/s
    b'\x01\x03\x02\x00.8X'
    4.6 m/s
    b'\x01\x03\x02\x000\xb8P'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    风级提醒

    相关知识,风速对应的风级。

    风级名称风速m/s
    0无风0.0-0.2
    1软风0.3-1.5
    2清风1.6-3.3
    3微风3.4-5.4
    4和风5.5-7.9
    5劲风8.0-10.7
    6强风10.8-13.8
    7疾风13.9-17.1
    8大风17.2-20.7
    9烈风20.8-24.4
    10狂风24.5-28.4
    11暴风28.5-32.6
    12飓风>32.6

    根据上表,我们可以做一个风级提醒了

    if 0.0<=fs<0.2:
    	print:("0级:当前无风,无事发生")
    elif 0.3<fs<1.5:
    	print("1级:软风哦")
    	
    ...# 。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    懂我意思吧,案例如下

    from machine import UART
    #ESP32可以映射引脚,初始化的时候设置就行,串口号一般设置成2(0和1尽量别用。)
    import time
    uart= UART(2, baudrate=4800, bits=8, parity=None, rx=22,tx=23, stop=1, timeout=100) 
    barray = bytearray([0x01,0x03,0x00,0x00,0x00, 0x01 ,0x84 ,0x0A])  #问询帧
    
    while True:
        uart.write(barray)
        time.sleep(1)
        #print(uart.read()) 
        if(uart.any()):
          u2by=uart.read()        # 返回的是答应帧的内容
          aa=u2by
          #print(aa)
          fs10 = int.from_bytes(aa[3:5],'big')  # 土壤湿度
          fs=fs10/10
          print(fs,"m/s")
          if 0.0<=fs<0.2:
            print("无事发生")
          elif 0.3<fs<1.5:
            print("软风哦")
          #...
          else:
            print("大风,大风")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    无事发生
    0.0 m/s
    无事发生
    0.4 m/s
    软风哦
    1.2 m/s
    软风哦
    1.2 m/s
    软风哦
    0.7 m/s
    软风哦
    0.7 m/s
    软风哦
    1.4 m/s
    软风哦
    3.2 m/s
    大风,大风
    3.2 m/s
    大风,大风
    1.9 m/s
    大风,大风
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
  • 相关阅读:
    C/C++开发,opencv-ml库学习,随机森林(RTrees)应用
    Java:实现DoubleHashing双哈希测试算法(附完整源码)
    前端分页实现
    类和对象(中上)
    鸿蒙应用开发之组件状态管理
    nodejs中解构语法
    Webmin--Webmin Configuration模块
    TeaPearce/Conditional_Diffusion_MNIST 源码阅读
    页面分布引导新手指引(driver.js)
    最新电容笔推荐,2022年电容笔十大品牌排行榜
  • 原文地址:https://blog.csdn.net/weixin_45020839/article/details/126124310