LoginSignup
1
1

More than 5 years have passed since last update.

Wio LTEでSMSを受信してみる(mineo au SIM)

Last updated at Posted at 2017-10-27

Wio LTEでSMSを受信してみる(mineo au SIM)

前回の記事の続きです。

続報(2017/11/7)

dev branchだけど、SMS受信電番対応したよって連絡あったので、試してみました。

test.ino
char mes[256];
char number[256];

if(Wio.ReceiveSMS(mes,sizeof(mes),number,sizeof(number)) > 0)
{
  SerialUSB.print("SMS:");
  SerialUSB.println(number);
  SerialUSB.println(mes);
  Wio.DeleteReceivedSMS();
}

で、問題なく、SMS送信者の電番を取得することができました!
対応ありがとうございます!

環境(2017/10/27)

MacBook 12(2017)
MacOS High Sierra(10.13)
Arduino IDE 1.8.5
Wio LTE Library v1.0.1
Wio LTE Japan Version (SORACOM CONSOLE経由で購入) v1.0
mineo au MVNO 1 SIM(VoLTE専用)
mineo au 6 SIM(黒SIM)

結論

SMS送信は、mineo Docomoも音声SIMからiPhone 8で送信しています。
VoLTE専用SIMは、SMS受信できるけど、黒SIMの場合は、残念ながらSMSを受信できませんでした。
ReceiveSMS()関数は、古いSMSのものから、取り出してくれるので、DeleteReceivedSMS()を呼ばないと、新しいSMSを取り出せないのでご注意を!

考察

黒いSIMは、SMSを3G経由で受信する仕様なので、LTE Onlyのデバイスでは受信できないのかもね。
VoLTE専用は、そもそも、LTE網で、SMSも受信するので、OKということなんでしょう!きっと!

検証プログラム

test.ino
#include <WioLTEforArduino.h>
#include <limits.h>
#include <stdio.h>

WioLTE Wio;

void setup() {
  // put your setup code here, to run once:
  delay(200);

  SerialUSB.println("");
  SerialUSB.println("--- START ---------------------------------------------------");

  SerialUSB.println("### I/O Initialize.");
  Wio.Init();

  SerialUSB.println("### Power supply ON.");
  Wio.PowerSupplyLTE(true);
  delay(5000);

  SerialUSB.println("### Turn on or reset.");
  if (!Wio.TurnOnOrReset()) {
    SerialUSB.println("### ERROR! ###");
    return;
  }

  delay(3000);

  if(Wio.Activate("mineo.jp","mineo@k-opti.com","mineo") == true) {
    SerialUSB.println("Activate is True");
  } else {
    SerialUSB.println("Activate is False");
  }

  delay(3000);

  SerialUSB.println("Loop Start");
}

void loop() {
  char num[20];

  if(Wio.GetPhoneNumber(num,sizeof(num)) > 0) {
    SerialUSB.println(num);
  }

  int rssi = Wio.GetReceivedSignalStrength();
  if (rssi == INT_MIN) {
    SerialUSB.println("### ERROR! ###");
    goto err;
  }

  SerialUSB.print("RSSI:");
  SerialUSB.print(rssi);
  SerialUSB.println("");

  char mes[256];

  if(Wio.ReceiveSMS(mes,sizeof(mes)) > 0)
  {
    SerialUSB.print("SMS:");
    SerialUSB.println(mes);
    Wio.DeleteReceivedSMS();
  }

err:  
  delay(5000);
}

以上、ご参考までに

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1