Добрый день!
Столкнулся с проблемой GPRS соединения с сервером блинк модуля A6, мучаюсь уже 3 дня и всё без результата.
Оборудование Arduino nano ATmega 328P + Goouuu Tech IOT-GA6
Результат соединения ниже.
nitializing modem...
[6522]
___ __ __
/ _ )/ /_ _____ / /__
/ _ / / // / _ \/ '_/
/____/_/\_, /_//_/_/\_\
/___/ v0.5.1 on Arduino Nano
[6609] Modem init...
[7240] Connecting to network...
[7618] Network: Beeline KZ
[7618] Connecting to internet ...
[10719] Connect GPRS failed
Скетч:
/* Закоментируйте если нужно больше места */
#define BLYNK_PRINT Serial
// Select your modem:
//#define TINY_GSM_MODEM_SIM800
//#define TINY_GSM_MODEM_SIM900
//#define TINY_GSM_MODEM_M590
#define TINY_GSM_MODEM_A6
// Default heartbeat interval for GSM is 60
// If you want override this value, uncomment and set this option:
//#define BLYNK_HEARTBEAT 30
#include <TinyGsmClient.h>
#include <BlynkSimpleSIM800.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "76ce9405555342cd873f12312c67c7457d661";
// Your GPRS credentials
// Leave empty, if missing user or pass
char apn[] = "internet";
char user[] = "";
char pass[] = "";
// Hardware Serial on Mega, Leonardo, Micro
//#define SerialAT Serial1
// or Software Serial on Uno, Nano
#include <SoftwareSerial.h>
SoftwareSerial SerialAT(2, 3); // RX, TX Для ESP8266(13, 15)хотя пины могут быть любыми
TinyGsm modem(SerialAT);
void setup()
{
delay(3000);
// Debug console
Serial.begin(9600);
delay(10);
// Set GSM module baud rate
// c Arduino NANO одекватно работает на этой скорости
SerialAT.begin(9600);
delay(3000);
// Restart takes quite some time
// To skip it, call init() instead of restart()
Serial.println("Initializing modem...");
// Следующие строки мешали установить связь, что очень странно...
//modem.restart();
modem.init();
// Unlock your SIM card with a PIN
//modem.simUnlock("5235");
Blynk.begin(auth, modem, apn, user, pass);
}
void loop()
{
Blynk.run();
}
Сам модуль работает, проверял его другим скетчем:
#include <SoftwareSerial.h>
SoftwareSerial GSM_Serial(2, 3); // RX, TX
void setup(){
// Скорость консоли 9600
//
// выберете NL & CR
// NL новая строка
// CR возврат каретки
Serial.begin(9600);
// Скорость GSM модема
// в предидущем скетче мы узнали на какой скоросте работаем
// ставим сюда эту скорость в моем случае 115200
// Можно тупо подобрать на какой скоросте работает модем
// меняя скорость в этой строчке GSM_Serial.begin(115200);
// Установили скорость, залили скетчь. Отправили в сериал AT он ответит OK если скорость верна.
GSM_Serial.begin(9600);
}
void loop() {
// Если есть что то от модема, то выводим в монитор
if (GSM_Serial.available())
Serial.write(GSM_Serial.read());
// Если что то ввели в мониторе, то шлем на GSM
if (Serial.available())
GSM_Serial.write(Serial.read());
}
Проверяем GPRS AT+CGATT?
Получает +CGATT:1
Проверяем внешний IP AT+CIFSR
Получаем Error
Так нужно включить GPRS соединение AT+CGACT=1,1
Получаем ок
Проверяем внешний IP AT+CIFSR
Получаем 10.226.113.1хх (хх это я добавил)
Тестируем соединение AT+CIPSTART=“TCP”,“blynk-cloud.com”,80
Получаем CONNECT OK
Следовательно ардуинка работает, GPRS модуль тоже работает, только нужно соединение включать в ручную, автоматом только сеть находит, так почему же не коннектится к блинку с дефолтовым скечем?
Что ещё пробовать, куда копать?
С уважением, Felix!