当前位置:网站首页>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 Henan Mengxin League Game (5): University of Information Engineering K - Matrix Generation
- 腾讯云宋翔:Kubernetes集群利用率提升实践
- MySQL's InnoDB engine (6)
- 网页安全证书错误但无法安装证书的解决办法
- UnityShader入门精要-纹理动画、顶点动画
- 新手使用 go channel 需要注意的问题
- 请问为什么sqlserver cdc,任务启动过了一天,会报这个错误,明明已经开启cdc了。
- OpenGL学习笔记(LearnOpenGL)-第四部分 着色器
- ES13 - ES2022 - The 123rd ECMA Congress approves the ECMAScript 2022 language specification
猜你喜欢
随机推荐
什么是代理ip?市面上好用的代理软件有哪些
Qt列表下方增加弹出加载数据提示效果
复现dns外带数据结合sqlmap
Make a boot floppy and boot with bochs emulator
C语言文件操作
2022河南萌新联赛第(五)场:信息工程大学 H - 小明喝奶茶
【论文解读】滴滴智能派单-KDD2018 Large-Scale Order Dispatch in On-Demand Ride-Hailing
vsnprint和snprintf的区别
ebp/栈帧/call stack
机器学习_LGB调参汇总(开箱即食)
OSPF的dr和bdr
2022 Henan Mengxin League Game (5): University of Information Engineering F - Split Turf
2022 Henan Mengxin League Game (5): University of Information Engineering K - Matrix Generation
Unity资源热更新--资源管理、Addressable
裸辞—躺平—刷题—大厂(Android面试的几大技巧)
【电商业务】外行为何难区别 商品属性与商品规格
All articles summary directory
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
2022 Henan Mengxin League No. 5: University of Information Engineering B - Transportation Renovation
socket实现进程间通信





![[网络安全]实操AWVS靶场复现CSRF漏洞](/img/7f/f08e429e3d8ede03a1c1754e256f99.png)



