SORACOM Blog

ソラコムの最新情報をお届けします

Acroquest Technology 社様の Torrentio が Funnel に対応

これまで SORACOM Funnel (以下 Funnel )は、主要なクラウドサービスベンダー(いわゆる目がクラウド)の各サービスのみならず、SORACOM Partner Spaces の認定ソリューションパートナー様のサービスにデータを直接送信出来る Partner Adaptor に対応しておりました。

本日、新たに Acroquest Technology 社様の Torrentio に Funnel が対応した事で、デバイスからのデータ送信が容易となり、より手軽にリアルタイムストリームデータ処理を行って頂けるようになりました。

Torrentio とは

ストリームデータ処理を行うサービスをプログラミングレスで構築し、センサーデータや動態データをリアルタイムで解析する、IoT向けのデータ分析プラットフォームです。

IoTアプリケーションプラットフォームの「Torrentio」は 、 ・RESTや MQTT、 Amazon Kinesis等、 IoTに最適なインタフェースとの多彩な接続性 ・複雑な設定が不要な機械学習エンジンによる、異常検知や予兆保全 ・サービスのスタートアップや、サービスの拡張・変更に素早く対応 といったことを実現し、テレマティクス分野、電力・エネルギー分野、生産・オートメーション分野、セキュリティなど、あらゆる分野で、IoTサービスの展開をしたいと考える事業担当者、開発担当者の皆様のニーズを満たします。

  • 構成イメージ 構成イメージ

  • カスタマイズ可能なモニタリングダッシュボードで可視化 可視化

  • 複雑な設定やモデル構築などの作業は不要で、自動で正常時の動作パターンを分析することで、「いつもと違う」異常状態を簡単に検知できます 異常検知

利用するには

Torrentio側では、Funnel Endpoint を追加します。

SORACOM 側では、SORACOM Funnel の設定画面で Acroquest Technology Torrentio を選択し、テナントIDとエンドポイントIDを入力、認証情報(APIキー)を登録するだけで、設定は完了です。

設定画面

実際にデバイスからデータを送信するには、JSON形式のデータを HTTP エントリポイントに対して POST や TCPソケット/UDPパケット でデータを送信するだけとなります。

参考リンク

グローバルカバレッジの請求書払いに対応しました。

ソラコム グロースエンジニアの江木です。 本日、グローバルカバレッジでも請求書払いに対応したことをご案内します!

これまで、SORACOM Airでは、NTT ドコモのネットワークを利用した日本向け Air SIMと、グローバルの120を超える国と地域で利用できるグローバル向け Air SIMを提供してきました。

グローバル向け Air SIMは、日本向けAir SIMとは異なる料金体系を用意しています。 1ヶ月0.4USD(約44円)から使用できるプラン01 - Low Data Volumeや、使用開始前の Air SIM は 1 年間は 0USDなど、基本料金を抑えて利用することができます。

今回、多くのお客様から要望をいただいていたグローバルカバレッジも請求書払いに対応しました。ご利用にあたっては、ご申請が必要です。こちらからご申請をお願いいたします。

注意点もありますので、あわせてご確認ください。

  • これまでの日本カバレッジと同様に日本の法人のお客様を対象としております。
  • グローバルカバレッジの料金は、USDとなっています。請求書払いの場合、グローバルカバレッジのご利用分は月中平均 TTS(※) での円転となります。
  • 「日本カバレッジ」「グローバルカバレッジ」の両方のカバレッジを選択すると、 1 つの請求書にまとめて送付いたします。
  • 請求書切り替え手数料(初回のみ 500円)、請求書発行手数料(1通あたり500円/月)、請求書の送付方法で「郵送」の場合は、さらに請求書郵送手数料:200円/通が発生します。

さらに詳細は、請求書発行プロセスのご案内もご確認ください。

ソラコム江木

LoRaWAN評価用ボード
STM32L0 LoRa Discovery Kit の販売を開始しました!

好きなSORACOMサービスは SORACOM Air for LoRaWAN な松下(max)です。

2017年2月に商用サービスを開始した SORACOM Air for LoRaWAN は、お使いいただけるLoRaデバイスは「LoRa Arduino 開発シールド」「LoRa GPS トラッカー LT-100」と2種類ありましたが、本日より「STM32L0 LoRa Discovery Kit」が仲間に加わることになりました!

STM32L0 LoRa Discovery Kit

