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

Raspberry Pi 2 气象站

我们的黑客空间 (Bloominglabs) 最近从一位慷慨的捐助者那里收到了一个 ADS-WS1 气象站。此外,我们被 Instructables 选中参加 Raspberry Pi 2 黑客马拉松,因此我们有一些 RPi2 可供黑客使用。对于我的项目,我决定使用 RPi2 将我们的气象站上线。

我们的站可以测量风向、风速、雨量、温度和湿度。该单元可以多种方式输出数据,包括串行。我需要一种方法来读取数据并将其从电线杆上移到我们的网络上。树莓派 2 将通过 PoE 连接到桅杆上的防水外壳。

第一步:零件清单

1) ADS-WS1 气象站(任何支持串行数据输出的气象站都可以工作)
2) Raspberry Pi(任何版本都可以,我们使用的是版本 2)
3) 串口转 USB 适配器
4) 带有至少一个 DB9 母头外壳的串行电缆
5) 以太网 - 足以连接到您的室外气象站
6) 5V供电,1-2A
7) 室外机柜

可选但推荐:
8) 以太网浪涌抑制器
9) 以太网供电注入适配器

首先要获得一个气象站。我使用了 Argent Data 的 ADS-WS1 站,但这不是必需的。然而,这个单元有很好的文档记录,并且还有一个集成的 TNC 用于通过 APRS 广播天气数据(如果你把它连接到业余无线电)。但是,这不是我正在做的事情所必需的,我只需要一个串行端口输出来读取数据。功耗仅为 50mA,因此它可以由 RPi 供电或从电源中分离到 RPi。
http://wiki.argentdata.com/index.php?title=ADS-WS1...

第 2 步:在 Rasperry Pi 2 上设置操作系统

您可以使用任何操作系统,但是我在 8GB SD 卡上使用了 Raspbian 7.1。按照您所使用的操作系统的说明进行操作:

https://www.raspberrypi.org/documentation/installa...

准备好 SD 卡后,将其安装在 RPi2 中并打开电源。拥有本地控制台(支持 HDMI 的显示器和 USB 键盘)会有所帮助。 Raspbian 应该默认使用 DHCP,如果你有路由器,就可以连接到你的网络。然而,我发现这是一次偶然的机会。

本文档的其余部分假设您对 Linux 有一些基本的了解,如果您在此处设置 RPi2 时遇到问题,Raspberry Pi 文档非常有用:

https://www.raspberrypi.org/documentation/

此步骤的最后一件事是插入 USB 转串口适配器。假设它是标准的 FTDI 或其他常见的 Serial-to-USB 设备,Raspbian 会自动配置它。插入后,您应该会看到一个新的 /dev/ttyUSBx 设备出现。

[电子邮件保护] ~ $ ls /dev/ttyUSB*/dev/ttyUSB0

假设它是唯一插入的 USB 到串行设备,它将是 /dev/ttyUSB0。 “lsusb”命令将显示您的所有 USB 设备,如果设备显示不正确,这可以帮助您识别设备:

[电子邮件保护] ~ $ lsusb
总线 001 设备 002:ID 0424:9514 Standard Microsystems Corp. 总线 001 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根 hubBus 001 设备 003:ID 0424:标准微系统:EC Corp. Bus 001 Device 005:ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

我更喜欢设置一个静态 IP,因为当 RPi2 在天空中的一根杆子上时,担心出错的事情就少了。编辑 /etc/network/interfaces 并更改这一行:

iface eth0 inet dhcp

到这一行:

iface eth0 inet 静态

并添加这些行。将 IP 地址和网关替换为适合您网络的值:

地址 192.168.x.xnetmask 255.255.255.0gateway 192.168.x.x

现在安装我们需要的软件,用于网络服务器的 Apache2 和一些其他实用程序。 minicom 是验证串口通信是否正常的好工具,wget 是下载下一节中的weather.sh 脚本。

apt-get install apache2apt-get install wgetapt-get install minicom

为了将来的测试目的,我建议下载此脚本:

wget -O weather.sh "http://server1.nuge.com/~weather/software/weather-...

如果由于某种原因上述链接失败,您可以在此处找到最新版本的 weather.sh 脚本:

http://server1.nuge.com/~weather/

最后但并非最不重要的是,您可能需要编辑您的 /etc/group 文件并将帐户“pi”或您将用于测试的任何帐户添加到“拨出”组。这将为帐户提供适当的权限以读取和写入串行设备(/dev/ttyUSBx)。

第 3 步:安装和配置weewx,配置服务在开机时启动

Weewx 是一个程序,它从多个气象站读取串行数据,并提供用于绘制数据的 Web 界面。

apt-get installweewx

