Arduino:Библиотеки/GSM/Класс GSMClient/connected()

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.

Библиотека GSM
(Обсуждение Arduino:Библиотеки/GSM#disqus_thread)

Функции:

Функция connected()[1]

Возвращает данные о том, подключен ли клиент или нет. Клиент считается подключенным, даже если соединение было закрыто, но непрочитанные данные еще есть.

Синтаксис

client.connected()

Параметры

Нет.

Что возвращает

Если клиент подключен  true, если нет  false. Тип данных  boolean.

Пример

  1 /*
  2   Веб-клиент
  3 
  4  Этот скетч при помощи GSM-модуля подключается к вебсайту. Если
  5  точнее, он загружает URL «http://arduino.cc» и отображает его 
  6  через монитор порта. 
  7 
  8  Цепь:
  9  * GSM-модуль, подключенный к Arduino
 10  * SIM-карта с активным тарифным планом
 11 
 12  Создан 8 марта 2012 года Томом Иго (Tom Igoe)
 13 
 14  http://arduino.cc/en/Tutorial/GSMExamplesWebClient
 15 
 16  */
 17 
 18 // библиотеки:
 19 #include <GSM.h>
 20 
 21 // PIN-код:
 22 #define PINNUMBER ""
 23 
 24 // Данные об APN:
 25 #define GPRS_APN       "GPRS_APN" // замените на свой APN
 26 #define GPRS_LOGIN     "login"    // замените на свой логин к APN
 27 #define GPRS_PASSWORD  "password" // замените на свой пароль к APN
 28 
 29 // инициализируем экземпляр библиотеки:
 30 GSMClient client;
 31 GPRS gprs;
 32 GSM gsmAccess; 
 33 
 34 // URL, путь и порт (к примеру, «arduino.cc»):
 35 char server[] = "arduino.cc";
 36 char path[] = "/";
 37 int port = 80; // порт 80 – это дефолтный порт для HTTP
 38 
 39 void setup()
 40 {
 41   // инициализируем последовательную коммуникацию:
 42   Serial.begin(9600);
 43   Serial.println("Starting Arduino web client.");  //  "Запуск веб-клиента Arduino."
 44   // состояние соединения:
 45   boolean notConnected = true;
 46 
 47   // запустив модем функцией GSM.begin(),
 48   // подключаем модуль к GPRS-сети при помощи APN, логина и пароля:
 49   while(notConnected)
 50   {
 51     if((gsmAccess.begin(PINNUMBER)==GSM_READY) &
 52         (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY))
 53       notConnected = false;
 54     else
 55     {
 56       Serial.println("Not connected");  //  "Соединение не удалось"
 57       delay(1000);
 58     }
 59   }
 60 
 61   Serial.println("connecting...");  //  "подключение..."
 62 
 63   // если подключение прошло успешно, сообщаем через монитор порта:
 64   if (client.connect(server, port))
 65   {
 66     Serial.println("connected");  //  "соединение установлено"
 67     // делаем HTTP-запрос:
 68     client.print("GET ");
 69     client.print(path);
 70     client.println(" HTTP/1.0");
 71     client.println();
 72   } 
 73   else
 74   {
 75     // если подключиться к серверу не удалось:
 76     Serial.println("connection failed");  //  "Соединение не удалось"
 77   }
 78 }
 79 
 80 void loop()
 81 {
 82   // если у сервера есть какие-нибудь байты для считывания, 
 83   // считываем их и показываем через монитор порта:
 84   if (client.available())
 85   {
 86     char c = client.read();
 87     Serial.print(c);
 88   }
 89 
 90   // если сервер отключился, останавливаем работу клиента:
 91   if (!client.available() && !client.connected())
 92   {
 93     Serial.println();
 94     Serial.println("disconnecting.");  //  "отключение."
 95     client.stop();
 96 
 97     // вечно ничего не делаем: 
 98     for(;;)
 99       ;
100   }
101 }

См.также

  1. ready()
  2. connect()
  3. beginWrite()
  4. write()
  5. endWrite()
  6. connected()
  7. read()
  8. available()
  9. peek()
  10. flush()
  11. stop()

Внешние ссылки