Вообщем вроде заработало в таком виде.Подозреваю,что цикличный набор номера-это типа дребезга контактов получается-приходит код от датчика несколько раз,потому и видимо программа зацикливается.
#include <SoftwareSerial.h>
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
SoftwareSerial gsm(7, 8); // TX,RX
void setup() {
Serial.begin(9600);
gsm.begin(9600);
mySwitch.enableReceive(0); // Receiver on inerrupt 0 => that is pin #2
}
void loop() {
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
switch (value) {
case 2078505:
mySwitch.resetAvailable();
while(1){ // проверяем готовность модема
gsm.println("AT+CPAS");
if (gsm.find("0")) break;
delay(100);
}
gsm.println("ATD+790xxxxxxxxxx;"); // звоним по указанному номеру
delay(100);
if (gsm.find("OK")) Serial.println("OK!");
else Serial.println("error");
break;
}
}
}
Да, не поленился выдрал рабочий м590 и сунул туда симку с телефона.
1. удивился что симка выданная больше 15 !!!! лет назад завелась на этом 3,3 вольтовом модеме.
2. да ОК модем отвечает сразу.
я считал что модем отвечает ОК после выполнения команды, например запрашиваем ipr=?
получаем сначала выполнение команды в виде перечисления рабочих скоростей и только затем ОК
т.е. ОК - ответ модема о выполнении команды и переходе к ожиданию следующей...
с набором номера оказалось не так. Сначала подтверждает получение команды на набор, затем выполняет ее.
PS при обработке прерывания от радио у Вас может повторно установиться флаг прерывания по пин2 и при выходе из обработчика влетаем опять в обработку прерывания.
в подобном случае я в начале обработчика прерывания запрещаю все прерывания,а перед выходом из обработчика не только разрешаю прерывания, но и сбрасываю флаг прерывания.
вообще она реально несколько раз та псылка приходит, в тестовом скетче приема можно увидеть. может быть mySwitch.getReceivedValue() выдает их по очереди, а в цикле стоит sm.println("AT+CPAS"); вот оно и ждет после каждого появления кода.
Накопление в очередь и бработка этой очереди. mySwitch.resetAvailable(); убивает все что накопилось за времядо нее, я бы там еще или задержку поставил, а вдруг посылок будет больше и mySwitch.resetAvailable(); попадет по времени на середину "очереди"? или сразу после начала набора еще раз очистить все.
Стал разбираться, все напряжения в норме, но антенна звонится на минус, чего быть не должно.
Сопротивление должно быть в районе 50 ом.
и почему это не должно такого быть и должно 50Ом быть? как вы так решили?
если уж так решили - то сначала потрудитесь изучить что такое волновое сопротивление, чем и как оно измеряется и от чего зависит. Также посмотрите схему П контура передатчиков и т.д.
потом можете писать подобные умозаключения. Если вынаучились тестером сопротивления прозванивать - это еще ничег не значит. Знаний нужно намного больше.
Спасибо, у меня сопротивление тоже около 0.8 Ом, думал что коротыш. Знаний всегда не хватает, согласен. Сим-карты пробовал Мегафон и Теле2 без пин-кодов. Попробую дальше разбираться с регистрацией в сети, добавлю конденсатор на питание симки.
Диод в цепи питания убрал и запитал напрямую от батареи аккумуляторов 4.1В 18650А 4Ач + электролиты на 6700мкф, добавил конденсатор 0.1 мкф на сим-карту между 14-15 ногами модуля, все команды ОК, но регистрации так и нет. Выдает циклически
+CREG: 0- поиск сети, 2-регистрация отклонена. Пробовал две рабочие симки от мегафона. Понижал питание диодами шоттки от 3.3 до 4.2В. Что еще посоветуете?
AT+CREG=1
OK
+CREG: 0 0 – не зарегистрирован, поиск сети не выполняется
2) симки есть трех видов по питанию, одни 1.8в другие 3в и 5в, вам надо низковольтную , купите в МТС новую большую симку, брал у них 2 раза , проблем с регистрацией на М590 не возникало
3) зачем разворотили антенную часть модуля, он может из-за этого тоже не работать :)
Симки новые, контакты симок проверял, да и ответ +PBREADY об этом говорит, больших симок сейчас не производят, все идут в тройном исполнении микро-мини-большая. Если убрать спираль, то какой длины провод припаять?
mak64 , для 1800 надо одну длинну ,для 900 надо другую длину. в инете найдете. В сотовых тлф. поэтому широкополосные антенны. Но самодельной антенной я бы не заморачивался.
+PBREADY - значит зарегилась . звонки на модуль должны проходить. возможно дело в настройках. прочитайте тему заново и даташит, внимательно.
Было как-то что M590 M590E не регистрируется в сети, так полежав денек под питанием , опсос его зарегистрировал в сети и модуль выдал +PBREADY , и все стало работать. правильно говорит Short Circuit . что иногда надо время.
попробуйте другие симки других опсосов . возможны проблемы диаппазонов 900 и 1800МГц и без подключения rx tx . мало ли у вас уровни 5в с ардуины или переходника . Возможно это настройки модуля. Попробуйте другой модуль, не спроста их даже по 75руб продают. это не стоит много потраченного времени.
так их и два может прийти проблемные, поэтому наверное нужно сразу 5 заказывать.. или один подороже но не глючный.
Я заказывал те что с ножками, идуд по 2,2-2,5 бакса...
Те без проблем работали ... а те что паяются прям на плату , то один из 5 рабочий... как подмечено...
Я разобрал один так там на экране видно что метал перегревался, есть фиолетовый оттенок, причем там где микросхемы его нет, тоесть грели снизу... Изза таких методов и работают так... Причем китаец после этой фотки сразу вернул деньги...
Пришли заказанные на Али модули М590Е и SIM800L, спаял, подключил, оба сразу же запустились без проблем, а первый М590Е так и не работает. Глючный. Буду осваивать рабочие.
Не знаю, актуально тут это сейчас или нет, но решилось у меня всё просто.
Питаю сразу от ардуины (5V). Если меньше даю, то GSM потом не включается. Подключать нужно НАКРЕСТ! RX модуля к TX ардуины. Подключал до того всё прямо RX к RX и т.п. И не мог сообразить в чём дело. Даже провода все проверял. Ничего. Лапочки мигают все, а команды не уходят и не приходят. Глушь.
Подскажите, в описании указано что он (модуль), поддерживает CSD. Как это реализовать? Знаю что у модема Cinterion mc52i нужно писать команду ATD+79XXXXXXXXX; без точки с запятой. Тогда он набирает номер и после этого устанавливается канал для передачи. Как в этом модуле это реализуется?
Доброго времени суток! Перечитал всю тему вдоль и поперёк, остался один вопрос: при подключении модуля к 5в ардуине, понятен принцип согласования уровня Rx модуля путём подтяжки к напряжению VccIO и запирания диодом. А вот как 5В ардуино воспринимает у себя на входе уровень в 2,8В, насколько можно надеяться на стабильную работу связки м590 - Nano, при таком схемном решении? Или лучше все же заморочиться с преобразователем уровней на МАХ232? Вот пример модуля на А6 с преобразователм на МАХ232 и понижающим стабилизатором питания на MP1684EN, смущает то, что преобразователь, работающий на частоте 1,5МГц, на данной плате применяется без дросселя на выходе. Как считаете, можно доверять такому схемному решению, или лучше взять самую простую плату и запитать череж полноценный преобразователь напряжения?
Или вот такой пример платы на А6, уже без МАХ232, но с таким же применением MP1584EN без дросселя...
.... А вот как 5В ардуино воспринимает у себя на входе уровень в 2,8В, насколько можно надеяться на стабильную работу связки м590 - Nano, при таком схемном решении? Или лучше все же заморочиться с преобразователем уровней на МАХ232? Вот пример модуля на А6 с преобразователм на МАХ232 и понижающим стабилизатором питания на MP1684EN, смущает то, что преобразователь, работающий на частоте 1,5МГц, на данной плате применяется без дросселя на выходе. Как считаете, можно доверять такому схемному решению, или лучше взять самую простую плату и запитать череж полноценный преобразователь напряжения?....
нормально. можете посмотреть даташит на atmega328 atmega8...., там все расписано что воспринимается логической еденицей при каком питании.
иль погуглить что-то : arduino напряжение логические уровни на входе
Дроссель есть , он smd , черненький(серый) в отличии от коричневых smd конденсаторов.
Вот спасибо за подсказку, я даже не догадывался о существовании таких SMD дросселей. П Вашей ссылке приводятся данные на атмегу 328, указывающие, что логическая еденица должна быть выше 3В, а модули GSM дают 2,8В, значит нельзя быть уверенным в надежности распознования...
34.1.9. Pin Threshold and Hysteresis Figure 34-25. ATmega328P: I/O Pin Input Threshold Voltage vs. V ATmega328P: I/O Pin Input Threshold Voltage vs. VCC (VIH, I/O Pin read as ‘1’) CC (VIH, I/O Pin read as ‘1’)
согласно графику
при питании 5.0в, лог1 считается напряжение на входе от 2.6в
при 3.3в около 1.6в
Для для реализации, Valera19701 правильно выложил фотку из даташита M590 , тупо поставить резистор 200 ом (и как защита модуля на всяк случай, если обратка от контроллера пойдет при ошибке в программе) по линии TX-RX это направление сигналов от модуля к входу ардуины.
Кто нибудь пробовал отправлять/получать смс с русскими буквами? Правильно ли будет настроить кодировку текста в юникод? И что тогда отправлять в сериал модулю вместо текста?
Кстати думаю у людей может быть проблема с кракозябрами не только из-за скорости, а из-за еще и от неправильной кодировки
AT+CSCS="GSM" — кодировка текста sms — ASCII. Также вроде поддерживаются кодировки "HEX" – шестнадцатеричными значениями, "IRA" – международный справочный алфавит, "PCCP437" – кодировка CP437(IBM PC), "8859-1" – кодовые страницы семейства ISO 8859, "UCS2" – кодировка unicode.
Всем привет , заказал 2 модуля M590E на ебее
один нормально завелся- сеть ловит, смсит, звонит итд.
2 на команды отвечает но с сетью не хочет конектится
потом пишет WARNING:PASSWORD ERROR!
и уходит в анабиоз )
может у кого было такое?
есть ли команда возвращающая девайс к заводским настройкам?
У меня модуль с сим картой постоянно пишет MODEM:SETUP. Без сим карты запускается нормально, отвечает на команды. Питал как от usb-ttl, так и от аккумулятора, даже ставил дополнительно кондер 1000 мКф. Пробовал несколько симкарт от разных операторов, результат один. В чем может быть проблема?
Вообщем вроде заработало в таком виде.Подозреваю,что цикличный набор номера-это типа дребезга контактов получается-приходит код от датчика несколько раз,потому и видимо программа зацикливается.
Да, не поленился выдрал рабочий м590 и сунул туда симку с телефона.
1. удивился что симка выданная больше 15 !!!! лет назад завелась на этом 3,3 вольтовом модеме.
2. да ОК модем отвечает сразу.
я считал что модем отвечает ОК после выполнения команды, например запрашиваем ipr=?
получаем сначала выполнение команды в виде перечисления рабочих скоростей и только затем ОК
т.е. ОК - ответ модема о выполнении команды и переходе к ожиданию следующей...
с набором номера оказалось не так. Сначала подтверждает получение команды на набор, затем выполняет ее.
PS при обработке прерывания от радио у Вас может повторно установиться флаг прерывания по пин2 и при выходе из обработчика влетаем опять в обработку прерывания.
в подобном случае я в начале обработчика прерывания запрещаю все прерывания,а перед выходом из обработчика не только разрешаю прерывания, но и сбрасываю флаг прерывания.
вообще она реально несколько раз та псылка приходит, в тестовом скетче приема можно увидеть. может быть mySwitch.getReceivedValue() выдает их по очереди, а в цикле стоит
sm.println(
"AT+CPAS"
); вот оно и ждет после каждого появления кода.
Накопление в очередь и бработка этой очереди.
mySwitch.resetAvailable(); убивает все что накопилось за времядо нее, я бы там еще или задержку поставил, а вдруг посылок будет больше и mySwitch.resetAvailable(); попадет по времени на середину "очереди"? или сразу после начала набора еще раз очистить все.Здравствуйте
Помогите кто знает
М590Е
Все работает, звонит, отвечет, определяет номер...
НО не могу отправить смс что то я делаю не так..
AT+CMGS="1343098150"
Выдает значки >
И дальше что не делаю все равно в начале строки выдает >
Не могу закончить не хочет понимать Ctrl-z, пробовал разные варианты...
Пробовал через терминал ардуино и через отдельный терминал не хочет.
Скетч не писал, команды отправлял через терминал... может так не работает?
Ну в общем кто что знает помогите
внимательно читайте описание как отправлять смс, 100 раз здесь в разных местах описано.
Дело в этом и читал ... и указываю кодировку и кузываю формат... я не могу час Ctrl Z отправить... оно его как текст смс воспринимает...
Делал все по даташиту по порядку.. не хочет
Везде одно и тоже у всех получается :) у меня нет :(
Отправляем Ctrl z и все у всех работает у меня нет...
Я понимаю что я что то упустил..
Не может же модем все работать, а не заверщать СМС...
0.8 Ом у меня.
прочитайте мои ответы в этой теме, там есть то, что надо сделать если плохо регистрируется у опсоса
плохо, что м590 не показывает миганиями состояние коннекта.
Еще посоветую другую симкарту вставить на время, не проверять только с одной симкартой.
Не забыть пинкод выключить.
У меня 2 модуля оба звонятся и при этом работают нормально...
Я тоже думал что что то с ними не так из за этого...
Но еще один тоже звонится и не работает...
Так что это не главна причина...
Кто то скажет возможно с терминала отправлять смс... не могу закрыть Ctrl+Z не могу отправить... воспринимает как текст смс-ки...
отправка смс с теминалки идет в два этапа, много раз писалось. ну и в ПДФ на 590 тоже написано как делается.
Я читал что в два этапа...
после первого получаем значек ">" типа готово для ввода текста..
На втором выводим текст и ставим в конце "Ctrl+Z"
Но у мея все равно продолжает выдавать ">"
Спасибо, у меня сопротивление тоже около 0.8 Ом, думал что коротыш. Знаний всегда не хватает, согласен. Сим-карты пробовал Мегафон и Теле2 без пин-кодов. Попробую дальше разбираться с регистрацией в сети, добавлю конденсатор на питание симки.
Фото моей платы, стандартный набор M590E с Али, конденсаторы по 1000 мкф, Boot на земле.
1) а вы уверены что симкой попадаете на контакты?
2) симки есть трех видов по питанию, одни 1.8в другие 3в и 5в, вам надо низковольтную , купите в МТС новую большую симку, брал у них 2 раза , проблем с регистрацией на М590 не возникало
3) зачем разворотили антенную часть модуля, он может из-за этого тоже не работать :)
уберите ту спиральку, припаяйте провод нужной длинны
Симки новые, контакты симок проверял, да и ответ +PBREADY об этом говорит, больших симок сейчас не производят, все идут в тройном исполнении микро-мини-большая. Если убрать спираль, то какой длины провод припаять?
mak64 , для 1800 надо одну длинну ,для 900 надо другую длину. в инете найдете. В сотовых тлф. поэтому широкополосные антенны. Но самодельной антенной я бы не заморачивался.
+PBREADY - значит зарегилась . звонки на модуль должны проходить. возможно дело в настройках. прочитайте тему заново и даташит, внимательно.
Было как-то что M590 M590E не регистрируется в сети, так полежав денек под питанием , опсос его зарегистрировал в сети и модуль выдал +PBREADY , и все стало работать. правильно говорит Short Circuit . что иногда надо время.
попробуйте другие симки других опсосов . возможны проблемы диаппазонов 900 и 1800МГц и без подключения rx tx . мало ли у вас уровни 5в с ардуины или переходника . Возможно это настройки модуля. Попробуйте другой модуль, не спроста их даже по 75руб продают. это не стоит много потраченного времени.
8см антенну можно припаять. почему 8 - не спрашивайте, просто припаять и все..
8см антенну можно припаять. почему 8 - не спрашивайте, просто припаять и все..
Спасибо, точный короткий ответ. Мне нужна именно длина антенны, а не советы, где эту длину поискать.
Другой модуль заказал еще две недели назад, прекрасно понимаю, что модуль б/у и может быть глючным.
так их и два может прийти проблемные, поэтому наверное нужно сразу 5 заказывать.. или один подороже но не глючный.
так их и два может прийти проблемные, поэтому наверное нужно сразу 5 заказывать.. или один подороже но не глючный.
Я заказывал те что с ножками, идуд по 2,2-2,5 бакса...
Те без проблем работали ... а те что паяются прям на плату , то один из 5 рабочий... как подмечено...
Я разобрал один так там на экране видно что метал перегревался, есть фиолетовый оттенок, причем там где микросхемы его нет, тоесть грели снизу... Изза таких методов и работают так... Причем китаец после этой фотки сразу вернул деньги...
Пришли заказанные на Али модули М590Е и SIM800L, спаял, подключил, оба сразу же запустились без проблем, а первый М590Е так и не работает. Глючный. Буду осваивать рабочие.
Не знаю, актуально тут это сейчас или нет, но решилось у меня всё просто.
Питаю сразу от ардуины (5V). Если меньше даю, то GSM потом не включается. Подключать нужно НАКРЕСТ! RX модуля к TX ардуины. Подключал до того всё прямо RX к RX и т.п. И не мог сообразить в чём дело. Даже провода все проверял. Ничего. Лапочки мигают все, а команды не уходят и не приходят. Глушь.
Код для ардуины простой
Подскажите, в описании указано что он (модуль), поддерживает CSD. Как это реализовать? Знаю что у модема Cinterion mc52i нужно писать команду ATD+79XXXXXXXXX; без точки с запятой. Тогда он набирает номер и после этого устанавливается канал для передачи. Как в этом модуле это реализуется?
Здравствуйте. Модуль выдает
megem: startup
+PBREADY
иероглифы
+XDRVI 9,1,7
и перегружается.
По питанию все в норме т.к. второй такой работает нормально. Кто знает в чем причина, подскажите пожалуйста.
здесь есть ваша +XDRVI
https://github.com/chipburner/Arduino-GSM-Thermostat/blob/master/GSMTher...
попробуйте с другими симкартами
Перепробовал все имеющиеся симки, в том чиле которые нормально работают на таком же м590.
тогда ищите в даташите +XDRVI
Так ведь нет там такого..
тогда ваш модуль скорее просто неисправный.
обычный модуль такой фигни не выбрасывает.
Доброго времени суток! Перечитал всю тему вдоль и поперёк, остался один вопрос: при подключении модуля к 5в ардуине, понятен принцип согласования уровня Rx модуля путём подтяжки к напряжению VccIO и запирания диодом. А вот как 5В ардуино воспринимает у себя на входе уровень в 2,8В, насколько можно надеяться на стабильную работу связки м590 - Nano, при таком схемном решении? Или лучше все же заморочиться с преобразователем уровней на МАХ232? Вот пример модуля на А6 с преобразователм на МАХ232 и понижающим стабилизатором питания на MP1684EN, смущает то, что преобразователь, работающий на частоте 1,5МГц, на данной плате применяется без дросселя на выходе. Как считаете, можно доверять такому схемному решению, или лучше взять самую простую плату и запитать череж полноценный преобразователь напряжения?
Или вот такой пример платы на А6, уже без МАХ232, но с таким же применением MP1584EN без дросселя...
.... А вот как 5В ардуино воспринимает у себя на входе уровень в 2,8В, насколько можно надеяться на стабильную работу связки м590 - Nano, при таком схемном решении? Или лучше все же заморочиться с преобразователем уровней на МАХ232? Вот пример модуля на А6 с преобразователм на МАХ232 и понижающим стабилизатором питания на MP1684EN, смущает то, что преобразователь, работающий на частоте 1,5МГц, на данной плате применяется без дросселя на выходе. Как считаете, можно доверять такому схемному решению, или лучше взять самую простую плату и запитать череж полноценный преобразователь напряжения?....
нормально. можете посмотреть даташит на atmega328 atmega8...., там все расписано что воспринимается логической еденицей при каком питании.
иль погуглить что-то : arduino напряжение логические уровни на входе
http://arduino.ru/forum/apparatnye-voprosy/uroven-logicheskoi-1
Дроссель есть , он smd , черненький(серый) в отличии от коричневых smd конденсаторов.
Дроссель есть , он smd , черненький(серый) в отличии от коричневых smd конденсаторов.
вот схема согласования 2.8в - 5 в, VCCIO 2.8V
можно, прочитав даташит , куда все и посылают.
http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_datasheet.pdf
34.1.9. Pin Threshold and Hysteresis Figure 34-25. ATmega328P: I/O Pin Input Threshold Voltage vs. V ATmega328P: I/O Pin Input Threshold Voltage vs. VCC (VIH, I/O Pin read as ‘1’) CC (VIH, I/O Pin read as ‘1’)
согласно графику
при питании 5.0в, лог1 считается напряжение на входе от 2.6в
при 3.3в около 1.6в
Для для реализации, Valera19701 правильно выложил фотку из даташита M590 , тупо поставить резистор 200 ом (и как защита модуля на всяк случай, если обратка от контроллера пойдет при ошибке в программе) по линии TX-RX это направление сигналов от модуля к входу ардуины.
при питании 5.0в, лог1 считается напряжение на входе от 2.6в
Так то оно так, но Для CMOS 3,3V устройств минимальный Voh=2,4V
Кто нибудь пробовал отправлять/получать смс с русскими буквами? Правильно ли будет настроить кодировку текста в юникод? И что тогда отправлять в сериал модулю вместо текста?
Кстати думаю у людей может быть проблема с кракозябрами не только из-за скорости, а из-за еще и от неправильной кодировки
AT+CSCS="GSM" — кодировка текста sms — ASCII. Также вроде поддерживаются кодировки "HEX" – шестнадцатеричными значениями, "IRA" – международный справочный алфавит, "PCCP437" – кодировка CP437(IBM PC), "8859-1" – кодовые страницы семейства ISO 8859, "UCS2" – кодировка unicode.
Почитайте тему, здесь это уже обсуждали. Насколько я помню, в Юникоде все работает.
К
Всем привет , заказал 2 модуля M590E на ебее
один нормально завелся- сеть ловит, смсит, звонит итд.
2 на команды отвечает но с сетью не хочет конектится
потом пишет WARNING:PASSWORD ERROR!
и уходит в анабиоз )
может у кого было такое?
есть ли команда возвращающая девайс к заводским настройкам?
китайца спросите, они половину - брак кладут в посылку ..
590- брака море.
У меня модуль с сим картой постоянно пишет MODEM:SETUP. Без сим карты запускается нормально, отвечает на команды. Питал как от usb-ttl, так и от аккумулятора, даже ставил дополнительно кондер 1000 мКф. Пробовал несколько симкарт от разных операторов, результат один. В чем может быть проблема?
проблема - он скрее дохлый... 590й , что с китайцев то взять..
а что значит - без симкарты нормально? нонсенс какой то, без симкарты там много чего вообще не работает.