STM32L0 LoRa Discovery Kitの特長

  • LoRaモジュールを搭載し、アンテナも標準添付。もちろん技適OKです
  • マイコン搭載 (Cortex©-M0+ベースの超低消費電力STM32L0シリーズMCU)
    • サポートされる開発環境は Getting Start で紹介している Keil MDK-ARM だけでなく、Arm Mbed online※1といった開発環境もサポートしています
    • Arduino UNO R3互換コネクタも搭載しています
  • 単4乾電池ホルダーを搭載、電池だけのスタンドアロン運用が可能です※2

※注意1:Mbed onlineで開発できるLoRaWANの環境は主にEUやUS向けの仕様です。日本向け仕様(AS923/ARIB)の開発はMDK-ARMをお使いください (2017年9月末現在) ※注意2: 乾電池運用する際にはボード上のハンダを取り外す必要があります(本ブログで紹介しています)

STM32L0 LoRa Discovery Kitを使い始めるには?

ご購入はSORACOM Webコンソールから行うことができます。

また、STM32L0 LoRa Discovery Kitが手元に届いてから、SORACOM Webコンソールでの登録や開発環境の整備は Getting Start にまとまっています。 若干手順が多めですが、一度構築してしまえばコンパイル→転送&実行できますので構築をお勧めいたします。

このブログで注目するのは「乾電池運用」です。IoTでいつも課題になるのが電源ですが、このSTM32L0 LoRa Discovery Kitは乾電池で動作させることができるのです!

乾電池運用が可能です

STM32L0 Discovery Kitは、単4乾電池 3本を電源として利用することができます。製品の裏面に電池ホルダーがついており、下図のように取り付けることができます。

乾電池を載せた様子

残念なことに出荷直後の状態では乾電池動作ができないのです。そこで、ここでは乾電池運用をするための作業をご紹介します。

※本作業によるいかなる不具合、生ずる不利益について弊社では一切の責任を負いませんので、ご注意ください! ※乾電池は別途ご用意ください

SB37をOFFにする

電池ホルダーの近くに SB37 という半田ブリッジがあります。 出荷時ではON (=半田によるショート) がされていますが、これをOFF (=半田を取り除く) ことで、電池運用が可能となります。

出荷時の状態

取り除く際には、半田ごてが必要です。半田のリムーバーがあると、より良いです。

作業の様子

※SB37をOFFにすることによる影響は、現在のところ確認されていません。 (UserManualのP14には “ SB37 must be removed to release the RESET pin managed by ST-LINK. In that case the ST-LINK is no more powered.” と書かれているのですが、ST-LINK UtilityやMDK-ARM、Mbedからのプログラム書き込みは可能であることを確認しています。)

おわりに

STM32L0 LoRa Discovery Kitの詳細なデータシートなどはB-L072Z-LRWAN1のページに掲載されています。

STM32L0 LoRa Discovery Kitは、このボード一つでマイコン&センサーI/F&LoRaWAN通信ができ、しかも乾電池で動くというIoT時代にぴったりのデバイスですので、お試しください!

ソラコム 松下

VPGに「固定グローバルIPアドレスオプション」が追加されました

SORACOM Canal や Direct/Door を使う際のコンポーネント VPG(Virtual Private Gateway) に、ソース IP アドレスを固定するための「固定グローバルIPアドレスオプション」が追加されました。これにより、IoT バックエンドシステムへのアクセス制御を IP アドレスで簡単に行えるようになります。

背景

通常設定の SORACOM Air for Cellular をお使いの場合、アクセス先のサーバから見えるソース IP アドレスは、3G/LTE セッションを確立する毎に変化する可能性があります。 また IoT プラットフォーム SORACOM はクラウド上で動作するスケーラブルなシステムであるため、そのソース IP アドレスが取りうる IP アドレスレンジは常に変化いたします。 そのため、企業内システムなどでアクセス元の IP アドレスをファイアウォールで絞って運用されたいようなケースの場合、ソース IP アドレスを指定する事が困難な状況でございました。

また、これまでもグローバル IP アドレスを固定的に利用できる SIM カードは市場に存在いたしましたが、SIM の枚数が増えた場合にファイアウォール等に設定するべきアドレスが増え、都度ルールを追加する必要があり、またはルール数の上限を気にする必要がありました。

新機能

本日発表いたします「VPG 固定グローバルIPアドレスオプション」をご利用いただきますと、特定の VPG に紐づけられている SORACOM Air for Cellular の SIM を利用した通信は、必ず2つの IP アドレスのうちいずれかをソース IP アドレスとした通信となります。また、その IP アドレスは他のユーザの SIM に利用される事はありませんので、安心して企業内システム等へのアクセス制御にご利用頂けます。

