Raspberry Pi

Overview

Raspberry Pi はLinuxが動作する有名で低コストな小型コンピュータである。 USBとGPIOピンを用いてM2Mソリューションのプロトタイピングを行うのに非常に適している。

このセクションでは、Raspberry Piに Things Cloud のエージェントと関連するドライバをインストールする方法を記載し、リモートからRaspberry Piやそこに繋がれているセンサ群を管理し、コントロールできるようにする。 これによって、

Raspberry Pi image

前提条件

エージェントをインストールするRaspberry PiのOSはRaspbianを前提としています。 また、 Things Cloud にRaspberry Piを登録するため、シリアルナンバーを知る必要があります:

$ cat /proc/cpuinfo
Processor	: ARMv6-compatible processor rev 7 (v6l)
BogoMIPS	: 464.48
Features	: swp half thumb fastmult vfp edsp java tls
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xb76
CPU revision	: 7

Hardware	: BCM2708
Revision	: 000e
Serial		: 0000000017b769d5

“Serial"の行に記されている番号をメモしてください。 Raspberry Piや接続されているデバイスに必要な電圧が供給されていることを確認してください。 標準的なUSB電源はモデムと同様に追加デバイスに電源を供給するには不十分なことがあります。 もっとも簡単な解決法はホストポートとクライアントポートの両方に電源を供給するUSBハブを利用することです。製品例. Raspberry Piをホスト側、他のデバイスをクライアント側に接続してください。

インストールと登録

Raspberry Piにログインし、エージェントをインストールします。 以下の手順を実行してください。

$ wget https://developer.ntt.com/iot/docs/files/agentInstall.sh
$ chmod 700 agentInstall.sh
$ ./agentInstall.sh

エージェントがインストールできたら、設定ファイルを書き換える必要があります。設定ファイルは通常 “/etc/cumulocity-agent.properties” に配置されています。設定ファイルを開き、ホスト名を適切な名前に書き換えてください。

Things Cloud のページをWebブラウザで開き、“Registration"ページに移動してください。 前のステップでメモを取ったシリアルナンバーを入力し、“Register Device"を押下してください。

Register device

Raspberry Piを再起動します。

$ sudo reboot

Raspberry Piの再起動はインストールされているソフトウェアや接続されているセンサ、ネットワークの種類にもよりますが、2分ほどで完了します。 再起動が完了したら、登録を承認してください。

Accept device

Raspberry Piを管理するため、“All devices” をクリックしてください。 標準では"RaspPi «hardware model» «serial number»"という名前で表示されます。 デバイスの名前は"Info"タブで編集できます。

Tinkerforge製品を使う

エージェントはTinkerforge製品をサポートしており、Tinkerforge daemon for Raspberry Piがインストールされます。

SensorTagを使う

エージェントはTexas Instruments社のSensorTag(CC2650STK)をサポートしています。 エージェント起動後、SensorTagの電源ボタンを押下するとRaspberri Piと自動的にBLE(Bluetooth Low Energy)で接続され、クラウドに登録済みのRaspberry Piの子デバイスとして登録されます。

Child device

SensorTagのデータ収集については、親デバイスであるRaspberry Piの「設定」メニューで設定値を変更することができます。 設定値の変更は、SensorTagのBLE接続の切断を伴うことに注意してください。 設定値の変更が正常に完了すれば、自動的にBLE接続を再開します。

設定可能な値は以下の通りです。

SensorTag Configuration

EnOceanセンサを使う

EnOceanはエネルギーハーベスティング無線通信技術のことを指し、超低消費電力による無線通信を実現します。 エージェントはPressac communications社のEnOcean IP Gateway(60.IP.GWAY.24V.DC.928)から送信されるEnOcean対応センサのデータを受け取り、クラウドにアップロードすることができます。

現在エージェントが対応しており、動作確認済みのEnOceanセンサは以下の製品となります。

Installing a 3G modem

Raspberry Piで3Gモデムをインストールするには多くの方法が利用可能 です。 Linuxで動作し、我々がRaspberry Pi上でテストした3Gモデムは Telekom Speedstick Basic (Huawei E3131)です。

Raspberry Pi Model Bで3Gモデムを利用する際には、電源接続型のUSBハブが必要です。 一部のモデムはRaspberry Piをインターネットに接続すると同時に接続統計情報を読み込みません。 したがって、この機能は Things Cloud のLinuxモデムドライバではデフォルトで無効になっています。

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

エージェントを利用することで、Raspberry Piのファームウェアをrpi-updateツールを使ってアップグレードすることができます。 ファームウェアを設定するためには以下の操作を行います。

Raspberry Piにファームウェアを設定するためには以下の操作を行います。

上記の手順を実行すると、Raspberry Piはファームウェアのインストールを開始し再起動します。 “Control"タブに移動し、アップグレードの手順に従ってください。 再起動の後、“Successful” か “Failed” の状態となります。

トラブルシューティング

エージェントはデバッグ情報をRaspberry Piのログに記載します。 接続上の問題などのトラブルシュートのためには以下のコマンドを利用してください。 (YYYY-MM-DDは年月日が入ります。)

$ tail -f /var/log/cumulocity-agent-YYYY-MM-DD.log

エージェントを開発する

もしRaspberry Piに他のデバイスを接続し、 Things Cloud から管理したい場合にはREST APIを参照してください。

デバイスのサービス対応表はこちら

デバイスのサービス対応表 デバイスのサービス対応表ダウンロード