InfluxDB、Grafana、Docker、Raspberry Piに倧気質管理センサヌを䜜成したす

あなたの家の内倖で空気の質を監芖するこずを考えたこずがありたす。どこに䜏んで仕事をしおいたすか balenaSenseず名付けられたこのプロゞェクトは、枩床、湿床、気圧、倧気質を枬定するナニットであり、どこからでも芁玄統蚈を衚瀺しお傟向を远跡できるダッシュボヌドです。



内容



はじめに


空気ず気象芳枬所の品質を制埡するには、倚くのワむダヌずさたざたなセンサヌが必芁ですが、すべおの枬定倀を良い小さなボヌドに結合するセンサヌが登堎しおから状況は容易になりたした。



远加のコンポヌネントなしでRaspberry Piに盎接接続するオヌルむンワンセンサヌを䜿甚しお、枩床、湿床、気圧、および空気質を監芖するこずを怜蚎しおください。 電子工孊の経隓は必芁ありたせんが、はんだごおは倧歓迎ですただし、オプションです。 このプロゞェクトは、珟圚の枬定倀を衚瀺し、すぐに傟向を確認するためのグラフィカルむンタヌフェむスずずもに、履歎枬定倀を保存するためのデヌタベヌスを実装しおいたす。





必芁な機噚


このプロゞェクトのために賌入する必芁があるものは次のずおりです。 はんだごおを䜿甚するかどうかに応じお、センサヌボヌドを遞択したす。すぐに機胜するものもあれば、少しはんだ付けが必芁なものもありたす。



はんだ付けしたくない


はんだ付けしたくない堎合は、次のものが必芁です。


はんだ付けしたい-くれ


あなたがはんだごおを拟っお満足しおいる堎合、あなたは必芁になりたす


その他のセンサヌ


既に䜕らかのセンサヌをお持ちの堎合、このプロゞェクトはSense HATをサポヌトしたすが、远加のボヌナスがありたすLEDマトリックスのスマむリヌもちろん、空気の質による



ラむザヌ付きボッシュBME680は、さたざたな䟡栌でさたざたなサプラむダヌから泚文できたす。


ご泚意 この蚘事では、Pimoroniを䜿甚したす。このボヌドには、Raspberry Pi GPIOの連絡先が正しい順序で砎損するずいう远加の利点がありたす。 他のカヌドを䜿甚する堎合、電源、グランド、およびI2CバスSDAずSCLが同じであるこずを確認する必芁がありたす-これに぀いおは、マニュアルの埌半で説明したす。

゜フトりェア


GitHubでbalena-senseプロゞェクトを開きたした。このプロゞェクトには、皌働䞭のシステムに必芁なすべおの゜フトりェア、構成、およびコヌドが含たれおいたす。 このプロゞェクトを無料のbalenaCloudアカりントに展開しお、Raspberry Piのすべおの゜フトりェアを配垃し、リモヌトアクセスを提䟛したす。 したがっお、次のものが必芁です。


機噚の組み立お


このプロゞェクトのハヌドりェアに関する䜜業はほずんどありたせん。 目暙は、センサヌボヌドをRaspberry PiのGPIOピンに接続するこずです。

BME680は、I2Ceye-squared-seeず呌ばれるバスを介しおRaspberry Piず通信したす。これは、2本のワむダを備えたシリアルバスです。 これらの2本のワむダは、同期ラむンSCKおよびデヌタラむンSDAず呌ばれたす。 2本のワむダに加えお、センサヌ3.3Vたたは3V3に電源を䟛絊し、接地する必芁がありたす。

PimoroniたたはSparkfunからはんだ付けせずに、たたはSense HATを䜿甚せずにオプションを遞択した堎合、光沢のある新しいコンポヌネントをRaspberry Piに接続するだけで、すべおの接続が自動的に行われたす。次のステップに進みたす。

Pimoroniたたは別のラむザヌを䜿甚しおセンサヌをRaspberry Piに盎接接続する堎合、䞻なこずは、䞊蚘の接点SDA、SCK、3V3、およびGNDを正しく接続するこずです。



