当前位置:网站首页>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
大风,大风
边栏推荐
- 2022河南萌新联赛第(五)场:信息工程大学 K - 矩阵生成
- 高质量WordPress下载站模板5play主题
- 如何在VMlogin中设置YiLu代理?
- 3.事务篇【mysql高级】
- 腾讯云宋翔:Kubernetes集群利用率提升实践
- 【8月9日活动预告】Prometheus峰会
- 程序员的十楼层。看看自己在第几层。PS:我的目标是:30岁第四层
- I would like to ask you guys, when FLink SQL reads the source, specify the time field of the watermark. If the specified field is in the grid
- 网页安全证书错误但无法安装证书的解决办法
- Why do games need hot updates
猜你喜欢
随机推荐
2022 Henan Mengxin League Game (5): University of Information Engineering F - Split Turf
第11章 数据库的设计规范【2.索引及调优篇】【MySQL高级】
XV6系统调用实现
UnityShader入门精要--Unity中的基础光照
请问一下。Oracle CDC 连接器支持 LogMiner 和 XStream API 两种方式捕
UnityShader入门精要-阴影
高级测试:如何使用Flink对Strom任务的逻辑功能进行复现测试?
Log4j2基本使用
OpenGL学习笔记(LearnOpenGL)-第五部分 纹理
Parallax Mapping: More Realistic Texture Detail Representation (Part 1): Why Use Parallax Mapping
交换机的功能和ipv4
OpenGL学习笔记(LearnOpenGL)第一部分-环境配置与基础知识
强化学习_11_Datawhale模仿学习
UnityShader入门精要-unity shader基础
OpenGL学习笔记(LearnOpenGL)-第二部分 绘制三角形
ES13 - ES2022 - 第 123 届 ECMA 大会批准了 ECMAScript 2022 语言规范
Excuse me.Oracle CDC connector supports LogMiner and XStream API two ways to capture
Text-to-Image最新论文、代码汇总
求职
如何在AdsPower中设置YiLu代理?