Nordic

nRF Cloud その5 -Massage-

2025.07.24


こんにちは。
加賀デバイスのNordic Teamです。

nRF Cloudコラムシリーズですが、今回はMessageの機能ついて記事を書きたいと思います。

Messageの機能と言っても細かく分けると、下図のようにMessage、Alart & Log、Shadowなど用途に分けて様々なデータの送り方が存在します。

それでは1つずつの機能を見ていきたいと思います。

Message機能の確認には下記環境を使用しました。

ハードウェア:nRF9151 DK
ソフトウェア:nRF Cloud multi-service

◢◤①Message

Device(nRF91xxなど)からnRF CloudにMessageを送るときはMQTT APIやREST APIを使用します。
送られてきたデータはnRF Cloudに30日間保存されます。

  Sending device messages

DeviceからnRF Cloudに送られてきたMessageは下記のようにTerminal部分に表示されます。

nRF Cloudに保存されたデータは、Application serverからMQTT APIやREST APIなど使い読み出します。

  Retrieving device messages


また、nRF CloudからDeviceに対してMessageも送ることが可能です。


nRF Cloud multi-serviceでは指定されたフォーマットでATコマンドをリモートで実行することが出来ます。
 注:プロトコルがMQTTになっている必要があります。

  Remote execution of modem AT commands (MQTT only)

nRF CloudからDeviceに対してMessageを送るにはTerminalの下部にあるテキストボックスを使用します。
ドキュメントに記載のフォーマットに従い下記コマンドを入力してその応答を確認してみます。
今回はAT%XMONITORコマンドで試してみます。

  入力コマンド:{“appId”:”MODEM”,”messageType”:”CMD”,”data”:”AT%XMONITOR”}

応答はTerminal部分で確認が出来ます。  


◢◤②Alart & Log

Messageに似た機能で Alart & Log という機能があります。データの保存期間は30日間です。

 Alart
 Log

Messageとの違いはAlartとLogはそれぞれ特定のフォーマットを持っていて、nRF Cloud側でそのフォーマットを判断しそれぞれに対応した処理を行っています。

Alartはアプリケーション側でトリガー条件を決めておき、指定の条件となった時にこのAlart Messageを送信するといった時に使用します。


Alartの内容は、TerminalやAlertsの画面で確認が出来ます。

また、DEVICE MANAGEMENTのAlertsからも確認することが可能となっています。


Logは出力レベルをリモートで制御することが可能です。
nRF Cloudの場合はLogsの表示画面の右上のプルダウンメニューで、出力レベルが変更可能です。


Logの内容は上記のLogsやTerminalから確認が出来ます。

◢◤③Device Shadow

Device Shadowの機能はメールボックスとして使用出来ます。

  Shadow

DeviceがOFFになっていてもこのApplication ServerがnRF Cloudのshadowを更新することで、Deviceが起動した時にそのShadowを参照して更新された内容をDeviceが知ることが出来ます。
下記の例ではApplication ServerからDeviceのintervalの要素の値を更新する流れを説明しています。

1:最初にApplication ServerがnRF CloudのDevice Shadowのdisired:intervalの値を更新(120→300)します。この時はまだDeviceは電源OFFとなっています。
2:Deviceが起動した時に、DeviceがDevice Shadowのdisired:intervalの値(300)を確認します。
3:disired:intervalの値と自身のintervalの値と差があった場合は、自身の値を更新してnRF CloudのDevice Shadowのreported:intervalを更新(120→300)します。
4:nRF CloudはDevice Shadowのreported:intervalが更新された事をApplication Serverに通知します。

◢◤④Message Routing Service

Message Routing serviceを使用することでDeivceから受信したMessageをnRF Cloudが自動でApplication Serverに転送することが可能です。

nRF cloud側の設定方法や、Application Server側の応答方法などについては下記ドキュメントを参考にしてみて下さい。

  Message Routing Service

ドキュメントに記載された内容で試した結果が下記となります。

◢◤⑤MQTT Bridge

Message Routing serviceとは別にMQTT bridgeという機能を使えば、nRF Cloudがら自動で指定したMQTT BrokerにPublishする事も可能です。


MQTT bridgeを試す方法については下記ドキュメントで説明しています。

  Setting up a message bridge

デモにはAWS SDKが必要なようですが、AWS SDKの環境は弊社PCではまだ構築していないため、今回のコラムでは細かい説明は省略させて頂きます。

以上までがMessageの機能の関する紹介となります。

次回はnRF cloudのLocation Serviceの機能について説明したいと思います。

nRF Cloudにご興味ございましたら弊社のお問い合わせ にご連絡ください。

今後もNordicの紹介及びコラムにて色々な情報を公開致しますので是非ご確認ください。

また、Facebookでも随時情報を公開しておりますので合わせてご確認ください。

Nordic コラム一覧

MEEQ SIMを使ってみた

関連記事