M5Stack用Sigfoxモジュール

ee9king に投稿

SNOCのSigfox Breakout Board [BRKWS01]が購入できなくなった。今だけかもしれないが市場にはなさそうである。共立にたくさん在庫があったようだが、販売終了になっていた。開発キットを拡販することはもう終わりにして事業収益に特化するような動きになっているのかもしれない。

23年5月時点で入手できたものに、M5Stack用のモジュールがある。スイッチサイエンスで、現時点で在庫が10個。売り尽くしたら販売終了となると考えられる。

 

M5Stackは持っていないのでmbedで動作できるだろうから試した。モジュールの黒い基板は使用せず緑の方だけで用が済む。

  1. M5Stackのモジュールの中にSigfoxモジュールの緑色の基板が刺さってるので、取り外す。
  2. 接続はR=モジュール側UARTのRX、T=モジュール側UARTのTX。それに、RSTとVIN/GNDである。
  3. VINは緑色基板内に3.3VのLDOが入っているので5Vを入力する。
  4. RSTはVDDを直結すると引きまこれるようで(これがわかるまで随分悩んだ)、mbedの起動に失敗するみたい。なので開放にしておく。SFM11R3のデータシートでも(Optional)という記載になっており開放のままでも良さそうである。
  5. sigfoxにデバイスを登録する際、DeviceIDとPACコードが必要になるが、このモジュールには記載された紙などは同梱されてない。そのため、ATコマンドで読み出す必要がある。幸い、ATコマンドはSNOCの製品と主要部分は同じようだ。

mbed側は、NucleoのF411を使用した場合で下記の接続とコードになる。

#include "mbed.h"
#include "Serial.h"

Serial pc(USBTX, USBRX);
Serial sigfox(D10,D3);    // tx,rx

int main(){
    char buff[32];

    wait_ms(500);
    pc.printf("DeviceID : ");
    sigfox.printf("AT$I=10\r");
    sigfox.scanf("%s",buff);
    pc.printf("%s\r\n",buff);

    pc.printf("PAC : ");
    sigfox.printf("AT$I=11\r");
    sigfox.scanf("%s",buff);
    pc.printf("%s\r\n",buff);

    while(1);
}

コマンド詳細については、SFM11R3のデータシートの記載を読めばわかる(本記事に添付)。

Payload送信も同じコマンド列だった。ここまでわかればあとはなんとでもなる。

sigfox.printf("AT$SF=00FFEE\r");

デバイスを登録するために、まず契約を1本購入(sigfoxbuy)する。「buy connectivity」からEnterprizeでない方を選んで進んでいけばわかると思う。

その後sigfoxクラウドにてデバイスを紐づける際に、先ほど購入したContracts(トークンが残っているContractを選ぶ)とDeviceIDとPACコードを紐づけることで登録が完了する。

そして、1メッセージ(AT$SF=****)を送信することで、有効化されメッセージを確認することができるようになる。

 

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
  • 行と段落は自動的に折り返されます。