構成図

「VPG 固定グローバルIPアドレスオプション」をご利用頂いた場合には、SIM の枚数が増えてもそのアクセス元 IP アドレスはあらかじめ払い出されたアドレスとなりますので、システム管理上の手間は最小限となります。

また SORACOM Beam(以下 Beam ) をお使いである場合には、Beam 通信のアクセス元 IP アドレスもこの IP アドレスからとなりますので、よりセキュアに Beam をご活用頂く事が出来ます。

社内コンプライアンス等が事由で、IoTバックエンドシステムへのアクセスを IP アドレスで制限する必要がある場合には、是非本オプションのご活用をご検討下さい。

価格

本オプションをご利用の際には、VPG のご利用料金とは別に、1時間あたり15円の追加料金が必要となります。

ご利用方法

あらかじめ VPG (Type C)を起動の上、フォームからお申し込み下さい。

注意事項

  • VPG 固定グローバルIPアドレスへの切り替えには設定のため数営業日のお時間を頂戴しております。あらかじめご了承ください。
  • インターネットGWなしのVPGには適用できません。
  • LoRa および Sigfox の Beam 送信元 IP アドレスには適用できません。

MWC America 2017 出展レポート

先週アメリカサンフランシスコで開催された、MWC America 2017 にSORACOMも出展してきました。スペイン・バロセロナで開催されていた世界最大のモバイルに関するカンファレンスが、今年初めてアメリカで開催されることになりました。 会場となったのは、多くのIT企業が様々なイベントを開催するMoscone center。

SORACOM ブースは、4YFN(4 years from now) というスタートアップブースの一角に展示ブースを設置し、目の前にはSORACOM Theaterという名のステージも用意されてました!ステージとってもかっこいい! mwca2017

Seeed studioのWio TrackerのIoTスターターキットの提供受付を開始

MWC Americaに合わせ、9月13日に、Seeed StudioさんのWio Tracker とSORACOM のSIMが入ったすぐに始められるIoTスターターキットの提供を開始を発表しました。 GPSに加え、Groveのセンサーであればとても手軽に繋がるSeeedさんの Wio Tracker は SIMスロットも搭載されており、手元に届いたらすぐに簡単にIoTシステムを自前できます。

Seeedさんブースでは、ゴミ箱の蓋の内側に超音波センサーを取り付け中の容量がどのくらい溜まっているか、ゴミ箱の蓋は開いてるか否かを判断しモニターに表示します。 mwca2017

Sigfox コネクティビティのサポートを発表

さらに、この日は IoT に特化した通信と言われている LPWA 通信の Sigfox コネクティビティのサポートをUSでも開始することを発表しました。

ちょうどこの発表に合わせ、 Sigfoxを利用したハンズオンも実施。参加者は Rasbpery Pi と超音波センサーを利用したハンズオンとSigfoxハンズオンの両方をお試しいただきました。ラッキーなことにフランスからSigfox社のメンバーが来ていたこともあり、直接Sigfoxに関する紹介を聞くことができる貴重な時間となりました。 mwca2017 ベイエリアでは、定期的にIoTハンズオンを開催。とてもカジュアルな雰囲気で、参加者同士の交流も多くとても楽しい時間でした。リピーターの方も何名か参加し、Raspberry Piを使って作ったシステムを持ち込み紹介する方もいらっしゃいましたー! mwca2017 お近くの方、ぜひ足を運んでみてください^^シリコンバレーIoT meetup のページはこちら

MWC America では、CTO安川と、アメリカメンバーのCJが登壇をさせていただきました。Seeed StudioのErin氏、Google のAntony氏、ソラコム安川が登壇したパネルでは、1台から手軽に購入が可能なデバイスが普及し、クラウドサービスが誰でも利用が可能になり、1枚から始められるコネクティビティの容易さが広まるこの現状を説明し、はじめてみることの重要性をお伝えしました。 mwca2017

他のブースはあまり見て回る時間はありませんでしたが、こちらのブースが印象的だったので、ご紹介。 mwca2017 pycomというロンドンの会社ですが、ブースがなんとストリートアート!!このブースは一体なんなのかと気になり、立ち寄ってみると、デバイス屋さんでした。それも1つのデバイスに、wifi, BLE, LTE, LoRa, Sigfoxと5種類のコネクティビティを搭載しているモジュールを提供しているようで、話し込んでしまいました。EUでもソラコムハンズオンがドイツ・フランスで開催されてます。世界中の人が場所は違えど、同じようにハンズオンに参加し、興味を持って活動してくださる方々もつなげていきたいなーなんて野望を抱きながら帰路につきました。

