Вопрос по GSM-модулю.

tarikOk
Offline
Зарегистрирован: 09.12.2015

В общем нужно сделать один проект. Нужно выполнить некое действие по звонку на моб телефон. Для основы выбрал Ардуино с GSM-модулем, т.к. он может принимать звонки и может сам звонить. Но вот может ли он выполнять действие при поступлении входящего звонка? Всё что после Ардуино это уже нюансы и выполнить не так уж и тяжело. Но тут надо, что б на пример, при входящем звонке на каком-то выходе Адруино появлялась логическая 1, а при сбросе вызова появлялся опять 0.  Вот и всё что нужно, можно такое выполнить с GSM-модулем?

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

берешь самый дешевый телефон и контакты от динамика вешаешь на вход, вот тебе и логический 1.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

tarikOk пишет:

В общем нужно сделать один проект. Нужно выполнить некое действие по звонку на моб телефон. Для основы выбрал Ардуино с GSM-модулем, т.к. он может принимать звонки и может сам звонить. Но вот может ли он выполнять действие при поступлении входящего звонка? Всё что после Ардуино это уже нюансы и выполнить не так уж и тяжело. Но тут надо, что б на пример, при входящем звонке на каком-то выходе Адруино появлялась логическая 1, а при сбросе вызова появлялся опять 0.  Вот и всё что нужно, можно такое выполнить с GSM-модулем?

можно, хотя ваше объяснение можно понять двояко.

tarikOk
Offline
Зарегистрирован: 09.12.2015

хм, ну в принципе как вариант.Спасибо, чот сразу не подумал про это))

tarikOk
Offline
Зарегистрирован: 09.12.2015

Gippopotam пишет:

можно, хотя ваше объяснение можно понять двояко.

ахахаах,это не бомба))) алахакбар)

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

tarikOk пишет:

как двояко?

Возникае сомнение, а не тот ли это случай, когда надо звонить по указанному здесь телефону.

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

Это конечно дешево и сердито, но срабатывать будет при любом входящем звонке. Т.е. кто то ошибся номером и устройство сработало.

Здесь было описание M590 и SIM800L    www.2159602.ru

 

tarikOk
Offline
Зарегистрирован: 09.12.2015

ЕвгенийП пишет:

tarikOk пишет:

как двояко?

Возникае сомнение, а не тот ли это случай, когда надо звонить по указанному здесь телефону.

юмаристы.

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

Я имел ввиду при использовании варианта с телефоном.

 

 

tarikOk
Offline
Зарегистрирован: 09.12.2015

uivoff пишет:

Это конечно дешево и сердито, но срабатывать будет при любом входящем звонке. Т.е. кто то ошибся номером и устройство сработало.

Здесь было описание M590 и SIM800L    www.2159602.ru

 

Это же мобилка, можно сделать всё проще. Настроить игнор всех номеров, кроме конкретного.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

tarikOk пишет:

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

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

Я тут недавно управлял магнитом. Задача была сделать незатухающий маятник. Шарик качался над магнитом (магнит в центральной точке). Длина нити была такая, что шарик проходил над магнитом в нескольких миллиметрах.

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

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

2. В той точке снова ключить магнит на подтягивание, и так далее.

Т.е. в итоге получаем незутахающий маятник.

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

Решение, которое я нашёл было таково: я стал включать магнит через раз в противоположной полярности. Стальному шарику всё равно какая там полярность, а сердечник ничего не накапливал, т.к. каждый раз перемагничивался.

Для этого потребовалось управлять магнитом не через реле, а через H-мост. У меня ток магнита небольшой - 700ma, поэтому в качестве H-моста я использовал драйвер электродвигателя TA7291P. У этой микросхемы есть два хороших плюса для работы с магнитом. 1) регулировка выходного напряжения, что позволило мне сделать обратную связь - при увеличении амплитуды шарика я уменьшаю мощность магнита, а при уменьшении - увеличиваю; 2) режим торможения - позволяет полностью подавить скачок напряжения на индуктивной нагрузке (магните) в момент выключения магнита.

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

tarikOk пишет:

юмаристы.

Не "юмаристы", а "бдительные граждане"! :)))

uivoff
Offline
Зарегистрирован: 27.04.2015
Вот пример.

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);          // RX, TX
int ch = 0;
String val = "";
#define MASTER "+7XXXXXXXXXX"          //укажите  телефон хозяина


void setup()
{
  Serial.begin(9600);                  //подключаем порт компьютера
  Serial.println("GSM Neoway M590 example");
  mySerial.begin(19200);                //подключаем порт модема (при других скоростях не отвечает)
  mySerial.println("ATI");              //вывести в терминал иноформацию о модеме
  delay(100);
  mySerial.println("AT+CSQ");          //вывести в терминал уровень сигнала (если 99, то связи нет)
  delay(100);
  mySerial.println("AT+CLIP=1");        //включаем АОН
  delay(100);
  mySerial.println("AT+CMGF=1");        //режим кодировки СМС - обычный (для англ.)
  delay(100);
  mySerial.println("AT+CSCS=\"GSM\"");  //режим кодировки текста
  delay(100);
  mySerial.println("AT+CNMI=2,2");      //отображение смс в терминале сразу после приема (без этого сообщения молча падают в память)
}

