0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

手持气象站的制作教程

454398 来源:wv 2019-10-18 10:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

的第1步:硬件要求

1)任何Raspberry pi(我使用3b型)

2)LCM1602C LCD屏幕(可选,使可以使用其他LCD屏幕或触摸屏,但最好不要使用Adafruit。)您还可以使用10 k欧姆的电位器来设置屏幕对比度。

3)Sensirion SDP810-125 PA(差压/微热流量传感器)。 SDP810-500 PA也可以使用,但是提供的python代码将需要修改。

4)Bosch BME 280温度,湿度和大气压力传感器(最好在Adafruit分支板上使用,其他可能也可以使用,但可能具有不同的i2c地址)。

5)具有VNC或SSH的iOsandroid手机或平板电脑(如果不使用LCM1602C LCD或其他屏幕,则为可选)

6)树莓派电池或移动电源(可选,以使设备便携式)

7)2个10 K欧姆电阻器

8)大面包板,一个小面包板和PI补鞋匠

9)一些跳线(35对公对公和10对公对母)。

10)尽管提供了所有代码,但有些Python技能也会有所帮助。

11 )2个内径为4mm的水族馆(鱼缸管)。您还将需要2个喷嘴,但可以3d打印它们。喷嘴上的孔的尺寸必须与SDP810的管道上的孔相同。我使用了来自廉价真空吸放泵的两条吸管。皮托管也可以安装在鱼缸管上,但只能进行一个方向的风向测量和重新校准。

12)3D打印机(可选,用于打印盖子和喷嘴)

13)可能需要手持式风速仪进行校准,

在继续之前,我必须先说说硬件及其极高的质量。我相信Raspberry pi是众所周知的,不需要任何介绍。该项目中使用的两个传感器(Bosch BME280和Sensirion SDP810-125 PA)可能是同类产品中价格最低的业余爱好中最好的。但是,它非常精确,并且为医疗环境中的精确度而生产。在https://www.bosch-sensortec.com/bst/products/all_products/bme280和https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/0_Datasheets/Differential_Pressure/Sensirion_Differential_Pressure_Sensors_SDP中读取相应的数据表.pdf

步骤2:连接硬件

在使用GPIO引脚或连接/断开连接时请记住要关闭树莓派

将Sensirion SDP 810连接到面包板上,如上图和上图所示。切记在Vdd和SDA以及Vdd和SCL之间使用两个10 k欧姆上拉电阻。还要连接BME280(不需要上拉电阻)。由于两个传感器具有不同的i2c地址,因此可以将它们并行连接到同一i2c总线。我使用了颜色编码Red = V,Green = SDA/SDI和Red = SCK/SCL

确保在系统上启用了i2c(转到“应用程序菜单”,“首选项”,Raspberry PI配置,“接口”)

连接电路,打开树莓派。打开一个终端窗口,然后运行 sudo i2cdetect –y 1 。结果应指示地址为0x25(SDP810)和x76或x77(BME280)上的2个设备。

