attachGPRS()

Описание

Осуществляет подключение к указанной точке доступа (APN) для начала GPRS-сеанса связи.

У каждого мобильного провайдера есть точка доступа с определенным именем (APN - Access Point Name), которая связывает мобильную сеть с глобальной сетью Интернет. Иногда у точки доступа могут быть заданы имя пользователя и пароль. Например, у провайдера Bluevia имя точки доступа задано как "bluevia.movistar.es", но имя пользователя и пароль отсутствуют.

На этой странице перечислены параметры различных операторов связи. Эти данные могут быть устаревшими, поэтому лучше уточнить необходимые параметры у своего провайдера.

Синтаксис

grps.attachGPRS(APN, user, password)

Параметры

  • APN : массив символов, имя точки доступа (APN) мобильного провайдера
  • user : массив символов, имя пользователя для APN
  • password : массив символов, пароль для доступа к APN

Возвращаемые значения

массив символов : ERROR, IDLE, CONNECTING, GSM_READY, GPRS_READY, TRANSPARENT_CONNECTED

Пример

#include <GSM.h>

// PIN-код
#define PINNUMBER ""

// Данные точки доступа APN
#define GPRS_APN       "GPRS_APN" // замените на свою GPRS-точку доступа
#define GPRS_LOGIN     "login"    // замените на свой логин для подключения к GPRS
#define GPRS_PASSWORD  "password" // замените на свой пароль для подключения к GPRS


// инициализируем экземпляры классов
GPRS gprs;
GSM gsmAccess;     // для включения режима отладки добавьте параметр 'true'
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("Not connected");
      delay(1000);
    }
  }

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

  // запускаем сервер
  server.begin();

  // получаем IP
  IPAddress LocalIP = gprs.getIPAddress();
  Serial.println("Server IP address=");
  Serial.println(LocalIP);
}

void loop() {


  // ожидаем подключения клиентов
  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 (sendResponse)
       {
          // отправляем стандартный заголовок http-ответа
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          client.println("");
          // отправляем величину напряжения на каждом аналоговом входе
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(analogRead(analogChannel));
            client.println("
"); } client.println(""); //обязательная задержка delay(1000); client.stop(); } } } } }

Смотрите также