Mbed u-blox C027

概要

u-blox C027 は、IoTのさまざまなアプリケーションのラピッドプロトタイピングを可能にするスターターキットです。 このデバイスには、セルラーモジュールとGPS / GNSS受信機が付属しており、位置認識通信機能を備えたアプリケーションの簡単な開発が可能となります。

u-blox C027

デモ用に、 mbed application shield をC027に接続できます。 さまざまなセンサー、2つのダイヤル、LCDを備えています。

mbed application shield

Things Cloud mbedエージェントはC027のアプリケーションボードをThings Cloudに接続し、次の機能を提供します。

  • C027モデムを使用したネットワークへのダイヤルアップ
  • SmartRESTを介した効率的な通信
  • Things Cloudのブートストラップとデバイス登録を使用した完全な自動登録
  • 温度、GPS、加速度計、アナログセンサーの読み取り値の収集と保存
  • Things CloudからのデバイスLEDおよびLCDのリモート制御
  • アプリケーションシールドのLCDを使用したステータス監視

前提条件

Things Cloud mbedエージェントを実行するには、次が必要となります。

  • u-blox C027 IoTスターターキット、2Gまたは3G版
  • mbed アプリケーションシールド
  • USBタイプAからタイプB へのアダプター
  • 電源
  • インターネットアクセス用のデータプランを備えたSIMカード。 SIM PINのないSIMカードをご利用ください。 SIM PINは、携帯電話を使用して無効にすることができます。
  • Things Cloudプラットフォームへのアクセスが必要です。アクセスがまだできない場合は、Things Cloudを無料でお試しすることができます。 Software AG Cloud > Things Cloudに移動し、「無料で試す」を選択します。

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

はじめに

  1. SIMカードをu-bloxC027の背面にあるSIMスロットに挿入します。
  2. セルラーアンテナをボードに取り付けます。
  3. GPS / GNSS機能を追加する場合、GPSアンテナをボードに取り付けます。
  4. C027にmbedアプリケーションシールドを取り付けます。
  5. USBケーブルをC027とコンピューターに接続します。 C027は、コンピューター上で「MBED」ドライブとして表示されます。
  6. 電源を接続し、アプリケーションボードに接続します。
備考
電源が接続されていないと、デバイスはフラッシュされません。