连接LCM1602C。我按照adafruit的说明进行操作(https://learn.adafruit.com/drive-a-16x2-lcd-direct-with-a-raspberry-pi/overview),但是,adafruit修改了代码中的引脚排列,因此请遵循以下说明:

按照以下步骤将LCD连接到面包板上:

LCD的引脚1接地(黑线)

LCD的2号引脚变为+ 5V(红线)

3号引脚(Vo)连接到电位计的信号(橙色线)。如图所示,将其余的电位器引脚连接到+ 5v和GND。如果不想让屏幕对比度变化,请将LCD的引脚3连接到+ 5V

引脚4(RS)连接到Cobbler#25(GPIO 25)(黄线)

针脚5(RW)接地(黑线)

针脚6(EN)连接到Cobbler#24(GPIO 24)(绿线)

跳过LCD针#7,#8,#9和#10

针#11(D4)连接到补鞋匠#23(GPIO 23)(蓝线)

针# 12(D5)连接到Cobbler#17(GPIO 17)(紫线)

针#13(D6)连接到Cobber#21(GPIO 21)(灰线)

针脚14(D7)连接到Cobber#22(GPIO 22)(白线)

针脚15(LED +)转到+ 5V(红线)

针脚# 16(LED-)接地(黑线)。

Adafruit i还提供以下警告:

在接线之前,请检查您的LCD具有LED背光,而不是EL背光。 LED背光使用10-40mA的功率,EL背光使用200 + ma! EL背光灯通常价格便宜但无法使用,请确保不要使用背光灯,否则Pi会过载。一些带有LED背光的廉价LCD在LCD模块的背光上没有电阻,如果不确定,请在15针和5V引脚之间连接一个1Kohm电阻,而不是直接连接。所有Adafruit液晶显示器均具有带内置电阻器的LED背光灯,因此您不需要额外的电阻器。

您现在可以打开树莓派。屏幕将点亮。如果看起来不像提供的照片上的屏幕,请检查您的连接。如果屏幕点亮,但您看不到障碍物,请转动锅。如果添加了1 k ohm电阻,则可能必须将其删除才能使块可见。

步骤3:准备RASPBERRY PI软件

我的代码已在最新的Raspbian Stretch上进行了测试。

确保您的系统是最新的

打开终端并运行:

$ sudo apt -get update

$ sudo apt-get upgrade

还请确保已安装以下软件包。它们可能已经安装。

$ sudo apt-get install python-dev

$ sudo apt-get install python-setuptools

$ sudo easy_install -U分发

$ sudo apt-get install python-pip

$ sudo pip install rpi.gpio

$ sudo pip install rpi.gpio

现在您需要安装适用于BME280和LCM1602C的adafruit模块。它们可以在Github上获得

首先安装git来启用github上目录的克隆。运行

$ sudo apt-get install git

移动到要安装模块的目录。我建议您使用puthon目录。运行:

$ cd mkdir/home/pi/python

$ cd/home/pi/python

使用以下命令克隆Adafruit_Python_CharLCD目录:

$ git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git

移至Adafruit_Python_CharLCD目录

$ cd Adafruit_Python_CharLCD

运行以下命令注册模块:

$ sudo python setup.py安装

LCM1602 python模块现在可用于所有python应用程序,方法是:

将Adafruit_CharLCD作为LCD导入LCD 在您的python编辑器中

您可以通过运行附件LCD_Hello_world.py来测试LCD。如果您不根据物理插脚(在附件LCD_Hello_world.py和我提供的所有脚本中更正),不修改python中的插脚,则github上的示例(在示例目录中可用)将无法工作。如果屏幕上没有显示“ hello world”,请检查引脚排列,连接并转动电位计。如果这不起作用,则添加了1 k ohs电阻器。

您还需要安装BME280模块。使用以下shell命令移动到python目录。

$ cd/home/pi/python

运行以下命令:

$ git clone https://github.com/adafruit/Adafruit_Python_BME280.git

$ cd Adafruit_Python_BME280

$ sudo python setup.py install

现在,通过导入Adafruit_BME280模块,adafruit BME280模块将可用于所有python脚本。

在运行第一个脚本之前,请通过运行

$ sudo i2cdetect –y 1

,确保BME280在i2c地址77上(其他BME280板可能在76上)。 BME280正在使用i2c地址76,将文件Adafruit_BME280.py第30行修改为BME280_I2CADDR = 0x76

可以使用附加的Reading_BME280.py示例来测试BME280。

Sensirion SDP810 micro热流量传感器不需要任何特殊模块,并且可以通过smbus协议(i2c总线协议的子集)进行通信。我在网上很难找到SDP810的python示例,不得不用辛苦的方式和使用它的数据表弄清楚它的工作方式。结果可在Github上找到,网址为https://github.com/JJSlabbert/Sensirion_SDP810_125PA。

第4步:运行气象台软件

当前,我有两个可用的python脚本:

weather_log_and_display.py 将读取所有传感器,将读数打印到树莓派屏幕上(如果已连接),将数据记录在data.txt中并打印液晶显示屏上的读数。

anemometer.py 可以非常快速地读取风速数据。您可以在Python脚本中增加/减少读取间隔。根据SDP810的数据表,每0.5 ms可获得一个新的读数。这是用于python和LCD屏幕的快速方法。该脚本还显示了最小和最大读数,是检测阵风的理想选择。

您还可以使用智能手机/平板电脑通过VNC监视气象站。有关更多信息,请访问https://www.raspberrypi.org/magpi/vnc-raspberry-pi/。检查应用商店中的vnc查看器。

如果您需要在启动时自动运行脚本,请添加

@python/home/pi/python/Portable_Weather_Station/weather_log_and_display.py

对于/home/pi/.config/lxsession/LXDE-pi

关于海拔高度计算的注意事项:

海拔高度是计算得出的作为局部大气压,温度和可见水压的函数。看见水平的实际压力在1013,25 hPa附近频繁波动。我在Python脚本中使用了1013,25 hPa。因此,由Python脚本计算出的海拔高度只是估计值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 气象站
    +关注

    关注

    1

    文章

    861

    浏览量

    17116
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    车载扬尘监测站,走航式气象站

    气象站
    pingao141378
    发布于 :2026年02月25日 13:58:18

    湿度传感器模块HW2200用于气象站低湿度环境下的高精度精确监测

    气象站作为基础气象监测设备,凭借稳定的运行和精准的数据,广泛应用于能源、乡镇防控、生态科研、市政建设等多个领域。它可实现全天候无人值守,自动采集各类气象要素,实时上传数据,为各行业提供可靠的
    的头像 发表于 02-05 10:00 503次阅读
    湿度传感器模块HW2200用于<b class='flag-5'>气象站</b>低湿度环境下的高精度精确监测

    便携式气象站:移动场景下的气象“感知官”

    便携式气象站:移动场景下的气象“感知官”柏峰【BF-BQX】在野外勘探的深山里,在赛事保障的运动场上,在农业生产的田垄间,精准、实时的气象数据往往是决策的关键。传统固定式气象站受限于安
    的头像 发表于 11-14 09:13 510次阅读
    便携式<b class='flag-5'>气象站</b>:移动场景下的<b class='flag-5'>气象</b>“感知官”

    超声波气象站:精准监测的技术新选择

    超声波气象站:精准监测的技术新选择 柏峰【BF-CSQX】在气象监测技术持续升级的背景下,超声波气象站凭借无机械损耗、高灵敏度、强环境适应性等核心特性,逐渐取代传统机械气象站,成为
    的头像 发表于 10-24 10:12 984次阅读
    超声波<b class='flag-5'>气象站</b>:精准监测的技术新选择

    小型自动气象站:精细化气象监测的技术革新与应用拓展

    小型自动气象站:精细化气象监测的技术革新与应用拓展 柏峰【BF-QX】随着气象服务向“精细化、精准化、智能化”升级,传统气象观测站点密度不足、覆盖范围有限的问题日益凸显。小型自动
    的头像 发表于 10-23 10:53 1164次阅读
    小型自动<b class='flag-5'>气象站</b>:精细化<b class='flag-5'>气象</b>监测的技术革新与应用拓展

    校园科普气象站:技术赋能下的自然探索课堂

    校园科普气象站:技术赋能下的自然探索课堂 柏峰【BF-XQX】在素质教育深化推进的背景下,校园科普气象站正成为连接课堂理论与自然实践的重要桥梁。它以模块化的技术架构、可视化的交互设计和趣味化的教学场景,
    的头像 发表于 10-22 10:05 513次阅读
    校园科普<b class='flag-5'>气象站</b>:技术赋能下的自然探索课堂

    超声波自动气象站技术方案

    超声波自动气象站技术方案 柏峰【BF-CSQX】一、项目背景与需求分析 1.1 项目背景 传统机械转动式气象站存在部件磨损、易受恶劣天气影响(如风沙堵塞、雨雪结冰)、维护成本高等问题,难以满足现代化气象监测对数据精准性、连续性及
    的头像 发表于 10-16 14:18 594次阅读
    超声波自动<b class='flag-5'>气象站</b>技术方案

    光伏自动气象站技术架构与发电效率保障应用

    光伏自动气象站技术架构与发电效率保障应用 柏峰【BF-GFQX】光伏自动气象站以“精准辐照感知、发电效率评估、运维智能辅助”为核心技术特征,融合光伏专用气象监测与发电性能分析功能,成为光伏电站高效运营的关键技术装备。
    的头像 发表于 10-15 17:29 2006次阅读
    光伏自动<b class='flag-5'>气象站</b>技术架构与发电效率保障应用

    景区负氧离子气象站

    气象站
    pingao141378
    发布于 :2025年10月14日 14:06:19

    华为推出鸿蒙智能交通气象站

    华为全联接大会2025期间,在气象海洋论坛上,华为联合陕西省气象局发布鸿蒙智能交通气象站,这标志着陕西在落实中国气象局“观测即服务”理念、抢占交通
    的头像 发表于 09-20 14:41 1509次阅读

    北斗自动气象站: 护航无网区的 “气象信使”

    北斗自动气象站: 护航无网区的 “气象信使”柏峰【BF-BDQX】在沙漠深处的油田、高原无人区的牧区,或是地震灾后的通信中断地带,一种能摆脱网络依赖的气象设备正持续传递着关键数据 —— 它就是北斗自动
    的头像 发表于 09-08 11:35 1434次阅读
    北斗自动<b class='flag-5'>气象站</b>: 护航无网区的 “<b class='flag-5'>气象</b>信使”

    数字传感器,如何通过小型气象站赋能农耕、生态与防灾?

    小型气象站是一种针对局部区域气象环境进行精细化监测的便携式或固定式设备,其核心功能是通过实时采集所处区域的温度、湿度、气压、风速、风向、降水量、光照等气象数据,为农业生产、生态研究及环境监测等特定
    的头像 发表于 09-04 14:34 1031次阅读
    数字传感器,如何通过小型<b class='flag-5'>气象站</b>赋能农耕、生态与防灾?

    防爆工业气象站:工业场景的 “气象监测中枢”

    防爆工业气象站:工业场景的 “气象监测中枢”柏峰【BF-FB】在石油化工、煤矿开采、天然气处理等高危工业场景中,一个容易被忽视却关乎安全生产的问题始终存在:如何在易燃易爆环境下
    的头像 发表于 08-26 12:00 881次阅读
    防爆工业<b class='flag-5'>气象站</b>:工业场景的 “<b class='flag-5'>气象</b>监测中枢”

    智慧农业气象站技术方案

    智慧农业气象站技术方案 柏峰【BF-QX】随着农业现代化进程的加速,传统农业正逐步向智慧农业转型。气象条件对农业生产具有至关重要的影响,精准的气象监测与预测能够帮助农户合理安排农事活动,有效降低
    的头像 发表于 08-21 09:05 1021次阅读
    智慧农业<b class='flag-5'>气象站</b>技术方案

    光伏实验气象站的技术架构与应用实践

    光伏实验气象站的技术架构与应用实践 柏峰【BF-GFQX】在光伏产业快速发展与新能源科研不断深入的背景下,光伏实验气象站作为获取精准气象数据与光伏性能参数的核心设备,其技术先进性直接决定了科研成果的可靠性与工程应用的实效性。
    的头像 发表于 08-19 08:57 2341次阅读
    光伏实验<b class='flag-5'>气象站</b>的技术架构与应用实践