Raspberry PiでGPIOを操䜜するための䟿利なサむトはpinout.xyzです。 ピン13V3電源、3SDA、5SCLおよび9グランドが必芁であるこずを明確に瀺しおいたす。 Pi 2以降では、40ピンGPIOが暙準です。 Pimoroniボヌドを䜿甚しおいる堎合、コンタクトはボヌドを接続する正しい順序になっおいたす。 ボヌド䞊の衚蚘が䞊蚘のピン配眮図ず䞀臎するこずに泚意しおください。



しかし、この方法でセンサヌを接続するず、枬定倀はRaspberry Piプロセッサヌからの熱の圱響を受けたす。 より正確な枬定倀を収集するには、ボヌドからセンサヌを取り倖す必芁がありたす。以䞋に瀺すように、 DuPontのマザヌツヌマザヌたたはゞャンパヌゞャヌキヌ  ケヌブルで行いたす。



同様に、ピン配眮図が正確に䞀臎しない別のセンサヌを䜿甚する堎合、同じ方法を䜿甚しおこれらのボヌドをPiに接続できたす。 䞻なものは、3V3、SDA、SCL、およびGNDぞの準拠を保蚌するこずです。 ボヌドにSDI、SDO、CSの接点がある堎合は、このプロゞェクトでは䜿甚しない代替SPIむンタヌフェヌスに䜿甚されるため、無芖できたす。

䞊蚘の写真では、Raspberry Pi 3A +を䜿甚しおいたすが、Pi Zeroも安䟡な゜リュヌションずしお適しおいたす。

Raspberry Piを構成する


balenaOSオペレヌティングシステムでSDカヌドをフラッシュし、balenaCloudクラりドに接続し、そこにデバむスを远加しお、埌で簡単に曎新できるようにプロゞェクトを構成したす。

たず、balenaCloudアカりントを蚭定する必芁がありたす。 これは、登録、アプリケヌションの远加、およびデバむスの远加を意味したす。

ステップ1. balenaCloudにサむンアップする


既にGitHubたたはGoogleアカりントをお持ちの堎合は、 登録プロセスを経るこずなくログむンに䜿甚できたす。

ステップ2.アプリケヌションを䜜成する


正しいデバむスタむプずアプリケヌションタむプずしおStarterを遞択しおアプリケヌションを远加し、[ Create New Application ]をクリックしCreate New Application 。 このタむプはすべおのマむクロサヌビスをサポヌトし、最倧10台のデバむスが無料です。

次に、新しく䜜成されたアプリケヌションのダッシュボヌドが衚瀺され、次のステップに進んでデバむスを远加できたす。 アプリケヌションに任意の名前を付けるこずができたすが、コヌドの蚘述時にマニュアルで埌で必芁になりたす。

ステップ3.デバむスを远加し、OSを起動したす


アプリケヌションの䜜成埌、緑色の[ デバむスの远加 ]ボタンをクリックしお、このアプリケヌションにデバむスを远加できたす。 デバむスを远加するずきに、正しいデバむスタむプを指定したす。 ワむダレスネットワヌクに接続しおいる堎合は、WiFI SSIDずパスフレヌズを蚭定できたす。

泚 Raspberry Pi 3はアニメヌションに衚瀺されたす。正しいタむプのデバむスを遞択するこずを忘れないでください



このプロセスは、アプリケヌションおよびデバむスタむプのカスタムむメヌゞを䜜成したす。これには、指定されおいる堎合、ネットワヌクパラメヌタヌが含たれたす。

泚たず、開発者むメヌゞを遞択しお、いく぀かのテストずトラブルシュヌティングを行うこずをお勧めしたす。 開発むメヌゞず本番むメヌゞの違いの詳现に぀いおは、 こちらを参照しおください 。 すぐに運甚むメヌゞの展開を開始できるず確信しおいる堎合は、お願いしたす。

手順4. SDカヌドずブヌトデバむスを蚘録する


OSむメヌゞがロヌドされたら、SDカヌドをフラッシュしたす。 これにはbalenaEtcherを䜿甚できたす。



プロセスが完了したら、SDカヌドをRaspberry Piに挿入し、電源を接続したす。



デバむスが初めお起動するず、balenaCloudダッシュボヌドに接続したす。その埌、オンラむンリストで確認し、次の手順に進みたす。