詳細については、次のリンクをご覧ください。 (https://os.mbed.com/users/ublox/notebook/u-blox-C027-Getting-Started/https://os.mbed.com/users/ublox/notebook/u-blox-C027-Downloading/

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

  1. ファームウェアをファイルシステムにダウンロードします。以下の表をご覧ください。
  2. ダウンロードしたファイルを「MBED」ドライブにコピーします。
  3. C027のリセットボタンを押して、エージェントを起動します。
バージョン リリース日 ダウンロード
1.9 2015年2月18日 download
2.0 2015年3月6日 download
2.2 2015年8月10日 download

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

  1. C027はインターネットにダイヤルアップします。 LCDにステータス「更新済み」が表示されます。 デバイスがインターネットに接続できない場合は、エラーメッセージが表示されます。 「間違ったAPN設定」または「不明なAPN設定」というエラーメッセージが表示された場合は、以下の トラブルシューティングの手順に従ってください。
  2. 初めて接続に成功すると、デバイスは「ブートストラップ」を表示し、LCDのセルラーモデムのIMEIの下に表示されます。
    備考
    IMEIは、C027のモデムチップの白いステッカーにも記載されています。
  3. Things Cloud にログインします。
  4. 右上のアプリメニューを使用して、デバイス管理アプリケーションに移動します。
  5. デバイスを登録するには、 デバイスの管理と接続 > デバイス管理 > デバイスの登録の手順に従ってください。
  6. 登録が正常に完了すると、デバイスは「Mbed Test Device」という名前ですべてのデバイスの一覧に表示されます。
  7. デバイスがThings Cloud に接続されると、LCDに現在のステータスが表示されます。 最初の行には常にテナント名が表示されます(プラットフォームからメッセージを受信するまで。制御操作方法のセクションをご覧ください)。 2行目は、信号品質をdBm単位で表示されます。 3行目には、u-bloxが送信しているセンサーデータとそれに対応する値に関する情報が表示されます。同様のデータを繰り返し送信する場合、3行目は空白のままとなりす。

プラットフォームの利用

これで、デバイスはThings Cloud に接続され、センサーデータを定期的に送信します。 クラウドで収集されたデータをさまざまな方法で参照および処理できるようになりました。

メジャーメントの表示方法

  1. デバイス管理アプリケーションで、ナビゲータのデバイス>すべてのデバイスをクリックし、デバイス一覧から「Mbed Test Device」を選択します。
  2. デバイスのメジャーメントタブで、収集されたセンサーデータを参照できます。

Measurement Screenshot

デバイスは、センサー値が変更された時にのみ新しいセンサーデータを送信します。 値が一定のままの場合、プラットフォームとの接続を維持するために15分ごとに強制的に送信する場合を除いて、新しい値は送信されません。

ダッシュボードの作成方法

センサーデータの表示はカスタマイズできます。

  1. 「Mbed Test Device」をグループに追加します。詳細については、デバイスのグループ化 をご覧ください。
  2. アプリメニューを使用してコックピットアプリケーションに切り替え、グループ>**自身で作成したグループ>**に移動し、「Mbed Test Device」を開きます。
  3. 新しいダッシュボードを作成するには、トップバーのプラスボタンをクリックし、コンテキストメニューからダッシュボードの追加を選択します。

新しいダッシュボードが上部のメニューバーに表示されます。

要件に応じてダッシュボードを設定できます。ウィジェットの追加を使用すると、多数の事前定義されたウィジェットが選択できます。

次の例を試してください。

リレー

「リレー制御」ウィジェットを使用すると、トグルの切り替えでLEDをオンまたはオフにすることができます。

メッセージの送信

「メッセージの送信」ウィジェットでは、テキストフィールドにメッセージを入力し、送信をクリックします。 数秒後、LCDの最初の行に送信したメッセージが表示されます。このメッセージは、別のメッセージを送信するか、デバイスを再起動するまで、最初の行に表示されたままとなります。

以下は、mbedデバイス用に作成されたダッシュボードの例になります。

Dashboard Screenshot

詳細については、ダッシュボード およびウィジェットコレクションをご覧ください。

制御操作の利用

  1. デバイス管理アプリケーションで、ナビゲータのデバイス > すべてのデバイスをクリックし、デバイス一覧から「Mbed Test Device」を選択します。
  2. デバイスの構成タブには、対応している構成パラメータが現在値とともに表示されます。 mbed u-bloxの場合、現在対応している唯一のパラメータは「interval」で、デフォルト値は20分です。これは、Things Cloud がデバイスの有効可否を確認する間隔です。情報タブの必須な間隔と同じ値に設定する必要があります。

Interval Screenshot

ユーザー向けのヒントとコツ

センサーデータの強制送信

似たようなセンサー読み取り値が送信されないため、感度のしきい値によってはセンサーデータが頻繁に送信されない場合があります。この現象は、温度センサーでとくに顕著です。ただし、手動でセンサーの読み取り値に変更を加えることにより、センサーデータの即時送信をトリガーすることができます。

  • 温度センサーの場合:u-bloxデバイスの上部中央、「Temperature LM7580」のテキストの上にある温度センサーの上に指を置いてください。更新された温度測定値が即座にLCDに表示されます。
  • 加速度センサーの場合:デバイスを横に倒すか、回転させてください。デバイスが送信した加速度の読み取り値が即座にLCDに表示されます。
  • アナログセンサーの場合:LCDの下にある2つの青いノブを右または左に回します。デバイスが送信したアナログ測定値が即座にLCDに表示されます。
  • GPS受信機の場合:GPS受信機を移動してください。デバイスが送信したGPS測定値が即座にLCDに表示されます。

工場出荷時設定へリセットする方法

u-bloxデバイスが特定のテナントですでに登録されている場合、そのデバイスを再登録するためには、すでに保存されている資格情報を一旦削除する必要があります。それには出荷時設定へのリセットを実行する必要があります。工場出荷時設定へリセットするには、次の手順に従ってください。

  • すでに登録されているデバイスを(再)起動するときは、ジョイスティックを押し続けます。
  • 2.1より前のバージョンでは、LCDに「ネットワークに接続する」と表示されます。デバイスがネットワークへ正常に接続されると、LCDに「リセットは正常に完了しました」と表示され、出荷時設定へのリセットが成功したことを示します。バージョン2.1以降の場合、出荷時設定へのリセットは各段と速くなり、「出荷時設定へリセット中」と画面に表示されるのを待つだけで、指を離せます。 約2秒後、画面に「リセットは正常に完了しました」と表示されます。
  • 次に、u-bloxデバイスを再起動し、プラットフォームへデバイスを登録 のセクションで説明されている手順に従って、デバイスをテナントに再度登録します。

開発者向けのヒントとコツ

デバッグモードの有効化

デフォルトでは、エージェントは商用モードで実行され、シリアルポートに情報を書き込みません。 デバッグモードを有効にすると、実行中のエージェントの詳細なログを表示することができます。デバッグモードを有効にする方法として、2.1より前のバージョンでは、エージェントを起動する前またはエージェントがクラウドに接続され実行された後に、ジョイスティックを押し上げます。 2.1以降のバージョンの場合は、いつでもジョイスティックを押し上げるだけで、デバッグモードが有効になります。

デバッグ情報は、デバイスのシリアルポートに書き込まれます。その情報の表示方法の詳細についてはhttps://os.mbed.com/handbook/SerialPCをご覧ください。

情報(2.1より前のバージョンにのみ適用されます。):エージェントはジョイスティックの状態を数秒に1回しか読み取らないため、デバッグモードのオン/オフを切り替えるには、ジョイスティックを押し上げて数秒間維持する必要がある場合があります。

エージェントがデバッグモードを実行している場合、I/O操作が大量に発生するため、多くの操作が2〜3倍遅くなります。デバッグモードを無効にしてエクスプレスモードに戻す場合は、ジョイスティックを押し下げて数秒間押し続けます(バージョン2.1以降は押し続ける必要はありません)。

エージェントのソースコードの変更

エージェントの動作を変更したい場合は、mbed.orgにアクセスしてソースコードを取得してください。 そのために必要な手順は次の通りです。

  1. mbedのアカウントに無料でサインアップします。
  2. mbed.orgサイトにログインし、 C027 のページにアクセスします。mbedコンパイラに追加をクリックします。
  3. Cumulocity MbedSmartRESTMainアプリケーションにアクセスし、コンパイラにインポートをクリックして、エージェントをオンラインMbed IDEにインポートします。 。
  4. IDEのコンパイルをクリックします。 IDEはコンパイルされたアプリケーションをファイルシステムにダウンロードします。
  5. ダウンロードしたファイルを「MBED」ドライブにコピーします。
  6. C027のリセットボタンを押して、エージェントを起動します。

ソースコードのレポート間隔の変更

デフォルトでは、すべてのセンサー値のレポート間隔は15分です。 ソースコードで定義されている対応するマクロを変更することで、レポート間隔を変更できます(すべての単位は秒単位)。

  • measurement/AccelerationMeasurement.cpp: TIME_LIMIT_ACCE
  • measurement/AnalogMeasurement.cpp: TIME_LIMIT_ANA
  • measurement/LocationUpdate.cpp: TIME_LIMIT_LOC
  • measurement/SignalQualityMeasurement.cpp: TIME_LIMIT_SIG
  • measurement/Temperature.cpp: TIME_LIMIT_TEMP

ソースコードのレポート感度しきい値の変更

センサーの読み取り値には揺らぎの性質があるため、すべてのセンサー値にしきい値が設定されており、センサー読み取り値の誤検知の変化を常時レポートするのを防いでいます。センサーの感度が変化すると、さまざまなセンサーのしきい値が変化します。これらのしきい値は、最後にレポートされたセンサー値の端数として定義され、対応するソースファイルで変更することもできます(すべて実数で)。

  • measurement/AccelerationMeasurement.cpp: THRESHOLD_PERCENT_ACCE [default: 0.1]
  • measurement/AnalogMeasurement.cpp: THRESHOLD_PERCENT_ANA [default: 0.02]
  • measurement/LocationUpdate.cpp: THRESHOLD_PERCENT_LOC [default: 0.05]
  • measurement/SignalQualityMeasurement.cpp: THRESHOLD_PERCENT_SIG [default: 0.06]
  • measurement/Temperature.cpp: THRESHOLD_PERCENT_TEMP [default: 0.02]

トラブルシューティング

  • 起動時にデバイスがフリーズまたはリセットされる:これは通常、電源接続の不良に起因する問題です。電源を抜き差しし、接続がしっかりしていて安定していることを確認してください。

  • 「モデムの初期化に失敗しました」、「SIMカードが見つかりません」、「SIMにPINコードがあります」と表示される:SIMカードが正しい方向に挿入されていることを確認してください。 SIMカードがデバイスにしっかりと接触するように、SIMカードホルダーがロックされていることも確認してください。 SIMカードにPINコードがある場合は、(携帯電話などを使用して)PINコードを削除します。

  • GPS初期化の失敗:たまに、エージェントがGPSユニットを初期化できない場合があります。その場合、デバイスを再起動してください。なお、GPS初期化処理は、実際のGPS受信機がなくても実行されます。そのため、この問題を解決するためにGPS受信機を接続する必要はありません。

  • GPSが機能しない:この問題は、新しいGPSモデルによって返される異なるデータ形式が原因で発生します。この新しいデータ形式は、バージョン2.2から対応しています。 GPS機能が動作しない場合は、上記のリンクから最新のファームウェアをダウンロードし、指示に従ってファームウェアをフラッシュしてください。

  • 接続可能なネットワークが範囲にない:モデムアンテナが「WL_INT」コネクタに正しく取り付けられていることを確認してください。正しく取り付けられていないと、デバイスはネットワークに接続できません。

  • エージェントの初期化の失敗:この問題を解決するには、デバイスをコンピューターに接続し、デバッグモードを有効にして、シリアルポートを介してより多くの情報を収集することをお勧めします。[デバッグモードの有効化](#Enabling_debug_ mode)をご覧ください。

  • 統合/構成の失敗および統合の失敗:このエラーは、ファームウェアに設定されていないサーバーに接続しようとしたときに発生します。工場出荷時の状態にリセットして、デバイスを再登録します。これで問題が解決しない場合は、サーバー側の問題である可能性があります。独自のクラウドインスタンスに接続している場合はネットワーク管理者に連絡し、Things Cloud に直接接続している場合はサポートに連絡してください。

  • デバイスがネットワークに接続できず、「間違ったAPN設定」または「不明なAPN設定」と表示されている:_C027_Support/MDMAPN.h_のソースコードファイルを確認し、モバイル国コード(MCC)、モバイルネットワークコード(MNC)とAPN設定を追加します。現在のMMCおよびMNCコードは、LCD表示のエラーメッセージ(「WrongAPNsetting」または「UnknownAPNsetting」)の下に表示されている筈です。

  • デバイス登録の際、デバイスがCONNECTEDとして表示されない:シリアルコンソールを使用してアプリケーションの出力を確認します。 詳細については、https://os.mbed.com/handbook/SerialPCをご覧ください。 また、デバイスを正しいバージョンのファームウェアでフラッシュしたかどうか(正しいサーバーに対してブートストラップを実行しているかどうか)を確認してください。

  • デバイスがUIのデバイスリストに表示されない:シリアルコンソールを使用してアプリケーションの出力を確認します。 詳細については、https://os.mbed.com/handbook/SerialPC をご覧ください。

  • 起動時に、デバイスは「ブートストラップ」とIMEIを表示する代わりに、「エージェントの実行」の直後に「クラウドに接続」を表示します:デバイスはすでに別のユーザーアカウントでThings Cloud に登録されており、既存デバイスの登録を解除するために出荷時設定へリセットする必要があります。

  • デバイスがGPSデータを送信しない:GPS受信機は、衛星信号を受信するために空を直接捉える必要があります。悪天候もGPS受信に影響を与える可能性があります。

  • デバイスリストから誤ってデバイスを削除してしまった:デバイスを再起動してしばらく待ちます。 デバイスは自動的にThings Cloud に再登録され、再び表示されます。