现在您需要配置它。编辑 /etc/weewx/weewx.conf 并调整有意义的变量。配置文件是自我记录的,因此很容易自定义。

# $Id:weewx.conf 2901 2015-02-05 21:15:03Z tkeffer $## WEEWX CONFIGURATION FILE## 版权所有 (c) 2009-2014 Tom Keffer # 查看文件 LICENSE.txt 以获得您的全部权利.############################################## #############################这部分是一般配置信息#设置为1以获得额外的调试信息,否则将其注释掉或设置为零.debug =0#本站weewx数据文件层级的根目录。WEEWX_ROOT =/#超时socket(FTP,HTTP)连接前等待多长时间:socket_timeout =20#不要修改这个- setup.py 在安装和更新时使用它。version =3.1.0############################### ##########################################[Station] # 这个部分是关于您的车站的信息 # 车站位置的描述。 location ="Bloominglabs - Bloomington, Indiana" # 以十进制度数表示的纬度和经度...

最后,配置 apache2 和 weewx 以在启动时启动:

update-rc.d apache2 默认为 99 2update-rc.d weewx 默认为 99 2

现在这些服务会在每次 RPi2 开机时自动出现。这应该是您 RPi2 所需的一切。

第四步:准备串口线和电源线

您只需要 3 根电线和 2 根电源线即可连接控制器。在我的照片中,顶部 5 个旋入式端子中有电线,这些电线用于将 TNC/APRS 数据发送到业余无线电,本教程不需要。

因此,首先您需要将串行电缆连接到天气控制器。将电缆连接到串行转 USB 适配器。现在切断串行电缆的剩余一端,确保让自己有足够的松弛度,以便根据需要布置电缆,并将电线上的外护套剥去至少 2 英寸。单根电线只需要剥去 1/4 英寸左右。您将需要使用万用表来绘制电缆的针脚并找到与 DB9 外壳内的针脚的针脚 2、3 和 5 相匹配的电线。通常,如果您仔细观察,引脚编号会列在引脚旁边。

引脚 2 的导线连接到控制器上的 TXD1。
引脚 3 的导线连接到控制器上的 RXD1。
引脚 5 的导线连接到控制器上的地。

完成所有接线后,您需要为控制器供电。 9V 电池或 5V 或 12V 电源可用于测试。将正极连接到“DC in”,将地线连接到控制器上较低的 GND 输入端。

我为此安装使用了一对以太网供电 (PoE) 适配器。我为我的 RPi2 和天气控制器供电 5V,我为远端制作了一个适配器以在它们之间分配电源。由于这将在元件中,我使用收缩管使连接整洁且更耐候。尽管这一切都在防风雨的盒子里,但如果发生泄漏,添加额外的保护层也无妨。

最后但并非最不重要的是,RPi2 的 5V 电源可以为两个设备供电。事实上,您可以将 microUSB 连接器切断并在 PoE 适配器的远端使用。

第 5 步:验证您可以从气象站读取数据

现在您应该能够启动 RPi2 和控制器。一旦它们都通电,使用 minicom 来验证通信是否正常。我们必须在 ADS-WS1 控制器中刷新固件才能正常工作。控制器上有一个交互式串行接口,可能需要进行配置。 Argent 为控制器维护了一个 wiki,其中包括您可以发送到单元的命令:

http://wiki.argentdata.com/index.php?title=ADS-WS1…

一旦控制器发送常规数据,尝试使用weather.sh 脚本。这应该确认您正在获取智能数据。

第 6 步:准备户外使用的装备

现在您需要将所有东西放入某种类型的户外容器容器中。从技术上讲,您应该构建一个斯蒂芬森屏幕以确保正确的室外温度读数。温度和湿度传感器位于天气控制器箱内(有一个读数的开口)。

http://en.wikipedia.org/wiki/Stevenson_screen

不过,我现在使用的是 PVC NEMA 4" 防水外壳。缺点是我们不会获得湿度读数,白天的温度读数可能会增加 10-15 华氏度。我们计划在未来建造一个斯蒂芬森屏幕以获得准确的读数。

欲知更多详情:Raspberry Pi 2 气象站


制造工艺

  1. 基于树莓派的气象站
  2. Raspberry Pi 气象站
  3. 使用树莓派远程监测天气
  4. 树莓派的 DHT Tiny Breakout
  5. 与您的气象站一起加入 IOT – CWOP
  6. Raspberry Pi Universal Remote
  7. 一片树莓派
  8. Cycle Chaser
  9. Raspberry Pi Thief Detector
  10. Raspberry Pi 温度传感器
  11. Weather Station V 2.0
  12. $10 便携式 Arduino 气象站 (AWS)