Вернуться к библиотеке GSM

 

connected()

Описание

Функция позволяет узнать, подключен ли клиент к серверу. Обратите внимание, что при наличии непрочитанных данных клиент будет считаться подключенным, даже если соединение с сервером уже закрыто.

Синтаксис

client.connected()

Параметры

нет

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

boolean: если клиент подключен, функция возвращает true, в противном случае - false.

Пример

/*
  Веб-клиент

 Данная программа с помощью GSM-платы расширения заходит на указанный веб-сайт. 
 В примере показана процедура скачивания страницы по адресу "http://arduino.cc/" и 
 вывод ее содержимого в программу Serial monitor через последовательный порт.

 Схема:
 * GSM-плата расширения, подключенная к Ардуино
 * установленная SIM-карта

 создано 8 Марта 2012
 Автор - Tom Igoe

 http://arduino.cc/en/Tutorial/GSMExamplesWebClient

 */

// библиотеки
#include <GSM.h>

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

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

// инициализируем экземпляры классов
GSMClient client;
GPRS gprs;
GSM gsmAccess; 

// URL, путь и порт (например: arduino.cc)
char server[] = "arduino.cc";
char path[] = "/";
int port = 80; // порт 80 (по умолчанию для http)

void setup()
{
  // инициализируем последовательный интерфейс передачи данных
  Serial.begin(9600);
  Serial.println("Starting Arduino web client.");
  // состояние соединения
  boolean notConnected = true;

  // после инициализации модема функцией GSM.begin()
  // подключаем плату расширения к GPRS-сети с указанной точкой доступа APN, 
  //именем пользователя и паролем
  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("connecting...");

  // если соединение установлено, сигнализируем об этом через последовательный порт:
  if (client.connect(server, port))
  {
    Serial.println("connected");
    // делаем HTTP-запрос:
    client.print("GET ");
    client.print(path);
    client.println(" HTTP/1.0");
    client.println();
  } 
  else
  {
    // если подключиться к серверу не удалось:
    Serial.println("connection failed");
  }
}

void loop()
{
  // если от сервера поступили данные, 
  // то считываем и выводим их:
  if (client.available())
  {
    char c = client.read();
    Serial.print(c);
  }

  // если сервер отключился, то останавливаем клиент:
  if (!client.available() && !client.connected())
  {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    // больше ничего не делаем:
    for(;;)
      ;
  }
}

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