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

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

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

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

Функции:

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

Подключается к указанному APN (от «access point name», что означает «имя точки доступа»), чтобы инициализировать GPRS-коммуникацию.

У каждого оператора связи есть APN, которая служит мостом между сетью этого оператора и интернетом. Иногда к этой точке привязаны логин и пароль. К примеру, APN для оператора Bluevia – это «bluevia.movistar.es», но логина и пароля у нее нет.

По этой ссылке находится список APN для разных операторов связи. Учтите, впрочем, что этот список может быть устаревшим. В таком случае лучше уточнить информацию об APN у вашего оператора связи.

Синтаксис

gprs.attachGPRS(APN, user, password)

Параметры

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

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

Одно из следующих значений  ERROR, IDLE, CONNECTING, GSM_READY, GPRS_READY, TRANSPARENT_CONNECTED (массив символов).

Пример

 1 #include <GSM.h>
 2 
 3 // PIN-код:
 4 #define PINNUMBER ""
 5 
 6 // Данные об APN:
 7 #define GPRS_APN       "GPRS_APN" // замените на свой APN
 8 #define GPRS_LOGIN     "login"    // замените на свой логин к APN
 9 #define GPRS_PASSWORD  "password" // замените на свой пароль к APN
10 
11 
12 // инициализируем экземпляр библиотеки:
13 GPRS gprs;
14 GSM gsmAccess;     // чтобы включить режим отладки, в скобочках нужно поставить параметр «true»
15 GSMServer server(80); // порт 80 (по умолчанию для HTTP)
16 
17 // таймаут:
18 const unsigned long __TIMEOUT__ = 10*1000;
19 
20 void setup()
21 {
22   // инициализируем последовательную коммуникацию:
23   Serial.begin(9600);
24 
25   // состояние соединения:
26   boolean notConnected = true;
27 
28   // запускаем GSM-модуль; если у SIM-карты есть PIN-код,
29   // вписываем его в скобочки функции begin():
30   while(notConnected)
31   {
32     if((gsmAccess.begin(PINNUMBER)==GSM_READY) &
33         (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY))
34       notConnected = false;
35     else
36     {
37       Serial.println("Not connected");  //  "Соединение не удалось"
38       delay(1000);
39     }
40   }
41 
42   Serial.println("Connected to GPRS network");    //  "Подключение к GPRS-сети прошло успешно"
43 
44   // запускаем сервер:
45   server.begin();
46 
47   // получаем IP-адрес:
48   IPAddress LocalIP = gprs.getIPAddress();
49   Serial.println("Server IP address=");    //  "IP-адрес сервера="
50   Serial.println(LocalIP);
51 }
52 
53 void loop() {
54 
55 
56   // слушаем входящих клиентов:
57   GSM3MobileClientService client = server.available();
58 
59 
60 
61   if (client)
62   {  
63     while (client.connected())
64     {
65       if (client.available())
66       {
67         Serial.println("Receiving request!");  //  "Запрос получен!"
68         bool sendResponse = false;
69         while(char c=client.read()) {
70           if (c == '\n') sendResponse = true;
71         }
72 
73      // если дошли до конца строки (получили символ новой строки)...
74        if (sendResponse)
75        {
76           // ...отправляем стандартный заголовок HTTP-ответа:
77           client.println("HTTP/1.1 200 OK");
78           client.println("Content-Type: text/html");
79           client.println();
80           client.println("<html>");
81           // отображаем значения всех входных аналоговых контактов: 
82           for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
83             client.print("analog input ");  //  "значение на входном аналоговом контакте "
84             client.print(analogChannel);
85             client.print(" is ");  //  " составляет "
86             client.print(analogRead(analogChannel));
87             client.println("<br />");       
88           }
89           client.println("</html>");
90           // необходимая задержка:
91           delay(1000);
92           client.stop();
93         }
94       }
95     }
96   }
97 }

См.также

  1. GPRS Constructor

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