Не включается шилд SIM900

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

еще где-то встречал, что из-за пинкода на симке не работает модуль, надо в телефон вставить и отключить пинкод

trak
Offline
Зарегистрирован: 15.02.2016

Нету пинкода, я на модуль даже звоню. И он лампочками мне подмыргивает в этот момент. Вот нет именно связи AT-командами

 

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

тогда для нормальной проверки только это поможет

http://ru.aliexpress.com/item/1PCS-USB-to-TTL-UART-module-CH340G-CH340-3-3V-5V-free-shipping/32357763285.html

liver
Offline
Зарегистрирован: 08.01.2016

Земля общая с модулем(если питание внешнее)?

trak
Offline
Зарегистрирован: 15.02.2016

 Общая земля, ага. Пойду осцилоскоп паять.

trak
Offline
Зарегистрирован: 15.02.2016

Спаял осциллоскоп. На ногу SIM900 приходит сигнал, а вот с ноги RX ничего. Открою спор на алиэксперессе. :-(

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

он и не сыпет сообщениями, только в момент включения и выключения, так что можете и не увидеть

trak
Offline
Зарегистрирован: 15.02.2016

Ну так ему  AT-AT-AT и все такое, и звонил ему. А он молчит, гад!

Так, проверить включение еще, спасибо. попробую!

И все таки надо нормальный осциллоскоп.

trak
Offline
Зарегистрирован: 15.02.2016

Конечно, хочется его завести. А не покупать сам чип а потом городить обвязку.

MaksVV
Offline
Зарегистрирован: 06.08.2015

Помогите найти проблему. Не могу понять программный или хардовый косяк. Шилд вроде работает. Стоит на контроле температуры в загородном доме. Задача:

1. при отклонении t от заданных параметров автоматически отправлять смс со значениями этой температуры

2. При приёме команды ZAPROS отсылать смс со значениями температуры. 

Первая задача выполняется. А вторая глючит. При получении команды запрос смс отправляется может раз из 10 попыток, а если глюкнуло, то и ни задача 1, ни 2 уже не выполняется. В момент выполнения задачи 1 светодиод питания шилда горит и не гаснет. Во момент выполнения 2 задачи светодиод на мгновение гаснет и смс не отправляется.

 

Питание шилда в норме (пробовал даже от аккумулятора шуруповерта). Код такой, косяк как мне кажется в функции readSMS () 

#include <OneWire.h>
#include <DallasTemperature.h> // библиотека для DS18B20
#define ONE_WIRE_BUS 2  // датчики DS18B20 на 2 пин
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature ds(&oneWire);  // Везде где встречается ds - это работа с датчиками Dallas DS18B20

long previousMillis = 0;    // храним время последнего замера для цикла izmereniya()
long interval = 1000; // время интервала измерения

DeviceAddress ZalC ={0x28, 0xFF, 0xB1, 0x43, 0x52, 0x15, 0x01, 0xDB}; // Сетевой адрес датчика DS18B20 в доме
int TempC;
int  TempZalC = 20;

bool SMSAlarmTemp = false; 

bool AlarmTemp = false;

//_______Для работы терминала по  Sim900______________________________
String currStr = "";
boolean isStringMessage = false; 

//_______Стартовый цикл________
void setup() {
  
  ds.begin();
  ds.setResolution(ZalC, 10);   
  
  pinMode(9, OUTPUT);
  digitalWrite(9, HIGH);    // Подаем High на пин 9
  delay(1500);              // на 3 секунды
  digitalWrite(9, LOW);     // и отпускаем в Low. 
  delay(5000);      
Serial.begin(19200);
    delay(2000);
  NastroykaGSM ();
   }

void loop(){
  izmereniya();
  alarms();
  readSMS();
      }

void izmereniya()   //  Замер температур с датчиков DS18B20 и влажности с датчика DHT11 
{  // http://arduino.ru/tutorials/BlinkWithoutDelay на основе
   unsigned long currentMillis = millis();
   if(currentMillis - previousMillis > interval) { // Замеры в интервале 
     ds.requestTemperatures();            // Замеры температур с DS18B20
     delay(750);                          // Необязательная задержка
     TempZalC = ds.getTempC(ZalC);     // Считываем температуру в зале
    
     if(TempZalC == -127) // Перезапрос при ошибке датчика
     {
       ds.requestTemperatures(); delay(750); // +1 к счетчику ошибок DS18B20
       TempZalC = ds.getTempC(ZalC);     // Считываем температуру в зале
      }
      previousMillis = currentMillis;}  
     }
void alarms()
{
   if (TempZalC != -127 && TempZalC > 29) {AlarmTemp=1; AlarmsSMS();}
   else SMSAlarmTemp = false; AlarmTemp=0;
}

void NastroykaGSM ()
{
  Serial.print("AT+CMGF=1\r");         //устанавливает текстовый режим смс-сообщения
    delay(100);
  Serial.print("AT+IFC=1, 1\r");       //устанавливает программный контроль потоком передачи данных
    delay(100);
  Serial.print("AT+CPBS=\"SM\"\r");    //открывает доступ к данным телефонной книги SIM-карты
    delay(100);
  Serial.print("AT+GSMBUSY=1, 1\r");   //запрет всех входящих звонков
    delay(100);
  Serial.print("AT+CNMI=1,2,2,1,0\r"); //включает оповещение о новых сообщениях
    delay(300);
}
 
void startOneSMS() //__________________Цикл подготовки модуля к отправке СМС-сообщений по первому номеру
{
      Serial.print("AT+CMGF=1\r");
      delay(100);
      Serial.println("AT + CMGS = \"+79000000000\""); // (+79000000000 сдесь должен быть ваш номер №1)
      delay(100);
}

void EndSMS ()
{
  delay(100);
   Serial.println((char)26);                       // Команда отправки СМС
   delay(5000);
}
void AlarmsSMS()
{
  if (AlarmTemp==1 && SMSAlarmTemp == false)
  {
  startOneSMS(); 
  Serial.println("Vnimanie Temperatura!!!");
  Serial.print("Temp:"); Serial.print (TempZalC); Serial.print("*C."); 
  EndSMS (); SMSAlarmTemp = true;
  }
}
void readSMS() //_____Цикл чтения входящих СМС-сообщений______________     
{
    if (!Serial.available()) return;
 
    char currSymb = Serial.read();    
    if ('\r' == currSymb)
       {
         if (isStringMessage)
           {
            //если текущая строка - SMS-сообщение,
            //отреагируем на него соответствующим образом
              if (!currStr.compareTo("ZAPROS"))   { SMSzapros();} // Передача параметров по СМС
                
            isStringMessage = false;
           }
         else { if (currStr.startsWith("+CMT")) { isStringMessage = true;}} //если текущая строка начинается с "+CMT",то следующая строка является сообщением
        currStr = "";
      } 
    else if ('\n' != currSymb) { currStr += String(currSymb);}
}

void SMSzapros()
{
   startOneSMS();
    Serial.print("Temp:"); Serial.print (TempZalC); Serial.print("*C."); 
   EndSMS();                                 
}

 

trak
Offline
Зарегистрирован: 15.02.2016

 Лично меня смутило, что ты читаешь символы из СМС-сообщения в общем цикле (метода loop()), выходя из фукнции  readSMS, а не дочитывая сообщение до конца, и при этом мне кажется, что состояние поля isStringMessage несоклько не детерменировано.

И еще, я натыкался раньше, что  Serial.alvailable() показывает что в буфере есть данные, причем эти данные  '\0' в больших количествах. 

Я сейчас еще раз перечитаю твой код, но вот первые мысли были именно такими.

MaksVV
Offline
Зарегистрирован: 06.08.2015

Вообще я в программировании не силен, и код позаимстововал у Slavyanina из соседней темы про умный дом, у него система уже больше года работает. Вопрос другой может я неправильно из его кода "выдернул" нужную мне часть. 

trak
Offline
Зарегистрирован: 15.02.2016

Прости дурака:

 

if (!currStr.compareTo("ZAPROS"))   { SMSzapros();} // Передача параметров по СМС

Функция string.compareTo(string2) 

a negative number: if string comes before string2

0: if string equals string2

a positive number: if string comes after string2

 А восклицательный знак это "НЕ"

То есть у тебя: Если строка из СМС НЕ  "ЗАПРОС", то послать сообщение с температурой? 

Я дома проверю поведение этой функции, тут нет доски с собой.

UPD: я понял замысел автора. ТАм в строке не только ZAPROS, но и еще служебный шлак. Но лучше проверить все равно.

MaksVV
Offline
Зарегистрирован: 06.08.2015

надо попробовать убрать восклицательный знак. но смущает то, что иногда прокатывает и смс отправляется. Хотя вот здесь тоже с восклицательным знаком (см. управление светодиодами) http://wiki.amperka.ru/%D0%B1%D0%B5%D1%81%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F-%D1%81%D0%B2%D1%8F%D0%B7%D1%8C:gprs-shield

MaksVV
Offline
Зарегистрирован: 06.08.2015

Моя проблема решилась , если кому интересно http://arduino.ru/forum/apparatnye-voprosy/shild-sim-900-ne-vosprinimaet-komandy-sms#comment-171716

k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Добрый день. Столкнулся с таким же шилдом. Проблема как в первых постах. Шилд включается. Загорается основной светодиод. Нажимаю кнопку - загорается два диода status и NetLight. Последний моргает 5 раз и тухнут оба. После этого не происходит ничего. Припаяли резистор. Соединили 9 пин. Теперь диоды загораются при подаче на 2,5 секунды питания от ардуинки. Сим-карта стоит новая, рабочая, проверена телефоном раз 20 уже. Запрос пин-кода отключен. Питаю шилд отдельным БП 5V 2A. Ардуинку от usb. Но никакие команды шилд не отрабатывает. При звонке на симку - гудка нет.

Подключал двумя разными способоми:

1.

2.

Использую следующий скетч для проверки:
 

#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8);
 
void setup()
{
  SIM900.begin(19200);
  while (!SIM900) {
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
  }
  SIM900power();  
  delay(20000);  // give time to log on to network. 
}
 
void SIM900power()
// software equivalent of pressing the GSM shield "power" button
{
  digitalWrite(9, HIGH);
  delay(2500);
  digitalWrite(9, LOW);
  delay(5000);
}
 
void sendSMS()
{
  SIM900.print("AT+CMGF=1\r");                                                        // AT command to send SMS message
  delay(100);
  SIM900.println("AT + CMGS = \"+37529XXXXXXX\"");                                     // recipient's mobile number, in international format
  delay(100);
  SIM900.println("Hello, world. This is a text message from an Arduino Uno.");        // message to send
  delay(100);
  SIM900.println((char)26);                       // End AT command with a ^Z, ASCII code 26
  delay(100); 
  SIM900.println();
  delay(5000);                                     // give module time to send SMS
  SIM900power();                                   // turn off module
}
 
void loop()
{
  sendSMS();
  do {} while (1);
}

Вопросы:

1. при включении шилда отдельно от ардуинки он должен выходить в сеть? т.е. при звонке на номер в шилде я должен слышать гудки? А при запуске с ардуинки? Или разницы нет никакой?

2. Правильная ли у меня схема подключения/скетч? Что я делаю не так?

Спор на алике еще не открывал. Решил попробовать разобраться в проблеме.

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

TX RX берите с красного разъема, туда куда вы припаяли, это не для вас, есть еще перемычки J11 J12 ими переключается пины, или 1 2 или 7 8 , модуль не болтливый, увидить можно только при включении или отключении в сериал мониторе

k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Получается нижняя фотка - правильное соединение? 8 пин ардуины в 8 пин шилда, 7 ардуины в 7 шилда. Или их накрест нужно (7в8, 8в7)? Джамперы j11 и j12 стоят в правом положении (ближе к чипу). Может выдите какой-то скетч что бы увидеть где затык или что он не может прожевать? Буду безумно благодарен.

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

если хотите использовать выводы 7 и 8, то переставьте перемычки ближе к антенне , еще может быть симка, старые (которые больше года) не работают с шилдом, ну и землю не забываем соединять между шилдом и ардуино

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

k2name пишет:
Припаяли резистор. Соединили 9 пин. Теперь диоды загораются при подаче на 2,5 секунды питания от ардуинки.

void SIM900power()
// software equivalent of pressing the GSM shield "power" button
{
  digitalWrite(9, HIGH);
  delay(2500);
  digitalWrite(9, LOW);
  delay(5000);
}

User can power on SIM900 by pulling down the PWRKEY pin for at least 1 second and release. Похоже сброс надо делать с точностью до наоборот, сначала LOW, потом HIGH.

k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Я отталкивался от огромного количества сэмплов в сети и даже на этом форуме

http://arduino.ru/forum/apparatnye-voprosy/programmnoe-vklyuchenie-modulya-sim900

http://tronixstuff.com/2014/01/08/tutorial-arduino-and-sim900-gsm-modules/

http://forum.arduino.cc/index.php?topic=308227.5

k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Valera19701

Симку взял свежую. 2 месяца симке. Перемычки поставил ближе к антене. Но Тут написано что это "hardware serial". Мы же SoftwareSerial используем... Или я чего-то не понимаю?

В любом случае не отправило смс. Два дня мучаюсь. Если кому не сложно - сфоткайте ваше подключение и опубликуйте скетч. Может быть кто-то знает еще способы проверить шилд на работоспособность?

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

для проверки все брал здесь

http://www.seeedstudio.com/wiki/GPRS_Shield_V1.0

лучше проверять без ардуино, a через usb-uart например

http://ru.aliexpress.com/item/1PCS-USB-to-TTL-UART-module-CH340G-CH340-3-3V-5V-free-shipping/32357763285.html

 

 

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

k2name пишет:
Я отталкивался от огромного количества сэмплов в сети и даже на этом форуме

Я бы порекомендовал перед отталкиванием читать. Везде сначала LOW, потом HIGH.
k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Valera19701 пишет:

лучше проверять без ардуино, a через usb-uart например

Ну так я его еще месяца два проверять буду. Не вариант. Надо как-то выкрутиться на том что есть. Либо открывать с китайцем спор либо нет. По факту - дня 4 еще могу баловаться спокойно. Потом придется что-то делать.

k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Andy пишет:

Я бы порекомендовал перед отталкиванием читать. Везде сначала LOW, потом HIGH.

Да с чего вы взяли?

Смотрим сюда

void setup()
{
  SIM900.begin(19200);
  Serial.begin(19200);
  Serial.print(" Start ");
 
  pinMode( 9, OUTPUT ); // software equivalent of pressing the GSM shield "power" button
  digitalWrite(9, HIGH);
  delay(2000);
  digitalWrite(9, LOW);
  Serial.print(" Wait for network ");
  delay(20000);  // give time to log on to network.
}

Но для очистки совести я для начала померял кнопку. Она работает на замыкание. т.е. подачу напряжения на управляющий контакт. Далее пробовал сделать наоборот, как предлагаете вы. Происходит следующая реакция. Диоды загораются. Активность начинает моргать и тут же снова ярко загорается. Как буд-то чип уходит в непрерывный ребут.

Тоже самое описано Здесь.

  delay(1000);
  Serial.begin(19200);
  Serial1.begin(19200);
 
  // Automatically power up the SIM900.
  pinMode(9, OUTPUT);
  digitalWrite(9,LOW);
  delay(1000);
  digitalWrite(9,HIGH);
  delay(2500);
  digitalWrite(9,LOW);
  delay(3500);

 

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Откуда уверенность, что гансы обсуждают рабочий код? В этой же теме, но на второй странице...

digitalWrite(resetGSM, LOW);
  delay(100);
  digitalWrite(resetGSM, HIGH);
  delay(3000);

Может начать немецкий учить?

Разве что в шилде есть такой транзистор, тогда управление инверсное, но перемычку jp1 надо замкнуть.

k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Andy пишет:

Откуда уверенность, что гансы обсуждают рабочий код? В этой же теме, но на второй странице...

Может начать немецкий учить?

Смотрим на Ютуб, где у человека оно работает.

Смотрим мою запись специально для этого форума. Стартуем на вашем варианте LOW=>HIGH. Модуль подвисает и я перезапускаю ардуинку. Затем я делаю изменение на HIGH=>LOW и стартую снова. Потом когда я тянусь рукой к кнопке запуска на самом шилде что бы сравнить реакцию платы на подачу питания, но не успеваю нажать кнопку. Жду пару секунд и нажимаю.
Сравниваем поведение платы и вариант HIGH=>LOW похож на штатную работу от кнопки.

Так же в начале я пишу о том что припаяли резистор 4,7 на R13.

Использованный скетч.

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

ЗАПУСК МОДУЛЯ

 
 Модуль запускается при отрицательном импульсе длинной не менее 1 сек. на ноге PWRKEY (вывод 12). Для подачи импульса рекомендуется использовать следующую схему:
 
 
 Для открытия транзистора можно использовать кнопку или импульс с микроконтроллера. Если снова подать импульс на эту ногу, то модуль выключится.
 
k2name пишет:
т.е. при звонке на номер в шилде я должен слышать гудки? А при запуске с ардуинки? Или разницы нет никакой?
Ничего ты не должен слышать, твой скетч подает импульс на отключение модуля и уходит в бесконечный цикл do {} while(1);
k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Да бог с ним с этим пином. Реакция не меняется если я убираю совсем управление 9 пином и руками нажимаю кнопку. Сообщение все-равно не шлется. Мне кажется проблема в отправке команды или в самом шилде. На всех видео он после включения и нажатия на кнопку должен включать два светодиода Status и NetLight. Status должен оставаться светящимся. NetLight должен подмаргивать время от времени. У меня же во всех ситуациях оба светодиода гаснут спустя примерно 5 секунд. Из этого я делаю вывод что плата или не смогла прочитать симкарту или не смогла с ее помощью войти в сеть. Можно предположить что симка не читаемая. Я перепробовал новых симок штук 5 уже. У всех работников на конторе брал попробовать. Только на старой забытой симке с включенным пинкодом ситуация была иная. Но пина никто уже не помнит. На всех остальных симках с выключенным запросом оба светодиода гасли через 5 секунд.

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Скетч откровенно плохой, выплевывает что-то и уходит в аут. Надо не только писать в модуль, но и получать из него данные, тогда будет понятно, что происходит.

Начни со скорости 9600

--------------------

По идее, если дуину зажать сбросом, а Rx Tx дуины соединить с Rx Tx модуля, то с модулем можно пообщаться из терминала, подать АТ команды, получить ответ.

http://www.electrodragon.com/w/SIM908_SIM900_Common_AT_Commands

k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Подскажите пожалуйста еще один момент. Шилд без симкарты либо не подключенный к GSM сети должен что-то отвечать на "AT"? Либо же он ответит OK только когда соединен с сетью?

k2name
k2name аватар
Offline
Зарегистрирован: 25.03.2016

Ура! Есть подвижки. Добился ответов модуля. Залил скетч из первого примера.
Потом отправил на него:
AT+IPR=19200
AT+GSV

Полученные результаты опроса:
SIMCOM_Ltd
SIMCOM_SIM900
Revision:1137B05SIM900M64_ST_ENHANCE
SIM900 R11.0

Далее нашел древнюю симку. С ней модуль нормально завелся. Симке лет 5 или даже больше. Через sscom32e отправил ручками команды (отправка смс). Успешно, смс-ка пришла. Позвонил на шилд - гудки идут. В sscom выдало трижды RING.

Подозреваю, что модуль нужно шить свежей либо наоборот стабильной прошивкой. Открыл отдельный топ по поиску актуальной/стабильной прошивки тут.

Игорь1974
Offline
Зарегистрирован: 28.07.2016

Валерий добрый день! Нужна ваша помощь по подключению sim900 к arduino uno

Игорь1974
Offline
Зарегистрирован: 28.07.2016

Куда этот резистор впаивать. Не понял. Объясните плиз

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

Игорь1974 пишет:

Куда этот резистор впаивать. Не понял. Объясните плиз

R13 рядом с конденсатором С6, можно перемычку поставить

Игорь1974
Offline
Зарегистрирован: 28.07.2016

trak вам удалось решить проблему? У меня  же беда. Подключил sim900 к ардуино уно. Поставил перемычку,на AT команды не реагирует. Звоню на номер ,гудок идет. Внешне не проявляется не как

Игорь1974
Offline
Зарегистрирован: 28.07.2016

Valera 19701 спасибо вам за совет но перемычка не дала результата. На AT команды не реагирует.Звонок на симку идет,но не ответа не сброса не происходит. Посоветуйте что можно еще попробывать?

Игорь1974
Offline
Зарегистрирован: 28.07.2016

Valera 19701  Поставил перемычку Не помогло. На AT команды не реагирует. Что можно еще попробывать?

nolimitcrew
Offline
Зарегистрирован: 12.08.2016

to k2name

такая же проблема, с тем же шилдом. Сегодня читаю а ссылка "Залил скетч из первого примера." не работает.

Шилд запускается, видимо находит сеть (диод D6 мигает редко), но связи с ним нету. На команды не отвечает.

 

MaksVV
Offline
Зарегистрирован: 06.08.2015

nolimitcrew, проверьте, соответствуют ли джамперы на шилде используемуму сериал соединению. Если да, то все таки поиграйтесь джамперами и сериал соединениями  - смените software на хард или наоборот (при этом естественно в скетче нужно сериал тоже менять ). Мне в свое время это помогло.  

nolimitcrew
Offline
Зарегистрирован: 12.08.2016

del

del

 

Торможу ребята, у меня и с ethernet шилдом косяк

попутал темы

А так, пины менял на 01 и 78 и ставил на Uno и по всякому

 

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

nolimitcrew а причем здесь в этой теме шилд W5100?

Игорь1974
Offline
Зарегистрирован: 28.07.2016

Дело не много сдвинулось. Поменял ардуино уно на другую, сигнал пошел. АТ команды пошли. Теперь другая напасть: пишу сообщение в мониторе но не могу закончить. Команда Ctrt+z не останавливает! После каждого раза продолжает появляется значек > . Кто знает как решить проблему?

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

Ctrt+z это команда = char(26)

в гугле забанили?

http://forum.sources.ru/index.php?showtopic=93678

Игорь1974
Offline
Зарегистрирован: 28.07.2016

Да я видел это. Но что бы я не вставлял в конце строки ,выскакивает >

Либо я что то не до понимаю или что то не так делаю. Если есть варианты подскажите плиз! Пример : > hi Ctri+Z  и клавиша enter

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

каким терминалом пользуетесь?

вот здесь все есть

http://www.geeetech.com/wiki/index.php/Arduino_GPRS_Shield

ставите галку send hex и набираете в строке 1А и отправляете

Игорь1974
Offline
Зарегистрирован: 28.07.2016

Sscom32E родным  ардуино портом

nolimitcrew
Offline
Зарегистрирован: 12.08.2016

Не пойму в чем дело, может библиотека для шилда нужна другая...

Нужна отправка смс при тревоге.

#include <SIM900.h>

#include <SoftwareSerial.h>

При заливке скетча ошибка

gprsSerial.print("AT+CMGF=1\r");  не подходит, нужно  gprsSerial.print("AT+CMGF=1");

gprsSerial.println("AT+CMGS = \"+37529*****\""); не отрабатывает при проверке модуля через AT команды, ответ ERROR.

подходит такая команда gprsSerial.println("AT+CMGS = "+37529*****""); но при заливке скетча ошибка (error: expected ')' before string constant    gprsSerial.println("AT+CMGS = "+37529*****"");

exit status 1
expected ')' before string constant)

Проверял модуль через пример GSM_GPRSLibrary_AT, стартует на 2400, звонит и отправляет смс, но написание команд как на примерах в скетче http://wiki.amperka.ru/%D0%B1%D0%B5%D1%81%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F-%D1%81%D0%B2%D1%8F%D0%B7%D1%8C:gprs-shield  не подходит

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Коллеги, объясните по шилду: в сети регистрируется. Но на команды АТ не отвечает, хоть тресни.

Пробовал на Меге и на Уно - ноль эмоций. У кого получилось его оживить - поясните, замыкать выводы R13 нужно или нет?

На каких в итоге перемычках J11 или J12 удалось подружить этот шилд с Мегой?