Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.

Библиотека 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()

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

  1. GSMClientConnected