SMKからSigfox Breakout Board (EM-WF931-02F)がリリースされています。
WF931というSigfoxモジュールをベースとした評価ボードで、SONYのSPRESENSEとピン互換があります。こちらにSPRESENSE Arduino用のサンプルコードもあるので、SPRESENSEをお持ちの人は簡単に試してみることができるでしょう。
ここでは、SPRESENSEを持っていない方(でも、Arduinoならあるよ)という方向けの使用方法をまとめます。
#Devkitとしてデバイスを登録する
EM-WF931-02FもDevkitとして登録されていますので、こちらの参考にして登録してもらえれば、1年間の無料回線込みでお使いいただけます。
#ハードウェア構成
EM-WF931-02Fは、WF931モジュールとチップアンテナが内蔵されていますが、半田ジャンパーで外部アンテナに切り替えることも可能です。
外観とピン配置は下図のようになっており、まず簡単に通信を確認するだけであれば、CN1_1(GND)とCN2_3(VDD)で電源供給、CN1_2(RX0)とCN1_3(TX0)でATコマンド制御、あとは、CN1_6(Reset)ピンに対して、起動時にリセットをかけた方が良いと思います。
#Arduinoと接続
手持ちのArduino(ここではArduino Uno)と下図のように配線します。
参考に配線例を下記に示します。
EM-WF931-02F | Arduino Uno |
---|---|
CN1_1 | GND |
CN1_2(RX0) | D9 |
CN1_3(TX0) | D8 |
CN1_6(RESET) | D2 |
CN2_3(VDD) | V3.3 |
##Arduinoスケッチサンプル
上記配線にあわせたサンプルスケッチは下記の通りとなります。Software Serialのポートやリセット用のPIN(PIN_RESET)に関しては、ご自身の配線にあわせて変更していただければ結構です。
このサンプルでは、デバイスIDとPACコードを表示、その後、メッセージをSigfoxクラウドに送信する例となっています。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(8, 9); // RX, TX
#define PIN_RESET 2
void setup() {
Serial.begin(9600); // PC-Arduino間のシリアル
while (!Serial) {;}
mySerial.begin(9600); // ソフトウェアシリアル(Arduino-EM-WF931-02F間)
// Configure reset pin
pinMode(PIN_RESET, OUTPUT);
// Do reset
digitalWrite(PIN_RESET, LOW);
delay(1000);
// Release reset
digitalWrite(PIN_RESET, HIGH);
delay(1000);
result();
atcommand("AT$ID?");
atcommand("AT$PAC?");
atcommand("AT$SF=0123456789ABCDEF");
}
void atcommand(String cmd){
mySerial.write("0x00");
delay(50);
Serial.println(">" + cmd);
mySerial.println(cmd);
delay(100);
result();
}
void result(){
char c;
if (mySerial.available()) {
do{
c = mySerial.read();
Serial.write(c);
if(c==0xFF){
Serial.println("Error!");
return;
}
}while(c!='\r');
// for LF
Serial.write(mySerial.read());
}
}
void loop() {
if (mySerial.available()) Serial.write(mySerial.read());
if (Serial.available()) mySerial.write(Serial.read());
}
ATコマンドを投げる前に"0x00"を送ってあげるのが、この評価ボードのマナーなのかと思います。(定かではありませんが、0x00なしでは、ATコマンドを受け付けませんでした。
###ATコマンド例
EM-WF931-02FもSigfoxの標準的なATコマンドを受け付けるようですが、AT?
コマンドは何も返してきませんでした。
ATコマンド | 内容 |
---|---|
AT$ID? | デバイスIDの取得 |
AT$PAC? | PACコードの取得 |
AT$SB | バイトメッセージ送信コマンド |
AT$SF | メッセージ送信コマンド |
通信に成功すれば、SigfoxクラウドのDevice-Messages画面で受信メッセージを確認することができます。
#EM-WF931-02Fの入手方法
フルタカパーツオンラインで取り扱いがあるようです。