GSM/GPRS Shield

Araris
Offline
Зарегистрирован: 09.11.2012

Kirows пишет:

Учитывая что в меге простого Serial нет,

Та Вы шо ? Впрочем, я не о том.

Возьмите отсюда http://www.seeedstudio.com/wiki/GPRS_Shield_V2.0 из "Step 1: Test Setup" (там вся статья весьма неплохая) скетч, адаптируйте под свои пины и попробуйте достукаться до шилда. Вдруг да получится ))) 

Kirows
Offline
Зарегистрирован: 24.10.2014

Araris пишет:

Та Вы шо ? Впрочем, я не о том.

Возьмите отсюда http://www.seeedstudio.com/wiki/GPRS_Shield_V2.0 из "Step 1: Test Setup" (там вся статья весьма неплохая) скетч, адаптируйте под свои пины и попробуйте достукаться до шилда. Вдруг да получится ))) 

Про Serial: http://arduino.cc/en/reference/serial

Тест сетап работает точно так же, как и тот скетч, который я писал выше. В данный момент нет под рукой UNO, заказывать нет времени(в нашей "деревне" такого в магазинах не найдёшь).

За ответ спасибо.

Kirows
Offline
Зарегистрирован: 24.10.2014

Нашел решение своей проблемы.

Через встроенный в IDE монитор работать не хочет, вычитал на буржуйских форумах, что надо установить DTR в True. Как это сделать через IDE, не понял. 

Зато через PuTTY работает отлично. Решением конечно не очень доволен, но лучше так, чем никак.

Всем спасибо.

drafter
Offline
Зарегистрирован: 30.11.2014

Здравствуйте. У меня вот такая проблема. Есть Мега 2560 и gsm шилд на базе SIM900 . Как было указано ранее, отогунл 2 ноги, подключил к меге проводами их и залил скетч на отправку сообщения. Все хорошо, сообщение пришло. Но хотелось, что бы можно было получать сообщения на ардуине и выводить текст на монитор. Подскажите пожалуйста, какой должен быть для этого скетч.

satway
Offline
Зарегистрирован: 06.12.2014

всем привет. не получаеться подключить gsm шилд на базе SIM900. Подключаю к Funduino UNO. Подключил плату "бутербродом". Перемычки на плате установил как на фотке: D0-GTX и D1-GRX.

Далее загрузил скетч для тестирования:

#include <SoftwareSerial.h>
 
SoftwareSerial GPRS(0, 1);
unsigned char buffer[64]; // buffer array for data recieve over serial port
int count=0;     // counter for buffer array 
void setup()
{
  GPRS.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);             // the Serial port of Arduino baud rate.
 
}
 
void loop()
{
  if (GPRS.available())              // if date is comming from softwareserial port ==> data is comming from gprs shield
  {
    while(GPRS.available())          // reading data into char array 
    {
      buffer[count++]=GPRS.read();     // writing data into array
      if(count == 64)break;
  }
    Serial.write(buffer,count);            // if no data transmission ends, write buffer to hardware serial port
    clearBufferArray();              // call clearBufferArray function to clear the storaged data from the array
    count = 0;                       // set counter of while loop to zero
 
 
  }
  if (Serial.available())            // if data is available on hardwareserial port ==> data is comming from PC or notebook
    GPRS.write(Serial.read());       // write it to the GPRS shield
}
void clearBufferArray()              // function to clear buffer array
{
  for (int i=0; i<count;i++)
    { buffer[i]=NULL;}                  // clear all index of array with command NULL
}
 
Далее в терминале отправляю команду, например AT или AT+IPR=19200. Строка появляеться, но плата не отвечает.
Подскажите, где искать ошибку.
 
satway
Offline
Зарегистрирован: 06.12.2014

ну и сам отвечаю на свой вопрос). Оказалось, шилку недостаточно было питания от ардуино, хотя на самом шилде нет разъема для питания. Я подключил к ардуино 9 вольт и шилд ожил.

Life23
Offline
Зарегистрирован: 10.08.2013

