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

    文章

    741

    浏览量

    15647
收藏 人收藏

    评论

    相关推荐

    负氧离子气象站

    气象站
    pingao141378
    发布于 :2024年10月19日 08:52:28

    校园气象站高校科普论文气象站多功能气象站

    校园气象站高校科普论文气象站多功能气象站是一种集气象监测、数据传输、数据处理、信息发布等功能于一体的数字化气象设备。它可以通过各种传感器实时
    的头像 发表于 08-06 17:53 410次阅读
    校园<b class='flag-5'>气象站</b>高校科普论文<b class='flag-5'>气象站</b>多功能<b class='flag-5'>气象站</b>

    全自动农业气象站的简单介绍及技术参数分析

    气象站
    博科仪器
    发布于 :2024年06月25日 15:56:14

    便携式气象站:未来气象监测的便携新选择

    气象站
    万象环境科技
    发布于 :2024年06月23日 10:39:24

    便携式气象站:科技与便捷的完美融合

    气象站
    万象环境科技
    发布于 :2024年06月22日 21:14:07

    什么是自动气象站

    在科学技术迅猛发展的今天,自动气象站以其高效、精准、实时的特点,逐渐成为现代气象观测的先锋。它不仅极大地提升了气象观测的效率和准确性,还为农业生产、交通运输、环境保护等领域提供了重要的气象
    的头像 发表于 06-14 09:15 502次阅读
    什么是自动<b class='flag-5'>气象站</b>?

    小型气象站是什么?有哪些作用?

    小型气象站可以监测多种气象参数,包括但不限于温度、湿度、气压、风速、风向、降水量等。这些数据对于农业、气象预测、交通运输、环境监测等领域都至关重要。例如,在农业领域,农民可以根据气象站
    的头像 发表于 05-29 17:03 537次阅读

    多参数自动气象站:科技前沿与应用尖端

    JD-CQX10 多参数自动气象站代表了气象监测领域的科技前沿与应用尖端,其集成了多种传感器和先进技术,能够实现对气象要素的全面监测和高效数据采集。 这些先进的自动气象站
    的头像 发表于 05-16 17:16 399次阅读

    微型气象站的性能表现如何?

    微型气象站是一种小型化、轻便化的气象监测设备,通常用于户外环境的气象监测和数据采集。其性能表现主要包括准确性、稳定性、灵敏度和易用性等方面。 首先,微型气象站的准确性是评价其性能
    的头像 发表于 05-10 16:22 381次阅读

    农业小型自动气象站应用

    小型自动气象站作为现代农业的重要组成部分,其应用价值不可忽视。在农业生产中,气象条件是影响作物生长和产量的重要因素之一。因此,小型自动气象站通过提供准确、及时的气象数据,为农业生产提供
    的头像 发表于 04-24 16:42 415次阅读

    罐区防爆气象站:科技保障,安全生产

    JD-FBCQ罐区防爆气象站是指在石油、化工等工业罐区内设置的一种气象监测设备,旨在监测和分析当地气象变化,提供关键气象信息,以保障罐区安全生产。科技保障在这里主要体现在提供高精度、实
    的头像 发表于 03-19 16:40 581次阅读

    小型手持气象站:它是否能够提供准确的天气预报?

    小型手持气象站是一种方便携带、操作简便的气象监测设备,旨在为用户提供实时、准确的气象信息,适用于户外探险、登山、露营等活动场合。以下是该设备的主要特点和功能: 首先,小型
    的头像 发表于 03-18 10:41 333次阅读

    什么是科研用的小型气象站

      JD-CQX7科研用的小型气象站是一种专门设计用于科学研究领域的气象监测设备,其主要特点是小巧轻便、灵活易用,并具有高精度的测量性能。这种气象站通常包括多个传感器,能够测量和记录气温、湿度、风速、风向、气压、降水量等多种
    的头像 发表于 03-15 15:26 365次阅读

    农业气象站:助力现代农业发展

    农业气象站:助力现代农业发展
    的头像 发表于 01-31 11:28 394次阅读

    便携式气象站——随时监测、便于携带

    便携式气象站是一款自动气象站观测设备。 便携式气象站地可进行采集环境内数据。集成度高,可快速安装,便于移动监测。 便携式气象站搭配手持式速测
    的头像 发表于 12-18 14:29 472次阅读