さくらのモノプラットフォームをnRF9160 DKで使ってみた!

こんにちは。加賀デバイスのNordic Teamです。 IoT製品を用いたシステム開発では、ソフトウェア開発・ハードウェア開発・IoTプラットフォーム開発・クラウドアプリケーション開発など様々な開発が必要となってきます。そこで、これら開発を効率良く・短期間で出来るサービスの”さくらのモノプラットフォーム”について紹介させて頂きたいと思います。 さくらのモノプラットフォームの特徴としては、下記などがあげられます。 ・さくらのモノプラットフォームでは、デバイスの管理、IoTデバイスとのデータやファイルの送受信、クラウドサーバーとのデータの中継などの様々な機能が準備されています。・さくらのセキュアモバイルコネクト(閉域網)と組み合わせ使用する事でセキュリティが高いIoTプラットフォームを提供するサービスとなります。さらにセキュアモバイルコネクトはマルチキャリア対応しているため電波障害発生時のリスクヘッジも出来ます。・IoT開発に必要なソフトウェア・ハードウェアの設計情報を提供しており、IoTデバイスの開発の負荷を軽減し早期に製品を立ち上げる事が可能です。 このさくらのモノプラットフォームでは、NordicのnRF9160を使用してすぐに試せる環境が準備されています。それらを使って早速、さくらのモノプラットフォームを試してみたいと思います。 ◢◤準備 さくらのモノプラットフォームの設定については、下記ドキュメントを参考にしました。  さくらのモノプラットフォーム:ドキュメント 下記3つを設定するだけでさくらのモノプラットフォームは使用可能となります。 1.さくらのセキュアモバイルコネクトで使用するSIMを登録。2.さくらのモノプラットフォームでプロジェクトを作成3.さくらのモノプラットフォームでサービスアダプタを作成  *WebSocket、Incomming Webhook、Outgoing Webhookなど 続いて、nRF9160 DKに書き込むソフトウェアの準備です。nRF9160 DKで使用可能なソフトウェアはGithub(さくらインターネットのアカウント)で用意されています。 *現時点ではNordicの開発環境:nRF Connect SDKのv2.4.2に対応しています。 *ビルド済みのHEXファイルの物も用意されているため、直ぐに試す事が可能です。 ドキュメントに記載されている内容にしたがってダウンロードします。 ソフトウェアをビルドしてnRF9160に書き込むことで準備は完了です。 nRF9160 DKの動作確認のためにターミナルソフトのTeraTermを使用します。ソフトウェアを起動させて接続が完了するとTeraTermの画面に”+++ Ready +++”が表示されます。 モノプラットフォームのWebSocketには10秒毎にKeepAliveが表示されます。 ◢◤WebSocketを使用したデータの送受信 さくらインターネットが用意しているソフトウェアでは、データ受信やファイル送受信などのコマンドが用意されています。  コマンド一覧 まずはデータ送信を試します。TeraTermから$$TXコマンドでデータを送信してみます。送信するデータは、tagは”01″、typeは”20″の文字列、valueはASCIIコードで”303132333435″(012345)を指定します。 WebSocketのログ上で受信データが確認します。 tagは”01″、typeはstring-utf8の文字列、valueは”012345″(ASCIIコードで”303132333435″)が正しく受信出来ています。 続いてWebSocketからデータを送り、nRF9160 DKで受信してみたいと思います。 WebSocketの”メッセージ送信”で必要な情報を入力して送信ボタンを押します。タグは”01″、タイプは文字列、値は”123ABC”(ASCIIコードで”313233414243″)を指定します。 送信ボタンを押すと、データが送信され”notify”のログが表示されます。 TeraTermで$$RXを入力してnRF9160 DKでデータ受信をします。 Websocketで送信した数値の、タグは”01″、タイプは”20″の文字列、受信データ数は6byte、値はASCIIコードの”313233414243″(123ABC)が正しく受信出来ています。 ◢◤ファイル送受信機能を使用したファイルの送受信 続いてファイルの送受信機能を試してみます。送信するファイルはさくらインターネットのロゴ:13,824 バイト(0x3600Byte)を使用してみます。 さくらインターネットが用意しているソフトウェアではファイル転送にXMODEMを使用しているため、TeraTermからXMODEMを使用してファイル転送を行います。 使用するコマンドは$$FPUTです。送信するファイルのサイズは必ず16進数8桁にする必要があり、注意が必要です。任意のファイル名を指定して、送信するサイズ0x3600(13,824 バイト)を指定します。ここで指定したファイル名がモノプラットフォーム側で表示される名前となります。 続いてXMODEMで、実際に送信するファイルを指定して送信を開始します。 送信が完了したら、モノプラットフォームのプロジェクトの”ファイル送受信”で確認します。 ファイル名もサイズも正しく転送されているのが確認出来ます。 続いてファイルの受信を試してみます。使用するコマンドは$$FGETです。モノプラットフォームのプロジェクトの中あるファイル名を指定します。 続いてXMODEMで、パソコンに保存する名前を指定して受信します。 受信出来たファイルを確認してみましたが、正しく画像として表示されました。 ◢◤Webhookを使用した外部サーバーとの接続 今まではさくらのモノプラットフォームとnRF9160 DKとのデータのやり取りでした。次に外部サーバーとのやり取りをするためにWebhook機能を使います。サーバーはさくらのクラウドを使用し、アプリケーションはNode-redを使用しました。  *Node-REDは,JS Foundationの米国およびその他の国における登録商標または商標です。…

