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(); } } } } }