自动气象站可以实时探测气温、湿度、气压、风速、风向、降雨量、紫外线辐射等气象信息,通过不同的传感器采集地面气象数据,数据采集完成后通过网络统一传输到气象服务器上,再经气象采集软件处理各项数据,最后通过专业气象软件传出。

网上搜索到之前大部分的设计都是基于DSP的方案,但是IoT时代,我们需要速成的设计,网上现成的传感器和树莓派教程能帮助我们迅速的设计出一个小型气象站。

正好我在网上看到DIY hacking(https://diyhacking.com/how-to-build-a-raspberry-pi-weather-station/)上Arvind Sanjeev做了个类似项目。这个完整的天气系统,只用树莓派的基础硬件,摄像头,和一些我们使用的杂七杂八的模拟和数字传感器。

风速计和雨量计也都是自己做的。

20171129-weatherstation-1

产品特点:

• 在RRD和CSV上记录信息,方便被导出/导入到其它格式

• 使用天气地下API来得到历史高点和低点,月相和日出/日落等信息

• 使用树莓派相机拍摄一分钟一次的图片(可以用它来制作延时录像)

• 有显示当前天气状况和历史天气状况的数据网页(最后一小时,一天,七天,月,年)

• 网站主题随不同时间而改变(四个选项:日出,日落,白天和夜间)。

所有的进行记录和显示信息的软件是在GitHub上,而且是开源的。

这个项目是很好的学习经验,能帮助真正深入理解树莓派的能力,尤其是GPIO。

20171129-weatherstation-2

所需的材料

电子

• 9个簧片开关(8个用于风向,1个用于雨计,1个可选用为风速来代替霍尔传感器

• 1个霍尔传感器 (用于风速,称为风速计)

• 温度传感器

• 湿度传感器(许多湿度传感器集成了温度传感器),我用的DHT11

• 压力传感器(许多也集成了温度传感器),我用的BMP180

• 光敏电阻

• GPS芯片或USB GPS

• 4个强磁体(2个用于风速计,1个用于方向,1个用于雨量计)

• 各类电阻器

MCP3008用来把模拟转换为数字输入

硬件

• 树莓派,我使用的B +

• 无线适配器

• 树莓派摄像头

• 5V电源适配器

物料

• 2个推力轴承 (或滑板或滑旱冰的轴承也行)

• 2个防水罩——我用的是超市的电器罩,找一个大小合适,有足够的空间且能保护设备的就可以。

• 一些PVC管和盖子(各种尺寸)

• PVC安装支架

• 一些薄有机玻璃片(不用太花哨)

• 塑料支架

• 塑料螺钉

• 2个塑料圣诞树装饰品——用于风速计。

• 小木钉

• 小胶合板

工具

• 达美电磨

• 胶枪

• 烙铁

• 万用表

• 钻孔机

机箱

一个能装进树莓派、摄像头、GPS和光传感器的盒子。需要选防水的,因为它装进了所有关键元件,测量环境风吹雨打。

机箱包含:

• 树莓派(螺母上)——需要Wi-Fi芯片。

• 摄像头(螺母上)

• GPS芯片通过USB连接(我用的FTDI电缆 )。GPS能提供纬度和经度,更重要的是,我可以从GPS获取精确的时间!

• 2个以太网/CAT5个插口,连接到主外壳与其它传感器。两个容器之间这样链接很方便。我用了大致12跟线缆,两个CAT5提供16个可能的连接,所以有空间做扩展。

测温度、湿度、压力的机箱

20171129-weatherstation-3

这是我放置温度、湿度和压力传感器的板子,以及用于雨量计,风向和风速传感器挂钩。

这一切都非常简单。。

制作雨量器

我大多沿用这个教程进行实际测量仪。

我是用有机玻璃来做的。总的来说,有机玻璃效果不错,结合胶枪,橡胶密封材料,以及整体切割和钻孔就更棒了。

关键点:

• 该传感器是一个简单的簧片开关和磁体,树莓派上充当按钮。我简单地计算随着时间的推移桶里的水位,后来转换为“雨/英寸。”

• 让它大到足以容纳足够的水来翻转,但不用太大因为需要很多个。我的第一个制作失败了因为不够大,所以它会被填满,并开始在它倾斜之前开始排水。

20171129-weatherstation-4

风向

20171129-weatherstation-5

这很简单。

关键点:

• 这是一种模拟传感器。

• 拧在风向标的后面,您需要校准它,“这个方向就是指向北方。”

• 我做了一个木试验台,有所以我可以在全量程内轻松切换电阻器。

• 我使用的推力轴承工作得很好。

软件

该软件也是开源的,可以在同一个GitHub库拿到。

20171129-weatherstation-6

软件是用Python写的,记录来自传感器的数据。 我第三方的库,获得来自传感器和GPS信息。

看起来很不错吧?

20171129-weatherstation-7

(文中部分素材编译自How to Build a Raspberry Pi Weather Station