Подключим к ардуино модуль GSM к пинам на которых будет Программный порт, и добавим некоторый код для отладки. Сделаем просто пересылку сообщений с COM порта в Software порт и наоборот. Для этого зальем это скетч:
#define GSM_RX 2 // Порт RX для GSM-модуля
#define GSM_TX 3 // Порт TX для GSM-модуля
#define GSM_POWER 10 // Включение питания GSM-модуля
SoftwareSerial ATPort(GSM_RX, GSM_TX); // Программный порт для GSM-модуля
// Загрузка
void setup() {
// Включение питания GSM Модуля
pinMode(GSM_POWER, OUTPUT);
digitalWrite(GSM_POWER, HIGH);
Serial.begin(9600); // Для отладки
while (!Serial) {} // Ждем готовность порта
ATPort.begin(9600); // Порт общения с GSM-модулем
}
// Главный цикл
void loop() {
// Если есть данные на COM отправляем их на GSM
if (Serial.available() > 0) {
String Retry = Serial.readString();
ATPort.println(Retry);
}
// Если есть данные на GSM отправляем их на COM
if (ATPort.available() > 0) {
String Retry = ATPort.readString();
Serial.println(Retry);
}
}
Перво-наперво надо активировать SIM-карту (У меня Megafon) Вставляем её в телефон и набираем:
*121*PUK*НОМЕР#
(PUK написан на пластике в котором была сим карта я вводил PUK1).
Я забыл про это и потратил впустую 3 часа. 🤫
Проверим видится ли наш Arduino модуль GSM отправляем команду через COM консоль: AT, обратно приходит AT OK, значит все ок.
Проверим видится ли оператор связи: AT+COPS? ответ +COPS: 0,0,"MegaFon" все ок.
Проверим уровень сигнала: AT+CSQ ответ +CSQ: 15,0 (0 - 115 … 31-52 дБ, 99 - нет сигнала.)
Проверим баланс: AT+CUSD=1,"*100#" ответ +CUSD: 0,"0034002E003900340440002E",72 ответ приходит в кодировки UNICOD (в данном примере 4.94р.)
Сначала установим опции APN для Megafon: AT+SAPBR=3,1,"APN","internet"
Устанавливаем GPRS соединение: AT+SAPBR=1,1
Получим статус соединение и IP адрес: AT+SAPBR=2,1 ответ +SAPBR: 1,1,"100.99.0.153"
Инициализируем HTTP: AT+HTTPINIT и устанавливаем ID сессии AT+HTTPPARA="CID",1
Укажем URL для получения данных AT+HTTPPARA="URL","http://test1.progres-it.ru"
Стартуем сессию используя метод GET: AT+HTTPACTION=0 ответ +HTTPACTION:0,200,1804 указывает что сайт доступен (200 — ОК), размер страницы 1804 байт
Читаем данные AT+HTTPREAD ответ Содержимое страницы
Завершаем работу HTTP сессии AT+HTTPTERM
Дальше уже эту тему можно развивать последовательно...