Возможность выходить в Интернет у него есть.
В даташите описаны команды, с помощью которых вы можете использовать TCPIP и HTTP (после 200 страницы).
В библиотеке Амперки эта возможность реализована не полностью.
Вы можете разобрать пример умной теплицы, чтоб на реальном примере увидеть работу библиотеки.
Например, вы можете подключиться к сети Интернет следующим образом:
#include <GPRS_Shield_Arduino.h>
#include <SoftwareSerial.h>
#define INTERVAL 300000
#define LEN 370
// буфер для отправки данных на народный мониторинг
// согласно установленной сервисом форме
char tcpBuffer[LEN];
unsigned long previousMillis = 0;
void setup()
{
// открываем последовательный порт для мониторинга действий в программе
Serial.begin(9600);
}
void loop()
{
// включаем GPRS шилд
gprs.powerOn();
// проверяем есть ли связь с GPRS устройством
while (!gprs.init()) {
delay(1000);
Serial.print("GPRS Init error\r\n");
}
// вывод об удачной инициализации GPRS Shield
Serial.println("GPRS init success");
delay(3000);
// пытаемся установить GPRS-соединение
// с заданными настройками, которые предоставляются операторами связи
while (!gprs.join("internet.beeline.ru", "beeline", "beeline")) {
Serial.println("Gprs join network error");
delay(1000);
}
// выводим сообщение об удачной установке GPRS-соединения
Serial.println("GPRS OK");
// получаем и выводим локальный IP адрес
Serial.print("IP Address is ");
Serial.println(gprs.getIPAddress());
// пытаемся подключиться к серверу
// указывая тип соединения, адрес сервера и номер порта
while (!gprs.connect(TCP, "narodmon.ru", 8283)) {
Serial.println("Connect error");
delay(1000);
}
// выводим сообщение об удачном подключении к серверу
Serial.println("Connect success");
// вызываем функцию, которая формирует и отправляет tcp-запрос
// в специальном формате для «народного мониторинга»
tcpRequest();
// разрываем все GPRS-соединения
gprs.close();
// деактивируем интерфейс GPRS
gprs.disconnect();
// выводим сообщение об удачном завершении операции
Serial.println("OK");
// выключаем GPRS-шилд
gprs.powerOff();
// проверяем не прошел ли нужный интервал времени
while (millis() - previousMillis < INTERVAL) {
// ждём 5 минут
}
//если прошел, то сохраняем текущее время
previousMillis = millis();
}
// функция записи данных с датчиков в массив
// в специальном формате для «народного мониторинга»
void tcpRequest()
{
// добавляем к строке tcpBuffer строку CLIENT
strcat(tcpBuffer, CLIENT);
// функция добавления в TCP-запрос значения температуры воздуха
// добавляем к строке tcpBuffer два символа «##»,
// которые свидетельствуют об окончании запроса
strcat(tcpBuffer, "##");
// отправляем массив TCP-запроса на сервис «народного мониторинга»
gprs.send(tcpBuffer);
// очищаем буфер
clearTcpBuffer();
}