Raspberry Pi 4 モデル B

概要

このチュートリアルでは、Raspberry Pi4モデルBをThings Cloudに登録する方法について説明します。

Raspberry Pi は、人気のある低コストのミニコンピューターです。GPIOピン、USBサポート、組み込みのWLANサポートを通じて、マシン間ソリューションのプロトタイピングに最適です。OSはRaspbianであり、RaspberryPiのデフォルトのLinuxでの配信となります。

このチュートリアルでは、RaspberryPiとそれに接続されているセンサーの制御をリモートで管理するために、Things Cloud エージェントと関連するすべてのドライバーをRaspberryPiにインストールする方法について説明します。

ここでは、次のことができるようになります。

前提条件

ハードウェア

このチュートリアルでは、次のハードウェアが必要になります。

ソフトウェア

公開されているRaspbianには、事前にインストールされたOpenJDKランタイム環境があります。

確認するには、次を入力します。

$ java -version

また、Things Cloud に登録するには、RaspberryPiのシリアル番号が必要です。シリアル番号を取得するには、次のコマンドを使用します。

$ cat /proc/cpuinfo

このコマンドの出力には、次のようにシリアル番号が含まれます。

Serial		: 1000000017b769d5

ここで表示されたシリアル番号を書き留めます。シリアル番号は、後のステップでデバイスをThings Cloud プラットフォームに登録するときに必要になるデバイスIDとなります。

インターネット

このチュートリアルでは、Things Cloud サーバーに接続できるよう、Raspberry Piのインターネット接続が有効であることを前提としています。利用可能なWLANネットワークがある場合は、Raspberry Piの組み込みWLAN機能を使用できます。それ以外の場合は、第三者USBドングルなどのアドオンコンポーネントを使用してモバイルブロードバンドネットワーク接続を追加するなどをしてください。

デバイスのセットアップと登録

エージェントのインストール方法

Raspberry Piにログインし、次のコマンドでエージェントをインストールします。

$ wget http://resources.cumulocity.com/examples/cumulocity-rpi-agent-latest.deb
$ sudo dpkg -i cumulocity-rpi-agent-latest.deb

プロパティファイルへのテナントURLセットアップ方法

RaspberryPi上のThings Cloud エージェントがThings Cloudに接続するとき、Raspberry Piにある下記ファイルで定義されているホストURLを使用します。
 /usr/share/cumulocity-rpi-agent/cfg/cumulocity.properties

URLは次のように定義されます。

host = https://<YourTenantName>.je1.thingscloud.ntt.com 

続行する前に、ここで正しいホストURLを設定していることを確認してください。<YourTenantName>は、Things Cloudプラットフォーム上で割り当てられた、テナント名になります。

ファイルはデフォルトで読み取り専用であるため、編集するにはsuperuser権限が必要です。 「su」モードに入るには、RaspberryPiのコマンドラインコンソールで次のコマンドを使用します。

sudo su -

編集を行うには、superuserコンソールで「vi」エディターを起動し、そこで変更を加えてください。viエディターはRaspbian配信から利用できます。

別のエディターを使用したい場合は、最初にそれをインストールする必要があります。エディターをインストールしたら、必ずsuperuser権限を持つコンソールからエディターを起動してください。

cumulocity.properties を更新したら、以下のコマンドを使用してエージェントを再起動します。

$ sudo service cumulocity-agent restart

SPIの有効化

Raspberry PiでSPI(Serial Peripheral Interface)がまだ有効化されていない場合は、有効化する必要があります。次の手順に従ってください。

  1. コマンドラインで次のコマンドを入力して、raspi-configツールを起動します。
sudo raspi-config
  1. ツールで、Interface Optionsを選択し、次にSPIオプションを選択してから、SPIインターフェースの有効化を選択します。

他にも、デスクトップから変更することができます。

  1. デスクトップのメインメニューから設定 > RaspberryPi構成を選択します。

  2. インターフェースのタブを開きます。

  3. SPI を「有効」にします。

プラットフォームへデバイスを登録

  1. Things CloudプラットフォームをWebブラウザで開きます。URLは上記のように、RaspberryPiの cumulocity.properties ファイルで定義したホストURLと一致する必要があります。

  2. デバイスを登録するには、「ユーザーガイド」の デバイス管理 > デバイスの接続 セクションにあるデバイスの登録に関する一般的な手順に従ってください。このとき、オプションの一般デバイス登録を選択し、デバイスIDとしてRaspberry PIのシリアル番号( 前提条件セクションで説明)を使用してください。

Things Cloudアカウントでデバイスを表示するには、ナビゲータのデバイスメニューですべてのデバイスをクリックします。デフォルトでは、デバイスは 「RaspPi <hardware model> <serial number>」 として表示されます。

プラットフォームの利用

Raspberry Piが正常に登録されると、Things Cloudの標準アプリケーション(デバイス管理、コックピット、管理)でデバイスのステータスを表示できます。

ここまで問題なく到達していれば、RaspberryPiなどのデバイスをThings Cloudサーバーに接続して、そのステータス情報を表示できるというPoCが実証がされたことになります。

Raspberry Pi自体は静的な情報のみを配信するため、デバイスからのリアルタイムのメジャーメントを表示したい場合は、通常、このデータを配信するハードウェアコンポーネントを接続する必要があります(例えば、TinkerforgeやPiFace Digitalなどのサードパーティサプライヤーが提供しているコンポーネントなど)。詳細については、次のセクションをご覧ください。

Tinkerforge bricks と bricklets

Raspberry Pi用のTinkerforge daemon がインストールされていると、エージェントはすぐにTinkerforgeデバイスに対応できます。

PiFace Digital

エージェントには、簡易な PiFace Digital ドライバーが含まれています。ドライバーは、スイッチが押されたときにイベントを作成し、継電器へのリモートコントロールコマンドに反応します。

PiFace Digitalを使用する前に、公式Webサイトの指示に従って確認を行ってください。ガイド全体に従う必要はありません。「Testing your PiFace」の部分まで従うだけで十分です。

リモートでファームウェアのアップグレード

Things Cloudエージェントは、rpi-update ツールを使用したRaspberryPiのファームウェアのアップグレードを許可しています。アップグレードが必要かどうかを時々確認することをお勧めします。

ファームウェアのバージョンの設定方法
  1. デバイス管理アプリケーションで、ナビゲータの管理メニューのファームウェアリポジトリをクリックします。

  2. ファームウェアの追加をクリックします。

  3. ファームウェアの名前を入力します。URLとして、 https://github.com/Hexxeh/rpi-firmwareにあるファームウェアのバージョンのGitハッシュを使用します。Gitハッシュを取得するには、コミットをクリックして、そこで特定のバージョンを選択します。ハッシュは、URLの最後にある一見ランダムな文字列です。

  4. ファームウェアのバージョンを保存します。

ファームウェアをRaspberryPiにロールアウトする方法
  1. RaspberryPiのソフトウェアタブに切り替えます。

  2. ファームウェアのインストールをクリックします。

  3. インストールするファームウェアのバージョンを選択します。

  4. インストールをクリックします。

Raspberry Piがファームウェアをインストールし、再起動します。デバイスの制御タブに移動して、アップグレード処理を行ってください。次回の再起動時に、ファームウェアが正常にインストールされます。

トラブルシューティング

エージェントはデバッグ情報をPiのsyslogに書き込みます。接続の問題などのトラブルシューティングを行うには、次を使用してください。

$ tail -f /var/log/syslog