当前位置:网站首页>ESP32 485风速
ESP32 485风速
2022-08-10 06:06:00 【咸鱼箘】
气象站基础呀
RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。
RS-485定义的是使用平衡(也称作差分)多点传输线的驱动器(driver)和接收器(receiver)的电气特性。
材料及接线
ESP32
单片机TTL转RS485模块
接线说明
| 开发板 | TTL转RS485模块 |
|---|---|
| 22 | TXD |
| 23 | RXD |
| 5v | VCC |
| GND | GND |
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")
串口输出风速值
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'
风级提醒
相关知识,风速对应的风级。
| 风级 | 名称 | 风速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级:软风哦")
...# 。
懂我意思吧,案例如下
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("大风,大风")
无事发生
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
大风,大风
边栏推荐
猜你喜欢

High quality WordPress download station 5 play theme template

背包问题 c语言版

【Day10】进程管理命令

语法基础(判断语句)

高级测试:如何使用Flink对Strom任务的逻辑功能进行复现测试?

OSPF的dr和bdr

腾讯云宋翔:Kubernetes集群利用率提升实践
![Chapter 12 Other Database Tuning Strategies [2. Index and Tuning] [MySQL Advanced]](/img/6d/f7fffb327f3191ac4c5a3dc7808c89.png)
Chapter 12 Other Database Tuning Strategies [2. Index and Tuning] [MySQL Advanced]

UnityShader入门精要-立方体纹理、反射、折射、菲涅尔反射

【愚公系列】2022年08月 Go教学课程 034-接口和多态
随机推荐
mysql数据库定时备份(保留近7天的备份)
如何在VMlogin中设置YiLu代理?
UnityShader入门精要-渲染纹理 镜子 玻璃 效果
什么是代理ip?市面上好用的代理软件有哪些
OpenGL学习笔记(LearnOpenGL)-第六部分 变换
Qt程序字体初始化引起的白屏问题
2022河南萌新联赛第(五)场:信息工程大学 J - AC自动机
Lunix(阿里云服务器)安装Anaconda并开启jupyter服务本地访问
【电商业务】外行为何难区别 商品属性与商品规格
Qt中输入框在Win10上“Win+/“快捷键的一个Bug
修改 QtCreator 配置解决 “无法运行 rc.exe” 问题
第12章 数据库其它调优策略【2.索引及调优篇】【MySQL高级】
BUUCTF笔记(web)
Grammar Basics (Judgment Statements)
强化学习_08_Datawhale针对连续动作的深度Q网络
[Network Security] Practice AWVS Range to reproduce CSRF vulnerability
Basic use of Log4j2
Qt信号槽与事件循环的关系
【愚公系列】2022年08月 Go教学课程 034-接口和多态
Mysql表数据在命令行窗口下中文乱码问题解决方法