Raspberry Pi 2とADS-WS1で屋外気象観測ステーションを構築
Bloominglabsでは、シリアル出力対応のADS-WS1気象観測ステーションを最近導入し、Raspberry Pi 2を用いてデータをオンライン化するプロジェクトを開始しました。このステーションは風向、風速、降雨量、温度、湿度を取得します。PiはPoEで給電され、マスト上の防水エンクロージャに収められ、シリアルストリームを読み取り、ネットワーク経由でデータを公開します。
ステップ1: パーツリスト
- 1) ADS-WS1気象観測ステーション(シリアル出力対応なら他機種も可)
- 2) Raspberry Pi(任意モデル;Pi 2を使用)
- 3) シリアル-USBアダプタ(例:FTDI)
- 4) メスDB9コネクタ付き以上のシリアルケーブル
- 5) ステーションまで届く長さのEthernetケーブル
- 6) 5V電源、1–2A
- 7) 防水エンクロージャ
- 8) (オプション) Ethernetサージサプレッサ
- 9) (オプション) Power-over-Ethernet (PoE) インジェクタ/アダプタ
ADS-WS1の消費電流はわずか50mAなので、Piから直接給電するか、同一電源から供給できます。追加ドキュメントはArgent Dataウィキを参照。
ステップ2: Raspberry Pi 2にOSをインストール
Raspberry Pi互換OSなら何でも動作;ここでは8GB SDカードにRaspbian 7.1を使用。公式インストールガイドに従いイメージ書き込み、カード挿入、電源投入。初期設定用にローカルHDMIディスプレイとUSBキーボードがあると便利。Raspbianは通常DHCPでIP取得するが、ポールマウントデバイスの場合は固定IPを推奨。
起動後、USB-シリアルアダプタを接続。Raspbianは自動的に/dev/ttyUSB0として検出。ls /dev/ttyUSB*またはlsusbで確認:
[email protected] ~ $ ls /dev/ttyUSB* /dev/ttyUSB0 [email protected] ~ $ lsusb Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
固定IP設定は/etc/network/interfacesを編集:
iface eth0 inet static address 192.168.x.x netmask 255.255.255.0 gateway 192.168.x.x
必要パッケージをインストール:
sudo apt-get install apache2 wget minicom weewx
テスト用ヘルパースクリプトweather.shをダウンロード:
wget -O weather.sh "https://server1.nuge.com/~weather/software/weather-…"
URLが失敗する場合はこちらから最新版を取得。Piユーザーをdialoutグループに追加してシリアルポートアクセスを許可:sudo usermod -a -G dialout pi。
ステップ3: weewxのインストールと設定
Weewxはシリアルポートをポーリングし、各種気象ステーションのデータをパース、グラフ表示用Webインターフェースを提供。/etc/weewx/weewx.confを編集し、お使いのステーション詳細を反映。ファイルは自己文書化されているため、location、WEEWX_ROOTなど必要な設定を変更。
起動時自動開始を有効化:
sudo update-rc.d apache2 defaults 99 2 sudo update-rc.d weewx defaults 99 2
これでPi起動時にApacheとweewxが自動起動します。
ステップ4: シリアルケーブルと電源の配線
データ線3本と電源線2本のみ必要。DB9ピンの2(TX)、3(RX)、5(GND)をステーションのシリアルヘッダに接続。外皮と内部ワイヤを1/4インチ剥き、マルチメータでピンアウト確認。
ステーションには5V電源を供給 – Piの5V出力または別途5V/12V電源。プラスを「DC in」端子、グランドを下側GND入力に接続。
屋外設置ではPoEアダプタを採用:Piと気象ステーションが単一の5Vラインを共有。接続部をシュリンクチューブで保護し、耐候性NEMA 4エンクロージャ内に収納。Piから5V供給する場合はmicroUSBコネクタを外し、PoEスプリッタ経由で電源供給可能。
ステップ5: シリアルデータ受信の確認
Piとステーションに電源投入。minicomを起動しシリアル通信を確認。ADS-WS1ファームウェアの書き換えが必要な場合は公式コマンドガイド参照。ステーションが定期的にデータを出力したら、./weather.shを実行し正しいパースを確認。
ステップ6: 屋外使用の準備
電子機器を防水エンクロージャに収納。正確な温湿度測定のため、ステvenson screen(通気性のある日陰ボックス)の設置を検討 – センサーを直射日光から保護。当面はシンプルなPVC NEMA 4エンクロージャで代用可能だが、10–15°Fのバイアスが生じたり湿度測定が不能になったりする可能性あり。将来的にプロパーなStevenson screenを導入予定。
より詳細なガイダンスについては、Raspberry Pi 2 Weather Stationリファレンスを参照。
製造プロセス
- Raspberry Pi搭載DIYソーラー駆動気象ステーション
- Raspberry Piで気象観測ステーションを構築し、日次天気データをメール送信
- Raspberry Pi 3とPubNubでリモート気象監視
- Raspberry Pi向けコンパクトDHT温湿度ブレークアウト – ATtiny85 & DHT22/DHT11
- 気象観測ステーションをCWOPと統合:実践ガイド
- LIRCでプロフェッショナルなRaspberry Piユニバーサルリモコンを構築
- Raspberry PiでRFをDCに変換: エンベロープ検波器の構築とトラブルシューティング
- Cycle Chaser: Raspberry Piで自転車をナイトタイムライトショーに変身
- Raspberry Piベースの泥棒検知器を構築 - ステップバイステップガイド
- Raspberry Pi、MCP9808、InfluxDB、Grafanaで作る家庭温度モニター
- 高度気象ステーション v2.0:温度・気圧・湿度・高度のリアルタイム監視