モバイルアプリ nRF Toolbox でBluetooth LE通信の簡単評価

こんにちは。加賀デバイスのNordic Teamです。 Bluetooth製品の開発をする場合、正しく通信できるか確認する手段としてお手持ちのスマートフォンを使用することが多いと思います。NordicではAndroidとiOSの両方に対応しているモバイルアプリツールnRF Toolboxを提供しており容易に確認することが出来ます。 そもそもBluetooth Classicでは、単純なデータのやり取り(シリアル通信の無線化)を行いたい場合、SPP(serial Port profile)という標準プロファイルが存在しました。しかし、Bluetooth LE仕様ではそれに代わる標準プロファイルが存在しない為、NordicではNUS(Nordic UART Service)と言うカスタムプロファイルを用意しています。 NordicのNUSのサンプルソフトとnRF Toolboxを使えば直ぐに簡単な無線通信の評価が可能です。 今回は超小型で使い勝手の良い、加賀FEI製ES2810AA(nRF52810搭載)を使用してnRF Toolboxの使い方をご説明します。 NUSサンプルソフトは、ES2810AAのUARTと異なる端子をアサインしているため、端子アサインをES2810AAに合わせるように変更し、NUSの詳細ページに従いサンプルソフトをビルド、J-Link LiteでES2810AAにFWを書き込みます。後はPCと接続しnRF Connect for DesktopのSerial Terminalを起動すれば準備は完了です。 なお、nRF Connect SDKのインストールや使用方法、ポートアサインの変更などはNordicのDevAcademyをご参照ください。 iPhone上でnRF Toolboxを開くと下記の画面が表示されます。(Andorid端末の場合、表示が異なりますが基本機能は同様です)nRF Toolboxでは、標準プロファイルであるRSCS(Running Speed and Cadence Service) やHRS(Heart Rate Service)等との通信も確認する事が可能です。 NUSを確認する場合は【Universal Asynchronous receiver / transmitter(UART)】を選択します。【Connect】をタップすると、近くにあるNUSペリフェラルを表示します。表示されているデバイスをタップするとコネクションします。 9個ある四角をタップすると、画面が遷移します。【Text】か【Bytes】を選択し、送信したいデータを打ち込みます。アイコンはご自身の分かりやすいものを選択してください(違いはありません)更に【LF】【CR】またはその両方などを選択可能です。 後は表示されているアイコンをタップすると、スマートフォンからES2810AAへNUSでデータが送信されます。 作成したアイコンを長押しする事で、送信内容を変更や削除が可能です。 また複数のデータをマクロ化し、まとめて送信する事も可能です。 逆に、ES2810AAからスマートフォンへデータを送りたい場合、Serial Terminal上でキーを打ち込むと、アプリの【Logs】の画面で確認することができます。ただ【Logs】の画面はdefaultでDebugやInfoログなども表示されている為、少々見辛いです。これは設定で表示内容を制限することができます。 これで、スマートフォンからの送信データと受信データを確認する事が可能となります。NUS以外のプロファイルとの通信についても直感的で分かりやすいGUIとなっておりますので、是非お試しください。 なお、nRF ToolboxはGitHubにてコードを公開しておりますので、そのコードをベースにカスタムしてご使用頂く事も可能です。まず、簡単にBluetooth LEの通信を確認/評価したいという場合、非常に便利なツールとなっておりますので是非ご活用ください。 ご興味ございましたら弊社のお問い合わせ にご連絡ください。 今後もNordicの紹介及びコラムにて色々な情報を公開致しますので是非ご確認ください。 また、Facebookでも随時情報を公開しておりますので合わせてご確認ください。