mwca2017 日本からグローバルへ、今後も世界の様々なヒトとモノをつなげ共鳴する社会を目指していきます。

ソラコム熊崎

バイナリパーサー機能に「定義済みフォーマット」が追加されました

テック・エバとして全国を駆け回ってます、松下です。

先日開始したSigfoxデバイスの出荷ですが、その中でも6種のセンサーを搭載したSens'itが大変好評をいただいております!

一方でSens'itが出力するデータはバイナリパーサー機能を駆使する必要があるため、「データを手軽に展開できないか?」というご要望も多くいただいております

そこで今回、バイナリパーサー機能に新たなフォーマット 定義済みフォーマット が追加されました!

「定義済みフォーマット」

Sens'itをご利用いただいている方は、まずバイナリパーサー機能のフォーマットに @sensit とのみ入れて保存してみてください

@sensit

すると、次のデータから下記のようなJSONが出力されるようになります! (下記は整形済み)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
    "device": "XXXXXX",
    "time": "1504856794",
    "station": "XXXX",
    "lat": "36.0",
    "lng": "140.0",
    "rssi": "-126.00",
    "data": "816c1e71",
    "seqNumber": "1406",
    "mode": 1,
    "modeText": "Temperature + Humidity",
    "timeframe": 0,
    "timeframeText": "10 mins",
    "type": 0,
    "typeText": "Regular, no alert",
    "battery": 4.1,
    "tempCLowPrecision": 23,
    "tempFLowPrecision": 73.4,
    "tempC": 26.75,
    "tempF": 80.15,
    "reedSwitchState": 0,
    "humidity": 56.5,
    "binaryParserEnabled": true
}

従来は data というキーに入っている値 816c1e71 をバイナリパーサー機能で解く必要がありました 注目いただきたいのは humiditytempC という値が出るようになっています。他のモードで送信すれば、モードに合わせたJSONが出力されます このJSONはSORACOM Harvestはもちろん、SORACOM FunnelやSORACOM Beamでの送信時のデータペイロードになりますので、今まで以上にクラウド活用が容易となるわけです

解説

バイナリパーサー機能は、バイト/ビットをデータ仕様に従ってフォーマット文字列を組み立てることで利用ができます

今回使えるようになりました @ から始まるフォーマットは SORACOM で実装&提供するフォーマットであり、ご利用者がフォーマット文字列を組み立てる必要はありません

対応デバイスと定義済みフォーマット文字列

全2種です(2017年10月現在)

binaryParserEnabled について

よく見るとJSONデータの中に binaryParserEnabled: true というキー/値が入っています 今回のアップデートで一緒に入った機能で、出力されたJSONがバイナリパーサーによる解析済みなのか否かを判定することができます

  • バイナリパーサー機能によって解析済み: "binaryParserEnabled": true
  • バイナリパーサー機能を利用していない: "binaryParserEnabled": false もしくは このキー/値自体が存在しない

定義済みフォーマットの充実に向けて

現在は解析がかなり難しいデバイスに絞って定義済みフォーマットを実装&提供しています また、SigfoxのみならずLoRaWANデバイスでも利用できる機能であるため、今後より多くのデバイスのフォーマットに対応させたいと思っておりますので、是非とも皆さんのお声をいただけると助かります!

ソラコム 松下

Sigfoxデバイス2種の出荷が始まりました!

夏休みの宿題はため込む派の松下です。

7/5のSORACOM Discoveryで発表になりましたSigfoxのサポートですが、Sigfox対応デバイス2種の出荷がいよいよ始まります!

実際に利用可能なデバイスや通信可能な範囲、そして使い方をご紹介します。

Sigfoxの通信可能地域

まずはご自宅や利用したい地域でSigfoxの電波が届くか確認してみましょう!

Sigfoxの電波が届く範囲(カバレッジ)を調べるには、Sigfox社のcoverageページを見るのが一番です。 「Japan」を選択すると日本国内の状況が確認できます。

2017/8/30現在の日本の状況

水色になっている地域がSigfoxの電波が届く地域です。東京・大阪・愛知だけでなく、福岡や札幌でも利用可能になっているようですね。 この図は随時更新されているようですので、Sigfoxを検討する際には是非チェックしてください。

※範囲は基地局の配置から推測したものであり、実測や実績に基づいたものでは無いのでご注意ください。また範囲内であっても建物内では圏外となる可能性もあります。

Sigfoxデバイスのご紹介

