Tinkerforge Weather Station
概要
TinkerForge は、環境監視から産業の自動化に至るまで、さまざまなユースケースに対応する汎用センサーとその制御を提供する会社です。Things Cloudでは次のことができます。
- 既製のハードウェアを接続するだけで、完全なM2Mのユースケースを構築できます。 構成は必要ありません。これらはThings Cloud Javaエージェントによって自動的に検出され、クラウドに接続されます。
- センサーデータとリモート制御デバイスをリアルタイムで瞬時に視覚化します。
このチュートリアルでは、Tinkerforge Weather StationをThings Cloudにリンクします。 Wi-Fiが組み込まれていないWeather Stationの構成を使用するため、WeatherStationをThings Cloudプラットフォームに接続するための中間デバイスとして、Raspberry Pi 4(以降「RaspPi」と記載)を使用します。 RaspPiには有効なインターネット接続が必要です。 RaspPiは、Weather Stationにモジュールとして統合することも、USBケーブルを介してWeather Stationに接続する外部デバイスにすることもできます。
前提条件
Tinkerforge BrickDaemonとBrickViewerをRaspPiへのインストール
Things Cloudに接続する前に、RaspPiとWeather Stationが相互に通信できることを確認する必要があります。
これらのデバイス間のソフトウェア接続では、TinkerforgeのBrickDaemonとBrickViewerをRaspPiにインストールする必要があります。インストール手順は、以下のTinkerforgeのサイト に記載されています。
https://www.tinkerforge.com/en/doc/Embedded/Raspberry_Pi.html.
Tinkerforge WeatherStationとRaspPi間の接続確認
次に、Brick Daemonを起動し、Weather Stationと通信するようにBrickViewerを設定します。 デバイス間のUSB接続を許可するには、両方のコンポーネントをsudoで開始する必要があることに注意してください。
sudo brickd
sudo brickv
Brick Viewerの起動は、Raspbianメインメニューのプログラミング> Brick Viewerからもできます。
Brick Viewerでは、画面の上部に接続ボタン/バーがあります。 クリックして、使用可能なハードウェアを確認してください。 リストには、次のようなエントリが表示されます。
- Master Brick 2.0
- LCD 20x4 Bricklet 1.2
- Barometer Bricklet
- Ambient Light Bricklet
- Humidity Bricklet
このリストの各ハードウェアには、BrickViewer画面の上部に関連するタブがあります。.
このようなリストが表示されている場合、すでにWeather StationとRaspPi間の通信が機能していることを意味します。 さらに簡単な確認方法として、「HelloWorld!」のようなテキストメッセージをBrickViewerからWeather Stationへ送信してみてください。
- Brick Viewerで、LCD 20x4 Brickletタブをクリックします。
- Backlight Onをクリックすると、Weather StationのLCD20x4が点灯します。
- テキスト欄に「HelloWorld!」と入力し、テキストの送信をクリックします。
これで、Weather StationのLCDにテキストが表示されます。
デバイスのセットアップと登録
エージェントのインストール方法
Tinkerforge Weather StationとThings Cloudの間の接続は、RaspPiを介してルーティングされます。 RaspPiとThings Cloud間の接続は、RaspPiにThings Cloud Javaエージェントをインストールして実行することで実装されます。 RaspPiのJavaエージェントは、TinkerForgeに対応しています。
RaspberryPiへのThings Cloud Javaエージェントのインストールと実行の詳細については、Raspberry Piのチュートリアルをご覧ください。
RaspPiデバイスをプラットフォームに登録
最後の設定手順として、RaspPiデバイスをThings Cloudプラットフォームに登録する必要があります。 これを行うための手順は、Raspberry Pi チュートリアルにも記載されています。
Things Cloudの利用
Things Cloudアカウントでデバイスを表示するには、デバイス管理アプリケーションに切り替えて、ナビゲータのデバイスメニューにあるすべてのデバイスをクリックします。 デフォルトでは、デバイスは「RaspPi <hardware model> <serial number>」として表示されます。
RaspPiデバイスをグループに追加します。詳細については、デバイスのグループ化 をご覧ください。既存のグループを選択するか、 検証用として新しいグループを定義できます。
次に、RaspPiの子デバイスタブをクリックして、接続されているTinkerForgeの構成要素を一覧表示します。表示は次のようになります。
デフォルトでは、TinkerForgeの構成要素は、接続されているデバイスの名前(たとえば、「RaspPi BCM2708 10000000e2f5ad4d」)、構成要素のタイプ(たとえば、湿度を測定するTinkerforge brickletを示す「TFHumidityBricklet」)、構成要素のシリアル番号(たとえば、「nBL」)を使用して名前が付けられます。 デバイスの情報タブより名前を編集することができます
気圧計、湿度、周囲光、湿気、距離、電圧、電流、温度 bricklets
Tinkerforgeセンサーデータを視覚化するには、コックピットアプリケーションに切り替えます。 グループタブより、RaspPiを割り当てたグループを選択し、該当するRaspPiデバイスを選択します。
RaspPiのデータエクスプローラータブに切り替えます。 データポイントで、表示する気象観測所からのセンサー読み取り値を選択できます。 以下の例では、環境光センサー( “RaspPi … Light kWS”)が「デバイスの選択」で選択され、このセンサーが配信するデータポイント(「データポイントの選択」の下に表示)がデータエクスプローラーで「c8y_LightMeasurement」として表示されます。
選択したデータポイントのセットは、「データポイント」以下のようにパネルに表示されます。
データエクスプローラーは、定義された期間(たとえば、最後の1分間)のセンサーデータをグラフを表示するため、更新をリアルタイムで示します。
表示する期間は、グラフの横にあるドロップダウンボックスから選択できます。
データは、RaspPi上のThings Cloudエージェントによって定期的に収集されます。 収集頻度は、RaspPiの構成タブで構成できます。 構成タブの一般的な要素は次の通りです。
c8y.barometer.interval=5000
c8y.log.eventLevel=INFO
c8y.light.interval=5000
c8y.log.alarmLevel=ERROR
c8y.humidity.interval=5000
.interval
の設定はミリ秒単位で指定されます。 設定を変更したい場合は、上記の画面で構成値をそれぞれ変更し、保存します。 たとえば、 c8y.light.interval
の値を5000から10000に変更すると、コックピットのRaspPiのデータエクスプローラーに、Weather Stationの周囲光brickletの更新された値が10秒ごとに表示されます。
LCDディスプレイ bricklet
Things Cloudから画面の表示を操作するには、次の手順に従います。
- コックピットアプリケーションで、該当のRaspPiデバイスが含まれているグループを開き、RaspPiを選択します。
- RaspPiのダッシュボードをまだ定義していない場合は、追加します。 ダッシュボードの追加の詳細については、ダッシュボードをご覧ください。
- ウィジェットの追加をクリックします。
- 使用可能なウィジェットのリストから、メッセージ送信を選択します。
- RaspPiの表示アセットをクリックします。 これにより、「メッセージ送信」ウィジェットがダッシュボードに追加されます。
- ウィジェットのメッセージフィールドに「Hello from Things Cloud」などのテキストを入力し、送信をクリックします。
- これで、Weather StationのLCD Brickletに送信したテキストが表示されます。
同様に、LCDのバックライトのオンとオフを切り替える場合は、リレーコントロールウィジェットを作成し、RaspPiのディスプレイアセットを使用するよう設定し、オン/オフ設定を使用します。
TinkerForge ドライバーの拡張
TinkerForgeドライバーのソースコードは、https://bitbucket.org/m2m/cumulocity-examples の_java-agent / tinkerforge-driver_というフォルダで公開されています。