Функція attachGPRS()

Документація

Клас GPRS

attachGPRS()

Підключає до визначеного імені точки доступу (APN), щоб ініціювати GPRS-зв'язок.
Кожен стільниковий провайдер має APN, яке служить мостом між мережею та інтернетом. Іноді є ім'я користувача і пароль, пов'язаний з точкою підключення. Наприклад, ім‘я точки доступу Bluevia — bluevia.movistar.es, але паролю чи імені входу нема.
Тут міститься деяка інформація про провайдерів, але вона може бути застарілою. Вам може знадобитися отримати цю інформацію від Вашого постачальника послуг.

Синтаксис
grps.attachGPRS(APN, користувач, пароль)

Параметри
APN: масив символів, ім’я точки доступу (APN), що надається мобільним оператором
користувач: масив символів, ім'я користувача для APN
пароль: масив символів, пароль для доступу для APN

Повертає
масив символів: ERROR, IDLE, CONNECTING, GSM_READY, GPRS_READY, TRANSPARENT_CONNECTED

Приклад
#include <GSM.h>

// PIN-номер
#define PINNUMBER ""

// дані APN
#define GPRS_APN       "GPRS_APN" // замінити GPRS APN
#define GPRS_LOGIN     "login"    // замінити Вашим GPRS-логіном
#define GPRS_PASSWORD  "password" // замінити Вашим GPRS-паролем


// ініціалізувати приклад бібліотеки
GPRS gprs;
GSM gsmAccess;     // включити параметр істини для активації налагодження
GSMServer server(80); // порт 80 (http за замовчуванням)

// час вийшов

const unsigned long __TIMEOUT__ = 10*1000;

void setup()
{
  //  ініціалізувати послідовні зв’язки
  Serial.begin(9600);

  //  стан підключення
  boolean notConnected = true;

  // Розпочати роботу GSM-шилда
  // Якщо SIM має PIN, передайте його як параметр begin () у лапках
  while(notConnected)
  {
    if((gsmAccess.begin(PINNUMBER)==GSM_READY) &
        (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY))
      notConnected = false;
    else
    {
      Serial.println("Не підключено");
      delay(1000);
    }
  }

  Serial.println("Підключено до GPRS-мережі");

  // запустити сервер
  server.begin();

  // Отримати IP.
  IPAddress LocalIP = gprs.getIPAddress();
  Serial.println("IP-адреса сервера=");
  Serial.println(LocalIP);
}

void loop() {


  // Слухати вхідних клієнтів
  GSM3MobileClientService client = server.available();



  if (client)
  {  
    while (client.connected())
    {
      if (client.available())
      {
        Serial.println("Отримання запиту!");
        bool sendResponse = false;
        while(char c=client.read()) {
          if (c == '\n') sendResponse = true;
        }

     // якщо ви потрапили до кінця рядка (отримано символ нового рядка) 
       if (sendResponse)
       {
          // відправити стандартний заголовок відповіді http 
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          client.println("<html>");
          // вивести значення кожного аналогового вхідного піна
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            client.print("аналоговий ввід");
            client.print(analogChannel);
            client.print(" є ");
            client.print(analogRead(analogChannel));
            client.println("<br />");       
          }
          client.println("</html>");
          // необхідна затримка
          delay(1000);
          client.stop();
        }
      }
    }
  }
}

Повернутись до головної

Коментарі 0

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.