今回SORACOMでご購入&ご利用できるSigfoxデバイスは2種類ご用意しています。

Sigfoxデバイス

Sigfoxの購入からセットアップまで

ご購入の方法はSORACOM Air for Sigfox の利用方法を、そしてデバイスが到着した後の登録作業はSigfox デバイス Sens’it をセットアップするに詳しく書かれていますので、ご覧ください。 ※セットアップのページはSens'itのものですが、ドライコンタクトコンバーターも同様にSigfoxデバイスの受取確認を行ってください。

デバイスの使い方:Sens'it

Sens'itは温湿度、照度、ドア開閉検知、振動検知、磁気、ボタンの6つのセンサーデータをSigfoxで送信できる、充電式バッテリー内蔵の汎用デバイスです。

Sens'it

Sens'it のデータを SORACOM Harvest に送信して表示する手順はSigfox デバイス Sens’it をセットアップするに記載されていますので、ここでは SORACOM Funnel を通じてクラウドへデータを送ってみます。

2017/9/8 UPDATE!! 定義済みフォーマットがリリースされ、Sens'itのデータを簡単に展開できるようになりました!

SORACOM Funnel から出力されるJSONデータは下記の通りで payloads.data にSens'itからのデータが格納されていますが、ビット単位で読み込んで展開する必要がある形式です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
    "operatorId": "OPXXXXXXXXXXX",
    "timestamp": 1504082329266,
    "destination": {
        "resourceUrl": "https://YOUR-AWS-IoT-ENDPOINT.amazonaws.com/YOUR_TOPIC/",
        "service": "aws-iot",
        "provider": "aws"
    },
    "credentialsId": "aws-cred",
    "payloads": {
        "seqNumber": "999",
        "lat": "99.9",
        "station": "XXXX",
        "time": "1504082323",
        "device": "XXXXXX",
        "rssi": "-115.00",
        "lng": "999.9",
        "data": "81651969"
    },
    "sourceProtocol": "sigfox",
    "deviceId": "XXXXXX"
}

幸いなことに sigfox/npm-sensit という Node.js ライブラリが提供されていますので、これを利用することで payloads.data の中身を展開することができます。

今回は AWS Lambda 上で展開し、再度AWS IoTにpublishしなおす Node.js コードをご紹介します。

全体構成

全体構成は以下の通りです。ポイントは AWS Lambda から直接Amazon S3に投げるのではなくAWS IoTを経由することで、将来他のサービスへデータの複製をすることを容易にするという点にあります。

手順は下記のとおりです。保存先から作成していきます。

  1. Amazon S3でバケットを作成
  2. AWS IoTで Amazon S3バケットへ保存するルールとアクションを作成 (同時にAmazon S3バケットへ保存できるIAMロールも作成)
  3. AWS Lambdaで関数を作成
  4. AWS IoTで AWS Lambda関数を実行するルールとアクションを作成 (同時にAWS Lambda関数を実行できるIAMロールを作成)
  5. SORACOM FunnelでAWS IoTへ転送する設定を作成

以上となります。各手順はマニュアル等参考にしてください。ここでは4のAWS Lambda関数の中身をご紹介します。

下記のコードと、2つの環境変数 AWSIOT_ENDPOINTAWSIOT_TOPIC_PREFIX をそれぞれ設定すれば完了です。

Amazon S3に保存される最終的なJSONは下記のとおりです。 temperaturehumidity が表示されています!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
    "operatorId": "OPXXXXXXXXXXX",
    "timestamp": 1504082329266,
    "destination": {
        "resourceUrl": "https://YOUR-AWS-IoT-ENDPOINT.amazonaws.com/YOUR_TOPIC/",
        "service": "aws-iot",
        "provider": "aws"
    },
    "credentialsId": "aws-cred",
    "payloads": {
        "seqNumber": "999",
        "lat": "99.9",
        "station": "XXXX",
        "time": "1504082323",
        "device": "XXXXXX",
        "rssi": "-115.00",
        "lng": "999.9",
        "data": "81651969",
        "sensit": {
            "frame": 2170886505,
            "frameStr": "81651969",
            "binary": "10000001011001010001100101101001",
            "bytes": [129, 101, 25, 105],
            "mode": "Temperature",
            "frameType": "Classic",
            "battery": 2.835,
            "temperatureLP": 12,
            "humidity": 52.5,
            "temperature": 26.125
        }
    },
    "sourceProtocol": "sigfox",
    "deviceId": "XXXXXX"
}

