ソフトウェアを備えた完全なDIY Raspberry Piウェザーステーション

2月下旬に戻って、この投稿をRaspberry Piサイトで見ました。

//www.raspberrypi.org/school-weather-station -...

彼らは、学校向けのRaspberry Piウェザーステーションを作成しました。 欲しかった! しかし、その時点では(そして、これを書いている時点ではまだ信じています)、それらは公開されていません(テスターの選択グループに参加する必要があります)。 まあ、私は望んでいました、そして私は既存のサードパーティシステムのために何百ドルも払う気がしませんでした。

だから、優れた指導可能なユーザーのように、私は自分で作ることにしました!!!

私は少し調査を行って、私がベースにすることができるいくつかの良い商用システムを見つけました。 センサーまたはRaspberry PIの概念のいくつかを支援するためのいくつかの優れたInstructableを見つけました。 私もこのサイトを見つけました、それは有料の汚れでした、彼らは既存のMaplinシステムを引き裂かなければなりませんでした:

//www.philpot.me/weatherinsider.html

約1か月早送りすると、基本的な作業システムができました。 これは、Raspberry Piハードウェア、カメラ、および各種のアナログセンサーとデジタルセンサーのみを備えた完全なRaspberry Pi Weatherシステムであり、測定を行います。 既製の風速計や雨量計を購入する必要はありません。 機能は次のとおりです。

  • 情報をRRDおよびCSVに記録するため、操作したり、他の形式にエクスポート/インポートしたりできます。
  • Weather Underground APIを使用して、過去の高低、月の満ち欠け、日の出/日の入りなどのクールな情報を取得します。
  • Raspberry Piカメラを使用して、1分間に1回写真を撮ります(その後、それらを使用してタイムラプスを作成できます)。
  • 現在の状態と過去(過去1時間、1日、7日、月、年)のデータを表示するWebページがあります。 Webサイトのテーマは時刻によって変わります(4つのオプション:日の出、日没、昼と夜)。

情報を記録および表示するためのソフトウェアはすべてGithubにあり、バグ追跡や機能要求も行っています。

//github.com/kmkingsbury/raspberrypi-weather ...

このプロジェクトは私にとって素晴らしい学習経験でした。特にGPIOを使用してRaspberry Piの機能に飛び込むことができました。また、学習の難点もいくつかありました。 読者の皆さんが私の試練や苦難から学べることを願っています。

ステップ1:材料

