当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Arduino MKRNB - remoteNumber()用法及代码示例


说明

从传入的 SMS 消息中检索电话号码并将其存储在命名数组中。

用法

SMS.remoteNumber(number, size)

参数

  • number: char 数组,一个命名数组,将保存发送者的号码
  • size:int,数组的大小

返回

  • int

在异步模式下,remoteNumber() 如果最后一个命令仍在执行,则返回 0,如果成功则返回 1,如果有错误,则返回 >1。在同步模式下,如果执行成功则返回 1,否则返回 0。

示例

// include the NB library
#include <MKRNB.h>

#include "arduino_secrets.h"
// Please enter your sensitive data in the Secret tab or arduino_secrets.h
// PIN Number
const char PINNUMBER[] = SECRET_PINNUMBER;

// initialize the library instances
NB nbAccess;
NB_SMS sms;

// Array to hold the number an SMS is retrieved from
char senderNumber[20];

void setup() {
  // initialize 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
  }

  Serial.println("SMS Messages Receiver");

  // connection state
  bool connected = false;

  // Start GSM connection
  while (!connected) {
    if (nbAccess.begin(PINNUMBER) == NB_READY) {
      connected = true;
    } else {
      Serial.println("Not connected");
      delay(1000);
    }
  }

  Serial.println("NB initialized");
  Serial.println("Waiting for messages");
}

void loop() {
  int c;

  // If there are any SMSs available()
  if (sms.available()) {
    Serial.println("Message received from:");

    // Get remote number
    sms.remoteNumber(senderNumber, 20);
    Serial.println(senderNumber);

    // An example of message disposal
    // Any messages starting with # should be discarded
    if (sms.peek() == '#') {
      Serial.println("Discarded SMS");
      sms.flush();
    }

    // Read message bytes and print them
    while ((c = sms.read()) != -1) {
      Serial.print((char)c);
    }

    Serial.println("\nEND OF MESSAGE");

    // Delete message from modem memory
    sms.flush();
    Serial.println("MESSAGE DELETED");
  }

  delay(1000);

}

相关用法


注:本文由纯净天空筛选整理自arduino.cc大神的英文原创作品 MKRNB - remoteNumber()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。