Функція attachGPRS()
Клас GPRS
attachGPRS()
Підключає до визначеного імені точки доступу (APN), щоб ініціювати GPRS-зв'язок.
Кожен стільниковий провайдер має APN, яке служить мостом між мережею та інтернетом. Іноді є ім'я користувача і пароль, пов'язаний з точкою підключення. Наприклад, ім‘я точки доступу Bluevia — bluevia.movistar.es, але паролю чи імені входу нема.
Тут міститься деяка інформація про провайдерів, але вона може бути застарілою. Вам може знадобитися отримати цю інформацію від Вашого постачальника послуг.
Синтаксис
grps.attachGPRS(APN, користувач, пароль)Параметри
APN: масив символів, ім’я точки доступу (APN), що надається мобільним операторомкористувач: масив символів, ім'я користувача для APN
пароль: масив символів, пароль для доступу для APN
Повертає
масив символів: ERROR, IDLE, CONNECTING, GSM_READY, GPRS_READY, TRANSPARENT_CONNECTEDПриклад
#include <GSM.h>
// PIN-номер
#define PINNUMBER ""
// дані APN
#define GPRS_APN "GPRS_APN" // замінити GPRS APN
#define GPRS_LOGIN "login" // замінити Вашим GPRS-логіном
#define GPRS_PASSWORD "password" // замінити Вашим GPRS-паролем
// ініціалізувати приклад бібліотеки
GPRS gprs;
GSM gsmAccess; // включити параметр істини для активації налагодження
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("Не підключено");
delay(1000);
}
}
Serial.println("Підключено до GPRS-мережі");
// запустити сервер
server.begin();
// Отримати IP.
IPAddress LocalIP = gprs.getIPAddress();
Serial.println("IP-адреса сервера=");
Serial.println(LocalIP);
}
void loop() {
// Слухати вхідних клієнтів
GSM3MobileClientService client = server.available();
if (client)
{
while (client.connected())
{
if (client.available())
{
Serial.println("Отримання запиту!");
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("<html>");
// вивести значення кожного аналогового вхідного піна
for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
client.print("аналоговий ввід");
client.print(analogChannel);
client.print(" є ");
client.print(analogRead(analogChannel));
client.println("<br />");
}
client.println("</html>");
// необхідна затримка
delay(1000);
client.stop();
}
}
}
}
}Повернутись до головної

Коментарі 0