void loop()
{
  if (mySerial.available()) {          //есть данные от GSM модуля
    delay(200);                        //выждем, чтобы строка успела попасть в порт целиком раньше чем будет считана
    while (mySerial.available()) {      //сохраняем входную строку в переменную val
      ch = mySerial.read();
      val += char(ch);
      delay(10);
    }
    Serial.println(val);                    // дублируем сообщение в терминал

    //----------------------- определение факта приема СМС и сравнение номера(ов) с заданным(и)
    if (val.indexOf("+CMT") > -1) {          //если обнаружен СМС (для определения звонка вместо "+CMT" вписать "RING", трубку он не берет, но реагировать на факт звонка можно)
      if (val.indexOf(MASTER) > -1) {        //если СМС от хозяина
        Serial.println("--- MASTER SMS DETECTED ---");
      } else {
        Serial.println("NO MASTER SMS");
      }

      //----------------------- поиск кодового слова в СМС (вообще эту часть надо поместить внутрь предыдущей, но если использовать кодовое слово не совпадающее с сообщениями модема, то не обязательно)
      if (val.indexOf("sendme") > -1) {      // если обнаружено кодовое слово
        Serial.println("send you ok");      // сообщаем об этом в терминал (если нужно)
        sms("yes sir!", MASTER);            // отвечаем смской
      } else {                              // если другое слово или вообще пустое сообщение
        Serial.println("no send you");
        sms("no sir!", MASTER);
      }
      val = "";
    }
  }
}

void sms(String text, String phone)  //процедура отправки СМС
{
  Serial.println("SMS send started");
  mySerial.println("AT+CMGS=\"" + phone + "\"");
  delay(500);
  mySerial.print(text);
  delay(500);
  mySerial.print((char)26);
  delay(500);
  Serial.println("SMS send complete");
  delay(2000);
}

 

tarikOk
Offline
Зарегистрирован: 09.12.2015

ЕвгенийП, спасибо, но у меня така проблема скорее всего не проявиться, т.к. включать-отключать магнит надо будет всего несколько раз в сутки. Вы говорили что у Вас магнит на 700мА, а сколько вольт? Я буду использовать готовый магнит который используют в домофонах на двери. Он на 60кг, 12В, но пишет что всего 300-400мА, вот и ещё вопрос, может ли такой магнит потреблять так мало тока?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

tarikOk пишет:
 магнит на 700мА, а сколько вольт?

Рсчётно 5 (именно при пяти вольтах там 700ma) а так, через свою обратную связь я могу менять от 2 вольт до 6.

tarikOk пишет:
 60кг, 12В, но пишет что всего 300-400мА, вот и ещё вопрос, может ли такой магнит потреблять так мало тока?

Конечно может. Чем больше провода намотаешь, тем больше его активное сопротивление, тем меньший ток он потребляет и меньше греется (меняем лишнюю медь, на лучший КПД). Да у Вас там ещё и сердечник поди серьёзный.

Вообще-то сила магнита не прямо связана с током. Магинтная сила прямо пропорциональна произведению тока на количество витков (она и измеряется в ампер-витках). Так что, если мотаете больше меди, увеличиваете витки, но уменьшаете ток, магнитая сил принципиально не меняется (меняется, конечно, но не так, чтобы "ток вдвое и сила вдвое" - гораздо скромнее).

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

В авто себе сделал модем для запуска бинара, оригинальный модем стоит примерно 100 баксов. Я потратил меньше 5 баксов на все. Neoway M590, Дуня, про мини, dc-dc преобразователь и релюшка. Сильно не мудрил, в планах на будущее, пока все на макетке собрано модулями и уже несколько месяцев работает. При звонке с одного номера, модем сбрасывает звонок и отправляет на заданный номер смску с температурой двигателя и напряжением аккумулятора. При звонке с другого номера, сбрасывает звонок и запускает/останавливает котёл. Модем деньги тратит только на смски, а так, все звонки сбрасываются, тоесть деньги не тратятся ни с каких номеров.

speaker
Offline
Зарегистрирован: 06.05.2016

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

 

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

speaker пишет:

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

 

хочешь свести кого то с ума? еще нужно чтобы дыхание в трубку транслировалось...

Ответ: как нибудь можно!

speaker
Offline
Зарегистрирован: 06.05.2016

[/quote]

хочешь свести кого то с ума? еще нужно чтобы дыхание в трубку транслировалось...

Ответ: как нибудь можно!

[/quote]

 

Можно и без дыхания, ну я попробую сам , если не получится спрошу.

спасибо что отклкнулись