AWS IoTのルールを調整することで、Amazon Elasticsearch Service 等で可視化も可能でしょう。是非とも試してみてください! ※配布元の注意書きにもありますが、すべてのセンサーデータをサポートしてるわけではありませんのでご留意ください。

データ送信のタイミング

Sens'itですが、センサーデータ送信のタイミングが3つあります。1つめはモード切替直後の送信、2つめは定期的な送信 3つめはイベントトリガーによる送信です。 これは payloads.sensit.frameType で見分けることができます。モード切替直後の送信時は New Mode 、 定期的な送信時は Classic 、 イベントトリガーの送信時は Alert となります。 イベントトリガーですが、ドア開閉、加速度での数値変動、マグネットスイッチのON/OFFの変化が対象です。 それとは別に、ボタンを押した場合は Button となります。

デバイスの使い方:ドライコンタクトコンバーター

オプテックス社のドライコンタクトコンバーター(以下DCC)は、センサーからの接点出力を受け取り、その値をSigfoxで送信することができるデバイスです。

オプテックス ドライコンタクトコンバーター

この製品は接点出力を2チャンネル持っており、それぞれのチャンネルのON/OFFをトリガーにデータ送信をするモードの他、15分間のON(もしくはOFF)の回数を内部に保管し集計して送信するといったカウントモードが搭載されています。 またバッテリーを内蔵しており、保護等級IP65という耐塵&耐水性能もあるため、屋外でも利用可能です。

ところで、接点信号とはON/OFFの2値でセンサーとの入出力を行うシンプルなプロトコル(?)です。構造が単純ですので、私たちの生活のあらゆる場面で活躍しています。例えば照明のON/OFFや自動ドアの開閉などですが、気軽に入手できる接点出力可能なセンサーには、以下のようなものがあります。

  • ボタンスイッチ
  • トグルスイッチ
  • マグネットスイッチ(磁気を利用して回路を動かす)
  • 人感センサー(距離ではなく、一定範囲内の有無)
  • 照度センサー(一定光量以上もしくは以下の検出)

今回はマグネットスイッチをDCCのチャンネル1に接続してみました。

マグネットスイッチとDCCを接続してみたところ

左下の長方形の物体に磁石が入っており、距離に応じた磁気の強さによって内部回路のON/OFFが切り替わり、それを接点信号として出力します。応用例としては、ドアの開閉検知や物体の近接・遠隔の検知などに利用できます。

バイナリパーサー機能を利用してSORACOM Harvestでデータ表示

DCCから出力されるデータはバイナリ形式です。そこで今回は7/5に公開された新機能「バイナリパーサー機能」を利用し、JSON化したうえで SORACOM Harvest で可視化をしてみます。

DCCからの出力フォーマットはマニュアル※に記載されており、その内容に沿ってバイナリパーサーのフォーマットを組み立てます。 組み立てた結果は下記のとおりです。 ※マニュアルはご購入者に個別配布となっております(2017年9月現在)

1
event:0:char:2 count_ch1:2:uint:16 count_ch2:4:uint:16 battery_status:6:uint:8

SORACOM Air for Sigfox の「バイナリパーサー設定」をONにした上で、上記文字列をフォーマット欄に入力して保存します。 また、同時にSORACOM Harvestの設定もONにします。

SORACOM Air for Sigfoxの設定

この状態でマグネットスイッチを近づけたり離したりしてみましょう。すると下図のようにSORACOM Harvest上にデータ表示されます。

SORACOM Harvestでのグラフ

JSONデータは以下のようになります

アラームモードの結果JSON (N.O.でマグネットスイッチを近づけた時)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
    "device": "XXXXXX",
    "time": "1504166627",
    "station": "XXXX",
    "lat": "99.9",
    "lng": "999.9",
    "rssi": "-123.00",
    "data": "314c000000001e00",
    "seqNumber": "2031",
    "event": "1L",
    "count_ch1": 0,
    "count_ch2": 0,
    "battery_status": 30
}

event1L と記録されていることがわかります。

カウントモードの結果JSON (内部で回数を記録、15分毎に出力)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
    "device": "XXXXXX",
    "time": "1504166423",
    "station": "XXXX",
    "lat": "99.9",
    "lng": "999.9",
    "rssi": "-137.00",
    "data": "4354000300021e00",
    "seqNumber": "2030",
    "event": "CT",
    "count_ch1": 3,
    "count_ch2": 2,
    "battery_status": 30
}

チャンネル1のカウント count_ch13、チャンネル2のカウント count_ch22 と記録されていることがわかります。

