新たなSigfox Operatorがロシアに加わりました。Energoという会社です。この会社のホームページを見る限りでは、ラトビアやリトアニアでサービスをしている0G Balticsという会社と関係がありそうです。
それはさておき、ロシアが加わったことにより、今までRC1~RC6の無線コンフィグレーションであったところに、RC7が加わりました。

RC7とは
Sigfox Buildサイトに各リージョンのRC定義が載っています。RC7は、欧州(RC1)の規格とほぼ同じで、上り周波数が欧州の868.130MHzに対して、868.8MHzと少しずれているだけです。
ですので、送信周波数を変更することができるATコマンドが通るRC1向け開発ボードがあれば、RC7環境をエミュレートすることができます。
Sigfox Network Emulator (SNE)とは
Sigfox社が提供しているゲートウェイエミュレータです。USBドングルタイプのSDRで、送受の周波数も設定で変更できるため、各国RC向けのデバイステストにも使えるものとなっています。こちらに使用方法を載せています。
RC7をSNEで試してみる
準備
下記のものを準備してください。
- Sigfox SDR Dongle: 上記SNE用のUSBドングルです。
- Sigfox Shield for Arduino (UnaShield): RC3用ですが、出力がほぼ同じ(アンプが要らない)のでRC7にも対応可能です(おそらくLBT機能は残ると思いますが)
- Arduino Uno

RC7の確認にあたっては、日本国内で電波を発信することは違法になるので、電波が外に漏れないように注意してください。
Sigfox Network Emulatorの設定
RADIO設定
RC7はSigfox Network Emulatorのデフォルト設定にはないので、Radio ConfigurationでOtherを選択した後、Uplink center frequency (Hz)を868800000、Downlink center frequency (Hz)を869100000、Uplink bit rateを100bpsに設定してください。

DEVICES設定
メッセージを受信するデバイスのDevice IDをIdentifierに入力してください。Nameはお好きな名前を入れていただければ結構です。

CALLBACKS設定
もし、ご自身で立ち上げているアプリケーションサーバにメッセージを送りたければ、CALLBACK設定をしてください。(ここでは割愛します)
UnaShieldからRC7でメッセージを送信する
そのまま動くサンプルスケッチはこちらからダウンロードして使ってください。
UnaShieldに搭載するSigfoxモジュールのRX/TXピンに対して、SoftwareSerialでATコマンドを送り、周波数変更をしています。
使われているATコマンドは下記のとおりです。
AT$IF=868800000 — RC7上り中心周波数
AT$DR=869100000 — RC7下り中心周波数
ATS410=1 — Public keyモードにする
ATS302=15 — 送信出力設定
AT$WR — 設定保存
あとは、AT$SFコマンドでメッセージを送るだけです。念のため、ポイントとなるコード部分だけピックアップしておきます。
# include <SoftwareSerial.h>
# define rxPin 5
# define txPin 4
// set up a new serial port
SoftwareSerial Sigfox = SoftwareSerial(rxPin, txPin);
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
if(DEBUG){
Serial.begin(9600);
}
// open Wisol communication
// define pin modes for tx, rx:
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
Sigfox.begin(9600);
delay(100);
sendCommand("AT$IF=868800000", "UL Frequency set: ");
sendCommand("AT$DR=869100000", "DL Frequency set: ");
sendCommand("ATS410=1" ,"Public key: ");
sendCommand("ATS302=15" ,"Set output power to max: ");
sendCommand("AT$WR", "Save config: ");
}
