Sigfox Breakout Board (BRKWS01)の利用方法

技術情報

Sigfox Breakout board (BRKWS01)は、Wisolモジュールをベースとしたブレークアウトボードであり、開発キット(DevKit)として登録すれば、1年間の無償回線込みでお使いいただくことができます。デバイスの試作や実証実験用にお使いください。

20181213-01-technical-01.png

BRKWS01の中身を確認

Sigfox Breakout board Kitには、下記部品が同梱されています。

  • Breakout board (BRKWS01)本体
  • 1/2波長アンテナ
  • U.FL <> RP-SMAケーブル
  • ピンソケット x 4 

20181213-01-technical-02.jpg

マイコンボードと接続

Breakout boardのピン配置は、下図の通りです。

20181213-01-technical-03.png

基本動作に必要なピンはVCC/GND/TX/RXの4ピンとなっていますので、さまざまなマイコンボードと接続できますが、今回はArduino Unoと接続してみます。ブレッドボードと半田を用意しておいてください。

20181213-01-technical-04.jpg

Breakout boardとArduinoとの接続ピンのマッピングは下表のとおりです。

Breakout boardArduino
3.3V 3.3V
GND GND
RX 11
TX 10

DevKit登録

BRKWS01は、Sigfox DevKitとしての扱いが可能であるため、https://buy.sigfox.com サイトからDevKitとして1年間無料トークンを取得することができます。
DevKit登録のやり方は、こちらを参考にしてください。
この時、Device IDとPACを入力する必要がありますが、Kitに同梱しているカードに貼られているSIGFOX IDとPACを入力してください。

20181213-01-technical-05.jpg

Arduino用サンプルスケッチ

下記GitHubにArduino用サンプルプログラムをアップしています。
https://github.com/kccs-iot/brkws03-arduino
サンプルスケッチ(brkws03-at.ino)は、Arduinoのハードウェアシリアルと接続したPC等から、直接Sigfox ATコマンドを入力し、その動作を確認することができます。

brkws03-at.ino##.c
#include  
SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  Serial.println("Connect to the Sigfox Breakout board...");
  Serial.println("AT$I=10 : get Device ID");
  Serial.println("AT$I=11 : get PAC");
  Serial.println("AT$T? : get Temperature");
  Serial.println("AT$V? : get Voltages");
  Serial.println("AT$P=unit : set Power mode (unit = 0:software reset 1:sleep 2:deep_sleep)");
  Serial.println("AT$TR=unit : set Transmit repeat (unit = 0..2)");
  Serial.println("AT$WR : save config");
  Serial.println("AT$SF=[payload] : SEND SIGFOX MESSAGE");
  Serial.print("Device ID : ");
  mySerial.print("AT$I=10\r");
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

Sigfoxメッセージを送信

サンプルスケッチをArduinoに書き込み、シリアルモニタを起動すると、下図のような画面になります。ここで、AT$SF=[payload](今回はAT$SF=01234567890ABCDEF)を送信すると、Sigfoxメッセージが送信されます。

20181213-01-technical-06.png

無事受信されると、DEVICEのMESSAGES画面で送信メッセージを確認することができます。

また、AT$SF=[payload],1コマンドで下り要求メッセージを送信することも可能です。

今回は、マイコンボードとしてArduinoを使いましたが、是非、その他ボードでも試してください。