GSM shield ATK-SIM900A помогите с документацией.

Jek
Offline
Зарегистрирован: 05.01.2014

Доброго времени суток уважаемые.

Воодушевившись данной статьей

http://forum.amperka.ru/threads/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BE%D1%82%D0%BE%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC-%D0%B2-%D0%B7%D0%B0%D0%B3%D0%BE%D1%80%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC-%D0%B4%D0%BE%D0%BC%D0%B5-gsm.999/

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

Про ардуино до этого и не слышал.

Заказал Arduino UNO, GSM shield, DHT22, пару блоков релюшек.

GSM shield ATK-SIM900A http://www.wayengineer.com/index.php?main_page=product_info&products_id=547

С ардуино, датчиком и релюхами разобрался, а вот по GSM никак не найду документацию. Контакты шилда с контактами ардуино не совпадают.

Помогите, пожалуйста найти документацию по данному шилду или подскажите как его подружить с ардуиной.

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

В центре платы 2 желтые перемычки снять и проводами на ардуину RX и TX ну и землю конечно.

Jek
Offline
Зарегистрирован: 05.01.2014

UPD

С подключением разобрался.

Контакты STSD/SRXD подключил к цифровым входам и создал программный сериал. Задача управления устройствами по смс решена.

Но возникла другая проблема...

На шилде есть кнопка-переключатель питания, которая подает питание на плату и тактовая кнопка, которая включает GSM. Т. е. при отключении питания и последующего возобновления, без нажатия тактовой кнопки шилд включается, а GSM не запускается. Судя по схеме, кнопка закорачивает на землю ногу pwrkey sim900a и больше данная нога никуда не подключена.

Подскажите, пожалуйста, можно ли программными средствами ардуино уно кратковременно вывести GND на какой-либо вывод платы?

 

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

курите букварь: http://arduino.ru/Tutorial/DigitalPins А код пихаете в void setup().

Jek
Offline
Зарегистрирован: 05.01.2014

Букварь покурил, но ничего не понял. Ткните пожалуйста точнее...

com
Offline
Зарегистрирован: 06.09.2013

обычно для включения gsm-шилд достаточно подать на определенную ногу шилда на секунду 5в, что-то типа

  #define SIM900_ON_BUS <ваша нога>   // порт для включения модема 

  ...  

  pinMode(SIM900_ON_BUS, OUTPUT);
  digitalWrite(SIM900_ON_BUS,LOW);
  delay(1000);
  digitalWrite(SIM900_ON_BUS,HIGH);
  delay(1000);
  digitalWrite(SIM900_ON_BUS,LOW);
  delay(3000);

у меня шилд sim900 от tinyos, нога для включения - 8. говорят, у разных производителей по разному - не знаю, с другими не сверял. свою ногу определил по даташиту на шилд

com
Offline
Зарегистрирован: 06.09.2013

уточню - не просто "восьмая", а D8

Jek
Offline
Зарегистрирован: 05.01.2014

Спасибо.

Сейчас таким кодом и реализовано плюс контроль включения GSM (есть там такая нога), но это реализовано через релюшку, которая коротит кнопку на землю через подпаянные к ней проводки.

Но т. к. релюшка это как из пушки по воробьям, хочется сделать нормально.

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

Вот и вопрос возникает, как исключить релюшку, т. е. программно получить GND на какой-либо ноге ардуины?

com
Offline
Зарегистрирован: 06.09.2013

я вам и говорю - тактовая кнопка подает логическую 1 на ногу шилда. так сделайте это программно самой ардуиной!

com
Offline
Зарегистрирован: 06.09.2013

только почему gnd? проверьте тестером, что происходит при нажатии тактовой кнопки

Jek
Offline
Зарегистрирован: 05.01.2014

 

Кнопка обозначена KEY1.

UPD Проверил тестером, так и есть, кнопка замыкает на землю.

 

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

ну так а судя по схеме, при подаче +5В на sim_pkey у вас откроется транзистор на минус.

Jek
Offline
Зарегистрирован: 05.01.2014

Огромное спасибо.

Всё работает. Можно релюшку исключать.

montin
Offline
Зарегистрирован: 21.08.2014

Здравствуйте, я новичок и не особо ещё разобрался. Приобрел такой же ATK sim900a, но не разобрался как правильно его подключить, и кодом. Кто чем может, помогите.

4ishops
Offline
Зарегистрирован: 06.10.2012

SIM900A заблокирован под азиатские страны, у нас работать не будет...

pmaster
Offline
Зарегистрирован: 23.05.2011

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

pmaster
Offline
Зарегистрирован: 23.05.2011

кстати от куда кусок схемы взят? есть полная?

Jek
Offline
Зарегистрирован: 05.01.2014

