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