もちろんこのJSONをSens'it同様に SORACOM FunnelSORACOM Beam を活用して、他のクラウドサービス連携も可能です。

開発者がSigfoxを手軽に利用する仕組みとして、SORACOM Air for Sigfoxは最適ですので、ぜひとも一度試してみてください!

ソラコム 松下

LoRa GPS トラッカー LT-100 の出荷が始まりました!

LoRa GPS トラッカー LT-100の出荷が始まりました! 最終的なテストも終え、先週より順次発送しております。

LT-100

セットアップ方法もあわせて公開しておりますので、ご確認ください。

LoRa GPS トラッカー LT-100 をセットアップする

とはいっても、ハードウェアのセットアップ方法は非常に簡単で、充電して電源をいれるのみです。あとは、 LoRaWAN デバイス設定ガイドに沿ってユーザコンソールから送信先などの設定を行ってください。

当デバイスは、1回の充電で、1日24回の通信だとほぼ1カ月間稼働します。 また、送信間隔は、初期設定では、60 秒間隔に設定されています。

これまで、LoRaデバイスについては、LoRa Arduino 開発シールド AL-050をご提供しておりましたが、すぐに使用できる製品が増え、とてもうれしく思っています! LoRa GPS トラッカー LT-100の詳細、購入方法は、こちらをご確認ください。

今後も扱うLoRaデバイスを増やしていく予定です。ご期待下さい!

ソラコム江木

参考

株式会社ソラコムのKDDIグループ参画について

本日、株式会社ソラコムは、KDDIグループへの参画について、KDDIと共同リリースを発表いたしました。2017年8月下旬を目途に、ソラコムはKDDIの連結子会社となる予定です。

ソラコムの日本におけるビジネスは、2015年9月の発表以降、7000以上のお客様にご利用いただき、350社以上のパートナー様にご支援いただいています。昨年末の米国でのサービス開始、年初の欧州でのサービス開始とグローバルへの展開も積極的に行ってまいりました。

KDDIとは、2016年12月に発表のIoT回線サービス「KDDI IoTコネクト Air」において、クラウド上に構築された携帯通信コアネットワーク「SORACOM vConnec Core」をソラコムから提供し、共同開発した経緯から、非常に密な協業を続けており、今回の発表に至りました。

今後、ソラコムは子会社として経営を継続し、 現在ソラコムが提供しているサービスは、既存のお客さまも新規のお客さまも、引き続き変わらずご利用いただけます。 また、両社は、KDDIのIoTビジネス基盤とソラコムの通信プラットフォームの連携により、国内はもとよりグローバルにも通じるIoTプラットフォームの構築を強力に推進してまいります。加えて、これまで培ったIoT/M2Mにおける知見や顧客基盤を活用し、新たなIoTビジネスを創出してまいります。

本発表は、日本発のテクノロジー・スタートアップとして2年半前に創業したソラコムにとって、大きなマイルストーンであり、非常に嬉しく思います。創業当初からゼロから事業をはじめるベンチャー企業に入社するというリスクを自らとってくれたチームメンバーや、WiL様、IVP様をはじめ、応援いただいた投資家の皆様、それから初期からご支援いただいたお客様、パートナー様のご期待に、ひとまずはある通過点を超えたという意味でお応えすることができて、正直ほっとしているところがあります。皆様、これまでのご支援、本当に有難うございました。皆様のおかげでここまでこれました。

一方で、私、玉川をはじめ、共同創業者である船渡、安川は、今回のアナウンスは、Exit(注)というより、むしろ、これまで単独では届かなかった領域に道を拓くEntranceだと考えており、さらなるチャレンジに対して身が引き締まるとともに、これからの冒険にワクワクしています。今後は、Amazonの中のAWSのように、KDDIの中のSORACOMとして、起業家精神を失うことなく、日本のみならず、世界中のお客様に使っていただけるIoT通信プラットフォームビジネスに成長させていきたいと考えております。 (注: スタートアップの世界では創業した会社がIPOやM&Aにより初期の投資家の方々にReturnを返すことを一般にExitと言います)

ソラコムは創業当初から 「世界中のヒトとモノをつなげる」 というビジョンと 「クラウドとモバイルのテクノロジーで世界をよりよい場所に変えることに貢献する」 というミッションを達成するために、リーダーシップ・ステートメントを作成し、それに共感するメンバーが集まることで事業を成長させてきました。

書籍 ”Zero to One”にも、「新しいものを作り出している限り「創業」は続き、それが止まると「創業」も終わる」とありますが、我々ソラコムは今後も、新しいものを作り出していき第2の創業期を迎えたいと考えています。