Схема из доков по данному модулю. В инете где-то накопал...

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

pmaster
Offline
Зарегистрирован: 23.05.2011

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

Neskazu
Offline
Зарегистрирован: 05.11.2014

Jek пишет:

....

Заказал Arduino UNO, GSM shield, DHT22, пару блоков релюшек.

GSM shield ATK-SIM900A http://www.wayengineer.com/index.php?main_page=product_info&products_id=547

....

Приветствую!

Подскажите плз, работает ли у вас этот шилд (ATK-SIM900A)?

интересуюсь т.к. самому пришел такой же, но начитался, что с буквой А в России не регистрируется..

Спасибо

Jek
Offline
Зарегистрирован: 05.01.2014

Все прекрасно работает. Проблем не наблюдалось.

Neskazu
Offline
Зарегистрирован: 05.11.2014

Спасибо за обнадеживающий ответ =)

 

если Вас не затруднит, пришлите плз прошивку на mif@itevil.net, и если есть какая нибудь инструкция 

Спасибо!

 

Neskazu
Offline
Зарегистрирован: 05.11.2014

Походу не региструется в сети...

моргает красный светодиод NET_STA

подключал так: STXD и SRXD к 7 и 8 входам ардуины, к 9ому подключил PKEY, симка Билайна

скетч такой:

#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8);
 void setup()
{  SIM900.begin(19200);
  SIM900power();  
  delay(20000);   }
 void SIM900power()
{  digitalWrite(9, HIGH);
  delay(1000);
  digitalWrite(9, LOW);
  delay(5000);}
void sendSMS()
{  SIM900.print("AT+CMGF=1\r");                                                      
  delay(100);
  SIM900.println("AT + CMGS = \"+7234567890\"");                                     
  delay(100);
  SIM900.println("Hello, world. This is a text message from an Arduino Uno.");        
  delay(100);
  SIM900.println((char)26);                      
  delay(100); 
  SIM900.println();
  delay(5000);                                     
  SIM900power(); }
 void loop()
{  sendSMS();
  do {} while (1);}
 
подскажите плз что делаю не так? и как сделать правильно?
retrobaners
Offline
Зарегистрирован: 27.04.2015

Купил такой же, прошивка была тоже обрезана. Симкарта Украинского оператора Life :) не регистрировалась.

Прошил по инструкции:

http://alex-exe.ru/radio/wireless/gsm-sim900-firmwar-all-in-one/

Прошивальщик взял здесь:

https://drive.google.com/file/d/0B-rBpaSGK1gpSWQzMkpjS0dnMzQ/edit

Прошивка:

http://dostmuhammad.com/blog/a-collection-of-firmwares-and-app-notes-for-simcom-modems/

Прошил 13 версией, смски отправляет ,звонит сам и звонки принимает...

Пока всё работает через переходник USB-Serial, понизил скорость с "автоматически" которая стояла по умолчанию, до "9600",

пытаюсь подключить к ардуино, убрав два джампера и подсоединившись к двумверхним пинам (если расположить плату слева ком порт, с права антена). Вывод GND - беру с нижней расчёски самый левый вывод.

p.s. Справку по АТ-командам брал здесь:

http://alex-exe.ru/radio/wireless/gsm-sim900-at-command/

 

retrobaners
Offline
Зарегистрирован: 27.04.2015

На базе Arduino UNO создаю программный интерфейс для проверки модуля и связки ардуино+gsm_shild

Код:

//Serial Relay - Arduino will patch a 
//serial link between the computer and the GPRS Shield
//at 9600 bps 8-N-1
//Computer is connected to Hardware UART
//GPRS Shield is connected to the Software UART 
 
#include <SoftwareSerial.h>
 
SoftwareSerial GPRS(7, 8);
unsigned char buffer[64]; // buffer array for data recieve over serial port
int count=0;     // counter for buffer array 
void setup()
{
  GPRS.begin(9600);               // the GPRS baud rate   
  Serial.begin(9600);             // 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
}

Подключаю вышеуказаные пины с GSM модуля к цифровым выходам ардуины, указанных в скетче (7 и 8), заливаю скетч в ардуино и запускаю Serial Monitor, ввожу команду "АТ" и в ответ тишина...

Обновлено:

Переставил пины местами SТхD - 7 , SRxD - 8  получаю эхо команды в ответе сериал монитора и больше ничего...

retrobaners
Offline
Зарегистрирован: 27.04.2015

При отключении и включении питания:

Помогите разобраться, почему на команду "АТ" не получаю ответ "ОК" ???

Всё разобрался, поставил внизу опцию "Возврат коретки" в сериал мониторе и заработало :)

Разобрался по мануалу:

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