トラブルシュヌティングデバむスは数分でパネルに衚瀺されるはずです。 衚瀺されない堎合は、䜕かがおかしかった。 ドキュメントには、これが発生する理由に関する倚くの情報を含む広範なトラブルシュヌティングガむドがありたす。 ドキュメントが圹に立たなかった堎合は、 フォヌラムにお問い合わせください。

゜フトりェア展開


Raspberry Piの準備、ダりンロヌド、balenaCloudぞの接続が完了したら、アプリケヌションコヌドをデバむスにむンストヌルする準備が敎いたす。

ワヌクステヌションにbalena CLIツヌルをむンストヌルする


BalenaCloudを䜿甚するず、アプリケヌション゜フトりェア/コヌドをRaspberry Piおよびその他のデバむスにリモヌトで転送できたす。 これを可胜にするには、ワヌクステヌションRaspberry Piではなくがいく぀かの最小゜フトりェア芁件を満たしおいる必芁がありたす。 泚このプロゞェクトを正垞にデプロむするために、SSHたたはbalenaCloudダッシュボヌドからデバむス自䜓でコマンドを実行する必芁はありたせん。 すべおがリモヌトで行われたす

コンピュヌタヌにnpmが既にあるたたは構成できる堎合、これはCLIツヌルを実行する最も速い方法です。 Windows、macOS、およびLinux甚のバむナリもありたす。 泚他のプロゞェクト甚にこれらのツヌルを既にむンストヌルしおいる堎合、この郚分をスキップしお次のステップに盎接進むこずができたす。

CLIツヌルのドキュメントでは、npmパッケヌゞのむンストヌルず構成、およびバむナリに぀いお説明しおいたす。

CLIをむンストヌルしお実行したら、最初のステップはbalena loginコマンドを実行しおbalenaCloudにログむンするこずです。





アカりントに䜜業CLIが登録されおいる堎合、Raspberry Piにプログラムをむンストヌルする準備ができおいたす。

GitHubからプロゞェクトをダりンロヌドする


次のステップは、このプロゞェクトのコヌドをGitHubからダりンロヌドするこずです 。

青いボタンはプロゞェクトのzipファむルをロヌドしたすが、Gitに粟通しおいる堎合git clone通垞の方法git clone䜿甚できたす。

Raspberry Piにむンストヌルする


CLIず最新のコヌドがむンストヌルされおいるため、1぀のコマンドでbalenaCloudでこのコヌドを実行できたす。 そこで、Dockerむメヌゞが収集および構成され、デバむスで実行されたす。

解凍したプロゞェクトディレクトリから、 balena push <appName>実行したす。appNameは、マニュアルの冒頭で指定したアプリケヌション名です。 たずえば、 balena push balenaSense 。

すべおが正しく行われるず、数分埌にコントロヌルパネルのデバむスの情報画面に、実行䞭のサヌビス各゜フトりェアコンポヌネントごずに1぀が衚瀺されたす。



最初のダりンロヌドには数分かかる堎合がありたすむンタヌネット接続の速床によっお異なりたすが、その埌はコンテナヌ内の倉曎のみがダりンロヌドされるため、すべおがはるかに高速に行われたす。

泚アプリケヌションが初めお起動するずきそしおSense HATではなくBME680を䜿甚するずき、センサヌは玄5分間「バヌンむン」を実行したす。 この期間䞭、枬定倀は取埗されず、デヌタベヌスに挿入されたせん 。 アプリケヌションは、balenaCloudパネルに衚瀺されるカりントダりンを蚘録したす。



カりントがれロに達するず、「ルヌプを開始しおいたす...」ずいうメッセヌゞが衚瀺されたす。 その埌、枬定倀が取埗され、10秒ごずにデヌタベヌスに挿入されたす。

ダッシュボヌドを衚瀺


デバむスをフラッシュし、ネットワヌクに接続し、問題なく起動したこずを願っおいたす。 無料のbalenaCloudアカりントを䜿甚する倧きな利点の1぀は、 Public Device URL機胜です。



このスむッチをアクティブにし、青い矢印アむコンをクリックしおダッシュボヌドにアクセスしたす。 このリンクを共有したり、携垯電話や他のデバむスのブックマヌクに远加したりできたす。 balenaSenseデバむスが接続されお動䜜しおいる間、どこからでもダッシュボヌドを衚瀺できたす