お互いを信頼した素晴らしいチームが集い、お客様をワクワクさせる素晴らしいサービスを作ることに全力を捧げてきました。それを今後も続けたいと思います! 日本発グローバルプラットフォームを作り上げる! テクノロジーイノベーションで、世界をよりよい場所にすることに貢献する!

これからも引き続き応援のほど宜しくお願い致します。

Still Day One

株式会社ソラコム CEO 玉川 COO 船渡 CTO 安川

SORACOM Funnel: TCPでのデータ送信時に複数のパケットを1つのメッセージに結合できるようになりました!

こんにちは。ソリューションアーキテクトの今井です。

SORACOM Funnel の送信データ形式のひとつとして「SORACOM Binary Format v1」がリリースされましたので、今日はこれをご紹介いたします!

これは何?

SORACOM Binary Format v1 とは、SORACOM Funnel の「送信データ形式」のひとつとして選択可能なデータフォーマットのひとつで、これに準ずる形で送信された複数の TCP パケット(厳密には TCP セグメント)を、SORACOM Funnel がひとつの大きなメッセージに結合をした上でクラウドに送信してくれます。

登場の背景

これまで SORACOM Funnel はデバイスから送信されてくる 1 つの TCP セグメントを 1 つのメッセージとして解釈してクラウドに送信していました。

TCP ヘッダの仕様上、理論的には 64KB までのデータ長を表現することは可能ですが、ネットワークの MTU などに制約をうけ、現実的な 1TCP セグメントの最大長は 1500 バイト弱となります。

これらのことから、SORACOM Funnel + TCP データ送信という組み合わせにおいては、1 メッセージあたり 1500 バイト弱という制約を受けていました。これ以上の大きなメッセージを送信したい場合は、クラウド側でメッセージの結合を行って頂く必要がありました。

どうのように動くの?

SORACOM Binary Format v1のメッセージフォーマットは以下のとおりです。

  • メッセージ長フィールド(2Byte)
  • メッセージボディ(メッセージ長フィールドに定義されたByte数)
  • チェックサム(2Byte, CRC-16 CCITT)
    • チェックサムの対象はメッセージ長フィールド、メッセージボディの双方を結合したものとする

SORACOM Funnel は TCP セグメントのペイロードの最初の 2 バイトをメッセージ長フィールドとして解釈し、それに続くメッセージボディを待ち受けます。そして最後に2バイトのチェックサムを受け取り、メッセージの完全性の検証を行い、成功すればクラウドへ転送(の上、成功を表すメッセージをクライアントへ送信)、失敗した場合にはクライアントにエラーを表すメッセージを返します。

正常系の動作シークエンスは以下のようになります。 正常系の動作シークエンス

メッセージ長フィールドが 2 バイトなので最大で 64K バイトまでのメッセージボディを取り扱うことができます。SORACOM Funnel は、最初の TCP セグメントを受け取った時点でタイマーを起動し、次の TCP セグメントを待ち受けます。タイマーは約 10 秒に設定されており、この時間内に期待される次のパケットが届かない場合、クライアントにタイムアウトを表すメッセージを返し、それまでバッファしていたメッセージの断片を破棄します。なお、このタイマーは各 TCP セグメントの到着ごとにリセットされます。

どうやって使うの?

下記のように SORACOM Funnel の送信データ形式を「SORACOM Binary Format v1」に設定していただくだけでご利用可能です。なお、TCP でのデータ送信時にのみ機能しますのでご注意ください。

コンソール

こんなところで活躍します

昨今、リッチなデバイスが増えてきて HTTP 上でテキストデータである JSON をやり取りすることが簡単になってきています。HTTP は大きなデータを取り扱うことが簡単にできますし、JSON を利用すれば構造化されたデータも取り扱えます。

しかし、キャパシティの小さなデバイスにとってこういった処理は大きな負荷となります。このようなデバイスにおいては TCP 上でバイナリデータを直接取り扱うことが好まれてきました。また、取り扱われるデータも、独自に構造化されたバイナリデータが扱われることも非常に多くありました。

今回の新機能を使うことにより、これまで利用してきた TCP + 独自のバイナリ(1パケットに収まらない可能性がある大きさのメッセージ)を SORACOM Funnel を使って簡単にクラウドに送信することができるようになります。

今日からご利用いただけます!

SORACOM Binary Format v1 は今日からご利用いただけます。TCP を使って SORACOM Funnel 経由でクラウドサービスに大きなメッセージを送信したいと思っていらっしゃった方はぜひお試しを!