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


Arduino MKRGSM - gprs.attachGPRS()用法及代码示例


说明

连接到指定的接入点名称 (APN) 以启动 GPRS 通信。

每个蜂窝提供商都有一个接入点名称 (APN),用作蜂窝网络和互联网之间的桥梁。有时,存在与连接点关联的用户名和密码。例如,Bluevia APN 是 bluevia.movistar.es,但它没有密码或登录名。

此页面列出了一些承运人的信息,但可能不是最新的。您可能需要从您的服务提供商处获取此信息。

用法


grps.attachGPRS(APN, user, password)


参数

APN:char 数组,移动操作符提供的接入点名称(APN)用户:char 数组,APN 的用户名密码:char 数组,访问 APN 的密码

返回

错误、空闲、连接、GSM_READY、GPRS_READY、TRANSPARENT_CONNECTED

示例

#include <MKRGSM.h>

// PIN Number
#define PINNUMBER ""

// APN data
#define GPRS_APN       "GPRS_APN" // replace your GPRS APN
#define GPRS_LOGIN     "login"    // replace with your GPRS login
#define GPRS_PASSWORD  "password" // replace with your GPRS password


// initialize the library instance
GPRS gprs;
GSM gsmAccess;     // include a 'true' parameter for debug enabled
GSMServer server(80); // port 80 (http default)

// timeout
const unsigned long __TIMEOUT__ = 10*1000;

void setup()
{
  // initialize serial communications
  Serial.begin(9600);

  // connection state
  boolean notConnected = true;

  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while(notConnected)
  {
    if((gsmAccess.begin(PINNUMBER)==GSM_READY) &
        (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY))
      notConnected = false;
    else
    {
      Serial.println("Not connected");
      delay(1000);
    }
  }

  Serial.println("Connected to GPRS network");

  // start server
  server.begin();

  //Get IP.
  IPAddress LocalIP = gprs.getIPAddress();
  Serial.println("Server IP address=");
  Serial.println(LocalIP);
}

void loop() {


  // listen for incoming clients
  GSM3MobileClientService client = server.available();



  if (client)
  {  
    while (client.connected())
    {
      if (client.available())
      {
        Serial.println("Receiving request!");
        bool sendResponse = false;
        while(char c=client.read()) {
          if (c == '\n') sendResponse = true;
        }

     // if you've gotten to the end of the line (received a newline
     // character)
       if (sendResponse)
       {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(analogRead(analogChannel));
            client.println("<br />");      
          }
          client.println("</html>");
          //necessary delay
          delay(1000);
          client.stop();
        }
      }
    }
  }
}

 

相关用法


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