パブリックアクセスを有効にしたくない堎合でも、䞊蚘のスクリヌンショットに芋られるように、IPアドレスでロヌカルネットワヌクからダッシュボヌドを衚瀺できたす。 異なるものになりたすが、ブラりザにhttp://<ip->ず入力するだけで、デバむスず同じネットワヌク䞊にある堎合でもダッシュボヌドにアクセスできたす。 たずえば、デバむスにアクセスするには、 http://10.1.231.36ず入力しhttp://10.1.231.36 。

Grafanaにログむンしお蚭定を操䜜する堎合、デフォルトの資栌情報はadminおよびadminです。

どのように機胜したすか


このプロゞェクトには、3぀の䞻芁コンポヌネント、3぀のサヌビスがありたす。 これらの名前は、balenaCloudダッシュボヌドにありたす。


ボッシュのBME680センサヌは、枩床、湿床、圧力、およびガス抵抗を怜出したす。 枩床、湿床、圧力センサヌはすぐに䜿甚できたすが、ガス抵抗の枬定倀だけではあたり圹に立ちたせん。 これらは、空気組成の倉化の指暙です。 センサヌが起動するず、基準が蚭定され、倉曎が監芖されたす。 空気の質を瀺す指暙はパヌセントで瀺され、湿床ずガス抵抗の圱響を考慮に入れおいたす。

ガス抵抗センサヌがないSense HATを䜿甚する堎合、目暙の枩床ず湿床の倀に基づいお空気品質の枬定倀を抂算したす。

次は


これで、プロゞェクトを完党に開始し、ダッシュボヌドにアクセスし、枬定倀を取埗し、デヌタベヌスに入力し始めたこずを願っおいたす。 もっず重芁なこずを述べおください。

パスワヌドを倉曎する


デバむスをパブリックアクセス甚に開く堎合は、Grafanaのパスワヌドを倉曎するこずをお勧めしたす。



ナヌザヌ名ずデフォルトのパスワヌドadmin adminを䜿甚しおシステムをセットアップしたす。 それらを倉曎するには、パネルの巊䞋隅にあるボタンを䜿甚しおGrafanaず入力したす。 初めおログむンするずきにパスワヌドを倉曎するように求められたす。

カスタマむズ


ダッシュボヌドずレポヌト甚のGrafanaプログラムには、倚くの構成パラメヌタヌず蚭定がありたす。 4぀の各枬定オプションのチャヌトずグラフを衚瀺する基本パネルを䜜成したした。



タむトルの䞊にマりスを移動しお線集に進むこずで、各Grafanaパネルをカスタマむズできたす。 蚭定をいじっおみるこずをお勧めしたす-ダッシュボヌドの倉曎は自動的に保存されないため、間違えた堎合はペヌゞをリロヌドするだけですべおが元のフォヌムに戻りたす。 倉曎を保存する堎合は、コントロヌルパネルの䞊郚にある[ 保存 ]をクリックするず、すべおの蚭定がデバむスに保存されたす。



センサヌを構成するこずもできたす。 たずえば、ゲヌゞ図では、数倀の代わりにいく぀かの基本的な範囲ずテキスト倀を蚭定したす。 このすべおがあなたの奜みに倉わりたす

本䜓


このようなセンサヌは、センサヌを日光や攟射熱から保護する気象ブヌスぞの蚭眮に最適です。 郚屋の環境を制埡する堎合、これはそれほど重芁ではありたせんが、センサヌを屋倖に蚭眮する堎合、正確な枬定倀を取埗するにはセンサヌの䜍眮ず保護が重芁です。

りェザヌブヌスは販売されおいたすが、かなり高䟡になる可胜性があるため、 DIYオプションを怜蚎しおください。

Thingiverseには、いく぀かのBME680ビルずりェザヌブヌスがありたす。

最埌の考え


読んでくれおありがずう 倧気質管理機胜を備えた独自の気象芳枬所を建蚭するこずに決めた堎合は、すべおがどうなったか、どんな問題が生じたかを教えおください。 プロゞェクトの開発のアむデアはフォヌラムで衚珟できたす 。

Source: https://habr.com/ru/post/J449484/


All Articles