エレクトロニクス:

  • 9個のリードスイッチ(風向に8個、雨量計に1個、ホールセンサーの代わりに風速にオプションで1個)、これらを使用しました://amzn.to/2RExNkT
  • 1ホールセンサー(風速計、風速計と呼ばれる)-//amzn.to/38tIQTK
  • 温度(//amzn.to/2RIHf6H)
  • 湿度(多くの湿度センサーには温度センサーが付属しています)、DHT11を使用しました://amzn.to/2PapjQU
  • 圧力(BMPにも温度センサーが付属)、BMP180、// www.adafruit.com/product/1603を使用しました。この製品は現在製造中止になっていますが、BMP280(// amznと同等のものがあります。 to / 2E8nmhi)
  • フォトレジスター(//amzn.to/2seQFwd)
  • GPSチップまたはUSB GPS(//amzn.to/36tZZv3)。
  • 4つの強力な磁石(風速計に2つ、方向に1つ、雨量計に1つ)、私は希土類磁石を使用しました(強く推奨)(//amzn.to/2LHBoKZ)。
  • さまざまな抵抗器のほんの一握り、私はこのパックを持っています。これは時間の経過とともに非常に便利であることが証明されています://www.sparkfun.com/products/10969
  • MCP3008-Raspberry Piのアナログ入力をデジタル入力に変換する-//amzn.to/38rtLCa

ハードウェア

  • Raspberry Pi-私はもともとワイヤレスアダプターで2を使用していましたが、現在では電源アダプター付きの3 B +キットも入手しています。 (//amzn.to/2P76Mop)
  • Piカメラ//amzn.to/2LGDFGz
  • 堅牢な5V電源アダプター(これは非常に厄介であることが判明し、最終的にAdafruitを手に入れました。そうしないと、カメラがあまりにも多くのジュースを引き出して、Piをハング/ハングさせる可能性があります://www.adafruit.com/products/501 )

材料:

  • 2個のスラストベアリング(またはスケートボードまたはローラースケートベアリングも機能します)、私はAmazonでこれらを手に入れました://amzn.to/2siMwra
  • 2つの防水エンクロージャ(地元の大きな箱屋の電気エンクロージャを使用しました)、大した問題ではなく、十分なスペースがあり、すべてを保護する適切なサイズのエンクロージャを見つける必要があります)。
  • 一部のPVCパイプとエンドキャップ(さまざまなサイズ)。
  • PVCマウントブラケット
  • 薄いプレキシガラスのカップルシート(派手なものは何もありません)。
  • プラスチック製スタンドオフ
  • ミニねじ(#4ボルトとナットを使用)。
  • 2プラスチック製のクリスマスツリーの飾り-風速計に使用され、地元のホビーロビーで手に入れました。
  • 小さなダボ
  • 合板の小片。

ツール:

  • ドレメル
  • グルーガン
  • はんだごて
  • マルチメータ
  • ドリル

ステップ2:メインエンクロージャー-Pi、GPS、カメラ、ライト

メインエンクロージャーには、PI、カメラ、GPS、光センサーが収納されています。 それはすべての重要なコンポーネントを収容し、測定はリモートエンクロージャから行われ、その1つは要素に露出/オープンするように設計されているため、防水設計になっています。

手順:

エンクロージャーを選択し、電気接続箱を使用しました。さまざまなプロジェクトボックスと防水ケースも同様に機能します。 キーポイントは、すべてを保持するのに十分なスペースがあることです。

私のエンクロージャには以下が含まれます。

  • ラズベリーパイ(スタンドオフ)-WIFIチップが必要です。Cat5eを裏庭に走らせたくない!
  • カメラ(スタンドオフにも)
  • USB経由で接続されたGPSチップ(sparkfun FTDIケーブルを使用://www.sparkfun.com/products/9718)-GPSは緯度と経度を提供しますが、これは素晴らしいですが、より重要なことは、GPSから正確な時間を取得できることです!
  • メインエンクロージャを他のセンサーを収容する他のエンクロージャに接続するための2つのイーサネット/猫5ジャック。 これは2つのボックス間をケーブルで移動する便利な方法であり、約12本のワイヤがあり、2つのcat5は16の可能な接続を提供するので、物事を拡張/変更する余地があります。

エンクロージャーの前面には、カメラから見える窓があります。 このウィンドウのケースはカメラを保護しますが、カメラの赤いLED(写真を撮っているとき)がプレキシガラスで反射して写真に現れる問題がありました。 私はこれを軽減するために黒いテープを使用し、それを試してブロックします(およびPiおよびGPSからの他のLED)が、まだ100%ではありません。

ステップ3:温度、湿度、圧力の「リモートエンクロージャ」

ここに、温度、湿度、圧力センサー、および雨量計、風向、風速センサーの「フックアップ」を保管しました。

すべて非常に簡単で、ここのピンはイーサネットケーブルを介してRaspberry Piの必要なピンに接続します。

可能な限りデジタルセンサーを使用しようとしましたが、MCP 3008に任意のアナログを追加すると、最大8個のアナログが必要になりますが、これは私のニーズには十分ですが、改善/拡張する余地があります。

このエンクロージャーは大気に開放されています(正確な温度、湿度、および圧力が必要です)。 底の穴が飛び出しているので、回路の一部にシリコンコンフォーマルコーティングスプレーをスプレーしました(オンラインまたはFry's Electronicsのような場所で入手できます)。 湿気から金属を保護することを願っていますが、一部のセンサーでは使用しないように注意する必要があります。

エンクロージャーの上部には、風速センサーが収まります。 それはトスアップでした、風速または風向を上に置くことができました、私は1つが他のものよりも大きな利点を見ませんでした。 全体として、建物、フェンス、障害物が測定に干渉しない場所で、両方のセンサー(風の方向と速度)を十分に高くする必要があります。

ステップ4:雨量計

私は主にこの指示に従って実際のゲージを作成しました:

//www.instructables.com/id/Arduino-Weather-St ...

これをプレキシガラスで作ったので、何が起こっているのかを見ることができ、それはクールだと思いました。 全体的にプレキシガラスは問題なく機能しましたが、グルーガン、ゴム製シーラント、および全体的な切断と穴あけと組み合わされて、保護フィルムがあってもその原始のままに見えません。

キーポイント:

  • センサーは、RaspberryPiコードでボタンを押すように処理される単純なリードスイッチと磁石です。時間の経過とともにバケットを単純にカウントし、後で「雨のインチ」に変換します。
  • 転倒するのに十分な水を保持するのに十分な大きさにしてください。 私の最初のパスでは、各トレイが十分に大きくないようにしました。
  • また、残留水が測定に多少の誤差を加える可能性があることもわかりました。 つまり、完全に乾くと、Xの滴が側面を埋めて傾け、それが濡れたら、Yの滴(X未満)を埋めて傾けます。 膨大な量ではありませんが、キャリブレーションを行い、「1負荷がどれだけ等しいか」という良好な測定値を取得しようとすると影響を受けます。
  • 片側が非常に重い場合、下側の端にグルーガンの接着剤を追加することでカンニングすることができますが、できるだけ近くでバランスが必要です。
  • 写真にあるように、設置前にスポンジと木材ホルダーを使用してテスト用の小さな試験装置をセットアップし、バランスを適切に調整してください。

ステップ5:風向

これはシンプルな天候ベーンでした。 私はMaplinシステムから電子機器を開発しました。

//www.philpot.me/weatherinsider.html

キーポイント:

  • これはアナログセンサーです。 さまざまな抵抗と組み合わされた8つのリードスイッチは、出力をチャンクに分割するため、値によってセンサーがどの座標にあるかを識別できます。 (コンセプトは、このインストラクションに説明されています://www.instructables.com/id/Accessing-5-button ...
  • 風見鶏の部品をねじ込んだ後、「この方向が北を向く」ように調整する必要があります。
  • 私は、自分で値の全範囲をカバーする抵抗器を簡単に切り替えられるように、木材でテストリグを作成しました。これは非常に役に立ちました。
  • 私はスラストベアリングを使用しましたが、それはうまくいきました。通常のスケートボードやローラースケートのベアリングも同じようにうまくいったはずです。

ステップ6:風速

この1つは、再びInstructableコミュニティに目を向け、このInstructableを見つけて従いました。

//www.instructables.com/id/Data-Logging-Anemo ...

キーポイント:

  • ホールセンサーを使用するか、リードセンサーに切り替えることもできます。 ホールセンサーはアナログセンサーに近いため、ボタンを押すなどデジタルで使用する場合は、読み取り/電圧が十分ではなく、実際のボタンを押すように機能するようにする必要があります。 。
  • カップのサイズが重要であるため、スティックの長さも重要です! もともと私はピンポンボールを使用し、それらはあまりにも小さかった。 私もそれらを長い棒の上に置いたが、どちらも機能しなかった。 私は非常にイライラし、その指示に出くわしたので、Ptorelliは説明を上手くこなし、元のデザインがうまくいかないときに助けてくれました。

ステップ7:ソフトウェア

ソフトウェアは、センサーからのデータを記録するためにPythonで書かれています。 センサーやGPSから情報を取得するために、Adafruitなどのサードパーティ製Gitライブラリを使用しました。 API情報の一部を取得するいくつかのcronジョブもあります。 ほとんどはdocs / install_notes.txtのGitドキュメントで説明/概要が説明されています

WebソフトウェアはPHPでWebページに表示し、設定ファイルにYAMLを使用し、もちろんRRDツールを使用してデータを保存およびグラフ化します。

Weather Underground APIを使用して、センサーが取得できない興味深いデータの一部を取得します。HiとLowの記録、月の満ち欠け、日没と日の出の時間、APIで利用可能なTidesもあります。しかし、私はテキサス州オースティンに住んでいます。

これらはすべてGithubで利用でき、アクティブに維持され、現在使用されています。独自のシステムをさらに改良および調整するため、機能要求やバグレポートも送信できます。

ソフトウェアは、時刻に応じてテーマを変更します。4つの段階があります。 現在の時刻が日の出または日没から+または-2時間の場合、日の出と日没のテーマをそれぞれ取得します(現在は背景が異なるだけで、今後は異なるフォント/境界線の色を使用する予定です)。 同様に、これらの範囲外では、昼または夜のテーマが提供されます。

読んでくれてありがとう。InstagramやYouTubeチャンネルをチェックするよりも、私のプロジェクトの写真やビデオをもっと見たいなら。

関連記事