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へ送信してみてください。

  1. Brick Viewerで、LCD 20x4 Brickletタブをクリックします。
  2. Backlight Onをクリックすると、Weather StationのLCD20x4が点灯します。
  3. テキスト欄に「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の構成要素を一覧表示します。表示は次のようになります。

Child Devices

デフォルトでは、TinkerForgeの構成要素は、接続されているデバイスの名前(たとえば、「RaspPi BCM2708 10000000e2f5ad4d」)、構成要素のタイプ(たとえば、湿度を測定するTinkerforge brickletを示す「TFHumidityBricklet」)、構成要素のシリアル番号(たとえば、「nBL」)を使用して名前が付けられます。 デバイスの情報タブより名前を編集することができます

気圧計、湿度、周囲光、湿気、距離、電圧、電流、温度 bricklets

Tinkerforgeセンサーデータを視覚化するには、コックピットアプリケーションに切り替えます。 グループタブより、RaspPiを割り当てたグループを選択し、該当するRaspPiデバイスを選択します。

RaspPiのデータエクスプローラータブに切り替えます。 データポイントで、表示する気象観測所からのセンサー読み取り値を選択できます。 以下の例では、環境光センサー( “RaspPi … Light kWS”)が「デバイスの選択」で選択され、このセンサーが配信するデータポイント(「データポイントの選択」の下に表示)がデータエクスプローラーで「c8y_LightMeasurement」として表示されます。

Add data point

選択したデータポイントのセットは、「データポイント」以下のようにパネルに表示されます。

Selected data points

データエクスプローラーは、定義された期間(たとえば、最後の1分間)のセンサーデータをグラフを表示するため、更新をリアルタイムで示します。

Live sensor graph

表示する期間は、グラフの横にあるドロップダウンボックスから選択できます。

データは、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から画面の表示を操作するには、次の手順に従います。

  1. コックピットアプリケーションで、該当のRaspPiデバイスが含まれているグループを開き、RaspPiを選択します。
  2. RaspPiのダッシュボードをまだ定義していない場合は、追加します。 ダッシュボードの追加の詳細については、ダッシュボードをご覧ください。
  3. ウィジェットの追加をクリックします。
  4. 使用可能なウィジェットのリストから、メッセージ送信を選択します。
  5. RaspPiの表示アセットをクリックします。 これにより、「メッセージ送信」ウィジェットがダッシュボードに追加されます。
  6. ウィジェットのメッセージフィールドに「Hello from Things Cloud」などのテキストを入力し、送信をクリックします。
  7. これで、Weather StationのLCD Brickletに送信したテキストが表示されます。

同様に、LCDのバックライトのオンとオフを切り替える場合は、リレーコントロールウィジェットを作成し、RaspPiのディスプレイアセットを使用するよう設定し、オン/オフ設定を使用します。

TinkerForge ドライバーの拡張

TinkerForgeドライバーのソースコードは、https://bitbucket.org/m2m/cumulocity-examples の_java-agent / tinkerforge-driver_というフォルダで公開されています。