亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

基于树莓派的气象站

这是一个简单的气象站项目。

最初它读取温度、压力和湿度。下一步是测量风向,然后测量风速。

该项目的基础是Raspberry PI A+,因为它的想法是由太阳能供电的气象站,所以选择了它的小消耗。

操作系统是 raspbian 发行版,有一些现成的 Python 库。

主程序是用Python编写的。

气象站每 2 分钟将所有数据上传到 www.wunderground.com。

第一步:硬件描述

为了完成项目,我们需要以下内容:

Raspberry Pi A+(可以使用任何型号)

温度/压力传感器 Bosch BMP180

温湿度传感器 HTU21D

无线适配器

SD卡

10W太阳能板

7.2Ah 12V 电池

通用12V太阳能控制器/充电器

5V稳压7805

需要钻头和沼泽

第 2 步:设置基础

我不会浪费时间解释如何在 Rpi 上安装 raspbian。我假设任何想构建这个项目的人都对这些事情足够熟练。

无论如何,发行版的链接是 http://www.raspberrypi.org/downloads/

由于我拥有一些 Rpi,我已经准备好可以通过无线连接滚动的 SD 映像,所以这只是将其重新写入新卡的问题。

如果您没有这样的“备份”,最好使用 B+ 或其他型号的以太网,并使用许多可用教程之一设置所有内容。

设置 Rpi 的一个很好的教程是 http://www.raspberrypi.org/help/quick-start-guide/

一个很好的无线是 http://www.raspberrypi.org/documentation/configuration/wireless/

如果一切顺利,您现在应该拥有一个可以无线上网的 Rpi。

您仍然需要准备好 Rpi 才能使用 I2C 协议。

一个好的是 https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c

第三步:设置其他软件

设置 Rpi 后,我们需要一些软件才能读取使用过的传感器。

我使用 Rpi “Headless” 和命令行完成所有操作

我在 BMP180 上使用了 Adafruit 库,只需按照链接安装即可

https://learn.adafruit.com/using-the-bmp085-with-raspberry-pi/using-the-adafruit-bmp085-python-library

我们还需要 Pigpio 库来读取湿度传感器。您可以从

下载

http://abyz.co.uk/rpi/pigpio/download.html 并按照安装说明

之后,您必须确保每次重新启动 Rpi 时,都会加载 Pigpio。我通过将以下行添加到 /etc/rc.local

sudo pigpiod

就我而言,这已经足够了,但这取决于您安装 pigpio 的位置。如果你遇到问题,只要把文件的完整路径,你应该没问题。

所提供的教程非常简单,但如果您需要任何帮助,我在这里 😀

第 4 步:设置传感器

我从 Ebay 获得了两个传感器,因为准备小板更容易(也更便宜),并且已经焊接好传感器以自己完成。如果您在 Ebay 上搜索 BMP180 和 HTU21D,您肯定会找到它们。

这些是非常易于通信的 I2C 传感器。 I2C 协议允许您并行连接多个传感器并与每个传感器通信,因为每个传感器都有一个唯一的地址。

我用一些技巧将两者焊接在一起,匹配图片上看到的所有信号。

传感器需要来自 Rpi 的 +3.3V、GND、SDA 和 SCL 信号。

您可以使用任何您喜欢的接线,但 4 线电缆(电话)可能是个好主意。

第五步:主程序

主程序是temp-monitor.py

你应该已经安装了 python,如果没有,只需按照 http://raspberry.io/wiki/how-to-get-python-on-your-raspberrypi/

程序的第一部分显示了所需的库。

import Adafruit_BMP.BMP085 as BMP085
import smbus
import os
import sys
import getopt
import sqlite3
import math
import pigpio
导入时间

按照程序,我们有 2 个函数可以读取湿度。 Read_temperature 是一个函数,它会在计算相对湿度时读取 HUT21D 的温度以进行补偿。下面的函数read_humity是必须的。

这些函数内部有一些计算,但这都是根据传感器数据表进行的。不重要的东西,但如果你愿意,你可以随时检查它们

BMP180 http://www.vssec.vic.edu.au/media/41229/BMP180-datasheet.pdf

HTU21D http://www.meas-spec.com/downloads/HTU21D.pdf

cmd 变量负责使用 curl 将数据发送到 www.wundergroud.com。这个网站提供了一些非常好的统计数据和图表。您需要注册(免费)帐户才能上传数据。

之后,您将拥有一个 ID 和一个密码,您可以在 cmd 变量中更改这些 ID 和密码,如图所示

cmd =“curl “+”'http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=&PASSWORD=&dateutc=now&tempf=”+str((temp*1.8)+32)+”&hydrity=”+ str(round(湿度,2))+”&baromin=”+str((压力/100)*0.0295299)+”&action=updateraw”+”'”

然后您必须再次更改 /etc/rc.local 并插入一行以便在 Rpi 重新启动时启动程序:

须藤 python /usr/lib/cgi-bin/temp-monitor.py &

&符号很重要,因为它会将您的程序放入内存并释放要使用的命令行。

更新

对于好奇的人,temp-monitor-online.py 是我正在使用的当前程序,其中包含温度、压力、湿度、露点、风速和风向以及紫外线和日照的读数。

第 6 步:搭建太阳能电池板

因此,如果您一切都解决了并且工作良好,那么是时候将您的气象站放在外面了。

我选择使用太阳能供电系统为我的 Rpi 供电,使用在 Ebay 上购买的 3 个 3.5W 模块。

模块输出6V,所以3个模块串联就是18V,这是12V太阳能系统的标准。

你可以像我一样安排它们,你最终会得到一个能够运行系统的漂亮的小面板。

可能您认为 10W 和 7,2Ah 的电池对于 Rpi 来说有点贵,但由于我在爱尔兰,我预计可以在没有阳光的情况下运行几天,所以......

更多详情:基于树莓派的气象站


制造工艺

  1. 基于树莓派的气象站
  2. Raspberry Pi 2 气象站
  3. Raspberry Pi 气象站
  4. 使用树莓派远程监测天气
  5. 树莓派 2(德克萨斯州埃尔帕索)上的 Neon A Shop Open/Closed Makerspace 标志
  6. 与您的气象站一起加入 IOT – CWOP
  7. Raspberry Pi Ball 跟踪
  8. 基于 Raspberry PI 的 IoT 项目连接 DHT11 传感器
  9. Weather Station V 2.0
  10. 鸟舍中的带摄像头的树莓
  11. 基于树莓派的避墙机器人——FabLab NerveCentre
  12. $10 便携式 Arduino 气象站 (AWS)