趣味のログ

自分用の作業ログ。。

Sigfox Shield for Arduino (UnaShield) を使ってセンサー情報をSORACOMへ送信

京セラコミュニケーションシステム株式会社(KCCS)がSigfoxをArduinoで使用できるシールドを発売した。
加速度センサ(MMA8451Q)、温湿度・気圧センサ(BME280)を搭載している。

www.kccs.co.jp

ソラコムと、スイッチサイエンスで販売しているが、今回はソラコムから購入した。(ソラコムの方が400円ほど高いので注意)
いずれから購入した場合も、1年間のSigfox回線利用料が含まれている。
シールドのみの販売で、Arduino本体は別売りなので注意。また2年目以降は、別途通信料が発生する。

スイッチサイエンスから購入すると、センサー情報をSigfox社のクラウドに送信・蓄積ができる。クラウドWebは日本語対応してない?が、データは1年保存してくれる(Sigfoxクラウドについて参照)。2年目以降は別途Sigfox契約が必要らしいが、どのように契約したらいいのかはよくわからない。。(KCCSの取扱説明書と、スイッチサイエンスの商品紹介を参照)

一方、ソラコムから購入すると、ソラコムAirなどと同じように、ユーザーコンソールで利用ができ、2年目以降も継続利用可能(料金は発生する)。ただしデータ蓄積はSORACOM Harvestの利用が必要で、データ保存期間は40日のみ。SORACOM Beamなどを使えば、AWSなどにデータ転送することは可能。

安く済むのはスイッチサイエンス版かもしれないが、ソラコムのアカウントは既に持っており、コンソールも使いやすかったので、今回はソラコムにした。

品薄だったのか、発注から手元に届くまで9日かかった。ただ4日目に、発送予定日と「遅れて申し訳ない」との旨をメールで連絡はいただけた。

ソラコムから購入するには、ソラコムアカウントの作成が必要。詳しくは、SORACOM Air for Sigfox の利用方法を参照。

Sigfoxとは

フランスで設立された通信事業者のSIGFOX社が提供する、低価格・低消費電力・長距離伝送を特長とした、グローバルIoTネットワーク。日本ではKCCSが展開している。
LPWA(Low Power=省電力、Wide Area=広域エリア)ネットワークの一つ。
アンライセンス系 LPWAと言われ、類似の通信規格にはLoRaWANがある。
ライセンス系 LPWAには、LTE Cat0, M1, NB-IoTがあるそう。 このあたりはソラコムの解説(LPWA とは? Low Power Wide Area)が詳しい。

Sigfoxについてはこちらも参照。

設定方法

※シールドを取り付けるArduino本体は別途必要。今回は、Arduino Uno R3を別途購入した。

ソラコムのSigfox Shield for Arduino をセットアップするに従えば設定が完了する。

ただ、↑のページで「Sigfox デバイスの受取確認をする」とあるが、「受け取り確認」ボタンを押すとエラーが発生して出来なかった※。
そのため、「Sigfoxデバイス管理」メニューから、「SigfoxデバイスID」と「PAC(Porting Authorization Code)」を自分で登録した。
バイスIDと、PACは、Arduinoシールド本体に貼ってあるQRコードを読み込むと分かる(KCCSの取扱説明書参照)。 ただQRコードが小さく、読み取りに苦戦。。自分のスマホでは読み取れず、手持ちの別スマホで無事読み取れた。スマホが古いのが悪かったのか読み取りアプリが悪かったのか。。

あと↑のページを見る限り、「受け取り確認」を押すと、「Sigfox-Harvest」という「Sigfoxグループ」が作られ、デバイスに自動で紐づけしてくれている?ようなのだが、これも自分で設定した。(コンソールから勘でやった)

※エラーメッセージを残すの忘れてた。。手動登録後は「サーバ内部でエラーが発生しました。メッセージ:400 Bad Request」と出る。初めは、「nullがどうたらこうたら。。」みたいなメッセージだった気がする)

シールドのセットアップは簡単。アンテナを付けて、Arduinoに差せば終わり。

Arduino 開発環境は、Arduino Desktop IDEの、Windowsインストーラーをダウンロードし、全てデフォルト設定のまま、Windows10にインストールした。
バージョンは、ARDUINO 1.8.5。

あとは、Sigfox Shield for Arduino をセットアップするのページ通りサンプルスケッチを実行すれば、気温データの送信に成功し、SORACOM Harvestで確認ができた。
データ収集・蓄積が不要であれば、SORACOM HarvestはOFFのままでよいと思う。
データの転送をしたいならば、SORACOM Beam などを使う必要がある。