Хотя странно.. у меня ICOMSAT1.1 на sim900 тоже подключен "бутербродом" питание ардуины 5В. 700мА. работает с GPRS уже полгода. Но как показывает практика, GSM шилда всегда надо хорошее питание. писали не однократно, что пики могут быть до 2А.

zaregan
Offline
Зарегистрирован: 25.12.2014

 

http://www.aliexpress.com/snapshot/6337869157.html?orderId=64535723419236  Покупал вот от сюда а вот это видео http://www.youtube.com/watch?v=GxgXmOPdPW8

подключению очень помогло,здесь и UNO   и  MEGA 2560 Всем удачи

zaregan
Offline
Зарегистрирован: 25.12.2014

вот ответ  http://arduino.ua/ru/guide/GSMShieldLeonardoMega   где  у меги нужен проводок,но по видео сверху все работает исправлением  GSM_GPRS_GPS_Shield_GSMSHIELD

ingener.solovyev
Offline
Зарегистрирован: 12.02.2013

Добрый вечер. Прошу уточнения: внешний источник питания на шилд должен быть 9в только, или я могу подать на него 12в? В идеале, планирую, с 1го блока питания 12в 3А, запитать параллельно оба устройства.

ingener.solovyev
Offline
Зарегистрирован: 12.02.2013

Под двумя устройствами имею ввиду Uno rev.3 и SIM900

zaregan
Offline
Зарегистрирован: 25.12.2014

Источник можно использовать до 12 вольт в пике  ток доходит до 2 А  http://arduino.ua/ru/hardware/Mega2560

the_wall
Offline
Зарегистрирован: 06.06.2013

zaregan пишет:

 

http://www.aliexpress.com/snapshot/6337869157.html?orderId=64535723419236  Покупал вот от сюда а вот это видео http://www.youtube.com/watch?v=GxgXmOPdPW8

подключению очень помогло,здесь и UNO   и  MEGA 2560 Всем удачи

 

Смс отправить из ардуино смог, а вот получить в ардуино нет могу.

void loop() 
{
  if(started){
    //Read if there are messages on SIM card and print them.
    if(gsm.readSMS(smsbuffer, 160, n, 20))
    {
      Serial.println(n);
      Serial.println(smsbuffer);
    }
    delay(1000);
    Serial.println("end");
  }
};
 
Почему в порт монитор я не вижу "end". Т.е. что может случиться в условии IF, из коорого программа дальше не работает.

 

the_wall
Offline
Зарегистрирован: 06.06.2013

the_wall пишет:

zaregan пишет:

 

http://www.aliexpress.com/snapshot/6337869157.html?orderId=64535723419236  Покупал вот от сюда а вот это видео http://www.youtube.com/watch?v=GxgXmOPdPW8

подключению очень помогло,здесь и UNO   и  MEGA 2560 Всем удачи

 

Смс отправить из ардуино смог, а вот получить в ардуино нет могу.

void loop() 
{
  if(started){
    //Read if there are messages on SIM card and print them.
    if(gsm.readSMS(smsbuffer, 160, n, 20))
    {
      Serial.println(n);
      Serial.println(smsbuffer);
    }
    delay(1000);
    Serial.println("end");
  }
};
 
Почему в порт монитор я не вижу "end". Т.е. что может случиться в условии IF, из коорого программа дальше не работает.

 

 

Проблему решил использовав другую библиотеку. 

sever1
Offline
Зарегистрирован: 12.02.2015

Спасибо dardik. Скэтч на Mega2560- работает на "Ура"

Хочу подключить сей шильд к меге используя минимум проводов, может кто уже заморачивался с данным вопросом или есть наработки? 

 

NeZlosten
Offline
Зарегистрирован: 30.11.2015

Подскажите как в данном случае организован програмное включение GPRS шилда если он подключается проводами. Не могу разобраться, только кнопкой включается. Автору Спасибо  за труды!!!

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

NeZlosten пишет:

Подскажите как в данном случае организован програмное включение GPRS шилда если он подключается проводами. Не могу разобраться, только кнопкой включается. Автору Спасибо  за труды!!!

смотря какой шилд, вот например

http://arduino.ru/forum/obshchii/ne-vklyuchaetsya-shild-sim900