FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Среда, 22.11.2017, 14:16
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 6 из 70«12456786970»
Модератор форума: support, Сергей, Олег, Anydy 
Форум » Основной » Спросить у знатоков » Блок пользователя для работы с GSM (SIM 900 и М590)
Блок пользователя для работы с GSM
Слимпер Дата: Вторник, 09.08.2016, 20:29 | Сообщение # 76
Генерал-полковник
Группа: Проверенные
Сообщений: 1015
Награды: 56
Репутация: 44
Статус: Offline
stapmoff, в соседней теме Работа с SIM800L запрос температуры и влажности по смс в сообщении №14 выкладывал проект. Там фигурировала проверка баланса таким кодом
AT+CUSD=1,\"#100#\" , можно и так попробовать.

Добавлено (09.08.2016, 20:29)
---------------------------------------------
Цитата НовыйUser ()
а их убирать для чего ? (переход от задержек я всецело за...)вход инициализации всмысле для подачи АТ команд?
убрать из секции Setup :
delay(50);
Serial100.println("AT+CMGF=1");
delay(50);
Serial100.println("AT+CSCS=\"GSM\"");
delay(50);
Serial100.println("AT+CNMI=2,2,0,0,0");
delay(50);
Serial100.println("AT+CLIP=1");
delay(50);
Serial100.println("ATE0");
delay(50);

И сделать выдачу этих команд с проверкой результата по сигналу на вход, а уже заготовку делал, смотри функцию  setup_comand в блоке.


Сообщение отредактировал Слимпер - Вторник, 09.08.2016, 20:30
 
Слимпер Дата: Среда, 10.08.2016, 07:16 | Сообщение # 77
Генерал-полковник
Группа: Проверенные
Сообщений: 1015
Награды: 56
Репутация: 44
Статус: Offline
Цитата НовыйUser ()
надо допилить этот баланс

А вообще комбинация \" -это только для arduino  команды print (println), так как там кавычки играют свою роль. Если шлешь команды из терминала то знак \ надо убирать.

Цитат с приведенной вами стать:

Команды приведены для текстового режима и в GSM кодировке.

AT+CUSD=1,"#100#"   +CUSD: 0,"Balance:240,68r ", 

   USSD запрос
Первый параметр – режим обработки операции:
0 – выполнить запрос, ответ проигнорировать
1 – выполнить запрос, вернуть ответ
2 – отменить запрос
Второй параметр – запрос в кавычках.

ATD#100#;    +CUSD: 0,"Balance:240,68r ",

Упрощенный USSD запрос (работает только при GSM 
кодировке)

Отмечу, что есть 2 варианта USSD запроса: начиная с * и начиная с #. В первом варианте ответ приходит на русском языке, во втором в латинице, если оператор такой запрос поддерживает и не ответит так же, как и в первом случае.
Режим отображения такой же, как и для СМС.

Правда даташите М590 формат команды:
AT+CUSD=<n>,<str>,<dcs>
Syntax <n>:
-0:not display back code
-1:display back code
-2:cancel the request
<str>:
string type:USSD string,USSD string,please use ASCII code.
<dcs>:
integer type,it is suggesti to use 15.


По этому получается, что для терминал надо пробовать
AT+CMGF=1
AT+CSCS="GSM"
А затем уже 
AT+CUSD=1,"#100#" 
или 
ATD#100#

А в блоке 
AT+CUSD=1,\"#100#\" 
или
ATD#100#

Лучше оставлю пока, может когда будет модуль, что пойму.

Добавлено (10.08.2016, 07:16)
---------------------------------------------

Цитата НовыйUser ()
не совсем понимаю для чего двойка ?AT_Command("ATD#100#",2 ) ;
Ну это параметры в моей функции AT_Command
1-передать команду функцией print()
2-передать команду функцией println()
3- передать команду функцией print(), а за тем отдельно передать  println((char)26)
 
stapmoff Дата: Четверг, 11.08.2016, 07:39 | Сообщение # 78
Подполковник
Группа: Проверенные
Сообщений: 262
Награды: 3
Репутация: 2
Статус: Offline
Сегодня вечерком буду тестить! Сразу отпишу что как!

Добавлено (11.08.2016, 07:39)
---------------------------------------------
И так результаты следующие!


Надпись svonok stop появляется сразу после включения, при проверке баланса, баланс не прилетает. на смс, ответ присылает корректно, гудки считает, звонок сбрасывает. Не показывает текс сообщения. При отсутствии сим, все равно меряет сигнал, но надпись NET пропадает! Вместо надписи NET лучше выводить оператора мне кажется)) командой AT+COPS? Если вставить сим обратно в слот, появляется ошибка 3 и сразу 0. Почему сразу 0?? Мне кажется если 3 то 3 исли 0 то 0 если 5 то 5 до прихода следующей команды опроса на ошибки! NET так и не показал валилась ошибка 3 и сразу 0 пока не ребутнул дуину. Мне кажется блок работает только с заведенным модемом и чтоб тот уже поймал сеть, пробовал запустить модем и дуину одновременно, вываливается ошибка 3 и сразу ноль итак до бесконечности, хотя модем сеть уже поймал!
Но то, что происходит опрос модема на ошибки - это уже радует))!

Что еще хочу сказать по поводу баланса, когда делал свой проэкт, заметил, что при запросе баланса, сам баланс не всегда приходит, видимо сеть такая незнаю!


Сообщение отредактировал stapmoff - Четверг, 11.08.2016, 10:02
 
Слимпер Дата: Четверг, 11.08.2016, 12:13 | Сообщение # 79
Генерал-полковник
Группа: Проверенные
Сообщений: 1015
Награды: 56
Репутация: 44
Статус: Offline
Цитата stapmoff ()
Надпись svonok stop появляется сразу после включения, при проверке баланса, баланс не прилетает. на смс, ответ присылает корректно, гудки считает, звонок сбрасывает. Не показывает текс сообщения. При отсутствии сим, все равно меряет сигнал, но надпись NET пропадает! Вместо надписи NET лучше выводить оператора мне кажется)) командой AT+COPS? Если вставить сим обратно в слот, появляется ошибка 3 и сразу 0. Почему сразу 0?? Мне кажется если 3 то 3 исли 0 то 0 если 5 то 5 до прихода следующей команды опроса на ошибки! NET так и не показал валилась ошибка 3 и сразу 0 пока не ребутнул дуину. Мне кажется блок работает только с заведенным модемом и чтоб тот уже поймал сеть, пробовал запустить модем и дуину одновременно, вываливается ошибка 3 и сразу ноль итак до бесконечности, хотя модем сеть уже поймал!Но то, что происходит опрос модема на ошибки - это уже радует))!

Что еще хочу сказать по поводу баланса, когда делал свой проэкт, заметил, что при запросе баланса, сам баланс не всегда приходит, видимо сеть такая незнаю!
Ну по порядку, надписи которые сыпятся в терминал, это уже внешняя обвязка блока, и тут надо ее под себя настраивать. Например в том файле что я вам послал, вывода текста смс в терминал вообще нет.
Надпись NET, означает, что модем "Зарегистрирован в домашней сети", и сигнал битовый.
Меряет сигнал это странно, хотя если значение -120, то это тоже значит нет сигнала.

Да сейчас все ошибки выскакивают ровна на один программный цикл, вот их перечень

0- норма;
1 - Ошибка в ответ на команду
2 - Нет ответа от модуля при отправки команды
3 - Неверный ответ
4 - модуль не готов
5 - нет регистрации в сети
10 - недопустимый номер для отправки СМС
Зеленым еще не реализовано.

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

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

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


Сообщение отредактировал Слимпер - Четверг, 11.08.2016, 12:24
 
stapmoff Дата: Четверг, 11.08.2016, 12:24 | Сообщение # 80
Подполковник
Группа: Проверенные
Сообщений: 262
Награды: 3
Репутация: 2
Статус: Offline
Цитата Слимпер ()
и сразу ее сбросил
Не надо сбрасывать! Вылезла ошибка, я ее сравнил и например на дисплей вывел что это за ошибка!
Цитата Слимпер ()
Надпись NET, означает, что модем "Зарегистрирован в домашней сети", и сигнал битовый.
Это понятно, я написал все что наблюдал)
Цитата Слимпер ()
Меряет сигнал это странно, хотя если значение -120, то это тоже значит нет сигнала.
Нет -120 не было, как на скрине -83  -85 и так далее
 
Слимпер Дата: Четверг, 11.08.2016, 12:30 | Сообщение # 81
Генерал-полковник
Группа: Проверенные
Сообщений: 1015
Награды: 56
Репутация: 44
Статус: Offline
Цитата stapmoff ()
Не надо сбрасывать! Вылезла ошибка, я ее сравнил и например на дисплей вывел что это за ошибка!
Ладно подумаю, но тогда когда ее сбрасывать?
Была мысль выводить вообще ошибки самого модема, но пока отказался.
 
stapmoff Дата: Четверг, 11.08.2016, 12:34 | Сообщение # 82
Подполковник
Группа: Проверенные
Сообщений: 262
Награды: 3
Репутация: 2
Статус: Offline
Цитата Слимпер ()
но тогда когда ее сбрасывать
Я незнаю как у вас там реализован опрос по ошибкам, если циключеский, то до след. опроса пускай и висит

Добавлено (11.08.2016, 12:34)
---------------------------------------------

Цитата stapmoff ()
Была мысль выводить вообще ошибки самого модема, но пока отказался.
Ну и правильно, тут самое главное отвечает модуль или нет, есть сеть или нет! А по поводу AT+COPS? подумайте) Было бы шикарно
 
Слимпер Дата: Четверг, 11.08.2016, 12:58 | Сообщение # 83
Генерал-полковник
Группа: Проверенные
Сообщений: 1015
Награды: 56
Репутация: 44
Статус: Offline
Цитата stapmoff ()
Я незнаю как у вас там реализован опрос по ошибкам, если циключеский
Ну опрос сети идет циклически с интервалом, настраиваемым через параметры блока, вообще я вроде довольна подробно все расписывал в описании блока. 

На остальные появляются в при выполнении других операций или команд.
Вообще я сам еще не понял как оно должно быть, это так идеи.

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

Добавлено (11.08.2016, 12:41)
---------------------------------------------

Цитата stapmoff ()
А по поводу AT+COPS? подумайте) Было бы шикарно
Это не проблема, куда выводить, что еще один выход текстовый сделать?

Добавлено (11.08.2016, 12:58)
---------------------------------------------
Кажется я понял в чем проблема с балансом, ожидание ответа у меня сейчас стандартное для всех команд (2сек, меняется через настройки блока), а ответы на ussd запросы приходят куда дольше, надо переделать.

 
stapmoff Дата: Четверг, 11.08.2016, 13:02 | Сообщение # 84
Подполковник
Группа: Проверенные
Сообщений: 262
Награды: 3
Репутация: 2
Статус: Offline
Цитата Слимпер ()
Это не проблема, куда выводить, что еще один выход текстовый сделать?
Да, было бы не плохо.

Вообще от блока хочется следующего:
1. Возможность сравнивать номера с записной сим (или добавить больше входов для номеров, но возникает сложность прописывать номера если устройство на продажу)
2. Отправлять смс не на номер, что указан на входе, а на тот с которого прилетела смс (опять таки если записан в записной иначе игнор.)
3. Сделать несколько входов для текста смс (или если возможно добавлять в настройках блока.)
или так то можно задать одну переменную которая будет меняться в соответствии с требованиями и отправлять ее как текст смс?
4. По поводу баланса, я думаю лучше не запрашивать по переднему фронту, а так же цикличесли спустя N - время и если баланс менее минимума слать смс о пополнении.
Ну вот как то так

Смысл какой! Я делал следующим образом, вы же вроде глядели мой проэкт?  Достаточно 4 (или более надо думать) номера например под именами "a" "b" "c" "d" записываются стандартно на сим, а там уже я их сравнивали ответы слал именно на тот с которого пришел запрос! Для чего добавлять выводы под тект смс? Для того чтоб мониторить например температуру, влажность, пропадание 220 и так далее, но как в блоке потом выбирать какую переменную высылать???


Сообщение отредактировал stapmoff - Четверг, 11.08.2016, 13:17
 
Слимпер Дата: Четверг, 11.08.2016, 13:17 | Сообщение # 85
Генерал-полковник
Группа: Проверенные
Сообщений: 1015
Награды: 56
Репутация: 44
Статус: Offline
Цитата stapmoff ()
Возможность сравнивать номера с записной сим (или добавить больше входов для номеров, но возникает сложность прописывать номера если устройство на продажу)
Это надо посмотреть, команды работы с записной книгой я не разбирал пока.
Цитата stapmoff ()
2. Отправлять смс не на номер, что указан на входе, а на тот с которого прилетела смс (опять таки если записан в записной иначе игнор.)
Ответ на тот же номер и так была сделана в примере, правда внешней обвязкой, а вот проверка на наличие номер в сим, посмотрю.
 
stapmoff Дата: Четверг, 11.08.2016, 13:19 | Сообщение # 86
Подполковник
Группа: Проверенные
Сообщений: 262
Награды: 3
Репутация: 2
Статус: Offline
Цитата Слимпер ()
Это надо посмотреть, команды работы с записной книгой я не разбирал пока.
Телефонная книга.
Данные на карте хранятся подобно массивам, с индексами начинающимися с 1. В принципе данные могут храниться не только на сим-карте, но и в других местах, например в памяти телефона. Но в данном случае эти знания нам не особо актуальны:)
AT+CPBS=«SM» — выбрать как основную память сим-карту. Данный режим стоит по умолчанию.
AT+CPBS? — сообщит тип памяти, количество имеющихся записей и их максимальное количество. Например:
+CPBS: «SM»,3,250 значит, что на сим-карте есть 3 записи из 250 возможных.
Чтение данных.
AT+CPBR=1 — считывает запись с индексом 1.
AT+CPBR=2,5 — считать записи со 2-о по 5-ю.
AT+CPBF=«что ищем» — поиск информации. У меня работало очень нестабильно. Мог найти запись, а мог и нет. Отчего это зависит не очень понятно. На версии B07 поиск стал гораздо стабильней.
AT+CPBF — выдача всех записей на карте.
В любом случае информация идет в виде:
+CPBF: (или +CPBR) 2,"+7ХХХХХХХХХХ",145,«Home», где
2, — номер (индекс) записи.
+7ХХХХХХХХХХ", — номер.
145, — формат имени.
  • 129 — неизвестный (например при русских символах),
  • 161 — национальный формат (в римских цифрах что ли?),
  • 145 — интернациональный формат,
  • 177 — формат, определяемый сетью.

«Home», — имя записи.
AT+CPBW=4,"+71234567890",145,«Test» — записать контакт на сим-карту.
4, — индекс, куда записываем.
AT+CPBW=4 — стереть запись с указанным номером.

Добавлено (11.08.2016, 13:19)
---------------------------------------------
Смысл какой! Я делал следующим образом, вы же вроде глядели мой проэкт?  Достаточно 4 (или более надо думать) номера например под именами "a" "b" "c" "d" записываются стандартно на сим, а там уже я их сравнивали ответы слал именно на тот с которого пришел запрос! Для чего добавлять выводы под тект смс? Для того чтоб мониторить например температуру, влажность, пропадание 220 и так далее, но как в блоке потом выбирать какую переменную высылать???

 
Слимпер Дата: Четверг, 11.08.2016, 13:33 | Сообщение # 87
Генерал-полковник
Группа: Проверенные
Сообщений: 1015
Награды: 56
Репутация: 44
Статус: Offline
Цитата Слимпер ()
3. Сделать несколько входов для текста смс (или если возможно добавлять в настройках блока.) или так то можно задать одну переменную которая будет меняться в соответствии с требованиями и отправлять ее как текст смс?
Это  проще и удобнее делать внешней обвязкой  

а затем уже на вход модуля

Цитата stapmoff ()
4. По поводу баланса, я думаю лучше не запрашивать по переднему фронту, а так же цикличесли спустя N - время и если баланс менее минимума слать смс о пополнении.Ну вот как то так
это наверное можно сделать если получится сделать стабильное получение баланса. Хотя это можно сделать и внешней обвязкой модуля.

Добавлено (11.08.2016, 13:33)
---------------------------------------------

Цитата stapmoff ()
На версии B07 поиск стал гораздо стабильней.
Вы его что прошивал?
Прикрепления: 3384840.png(1Kb)
 
stapmoff Дата: Четверг, 11.08.2016, 13:47 | Сообщение # 88
Подполковник
Группа: Проверенные
Сообщений: 262
Награды: 3
Репутация: 2
Статус: Offline
Вы его что прошивал? нее у меня не SIM900 а SIM800L/ Это я скопировал статью по которой работал http://we.easyelectronics.ru/part....ya.html
 
Слимпер Дата: Четверг, 11.08.2016, 15:09 | Сообщение # 89
Генерал-полковник
Группа: Проверенные
Сообщений: 1015
Награды: 56
Репутация: 44
Статус: Offline
Сейчас разбирался с балансом и понял, что будут большие проблемы.
Например оказалось, что у разных операторов все по разному:
Пока через терминал:
МТС: 


Вообщем все хорошо, все нормально
Мегафон



Вот тут вариант с # вообще не работает (с обычного телефона тоже)

И это только два оператора, про остальных не берусь судить.

Вот как тут можно извлечь баланс?
 
stapmoff Дата: Четверг, 11.08.2016, 15:15 | Сообщение # 90
Подполковник
Группа: Проверенные
Сообщений: 262
Награды: 3
Репутация: 2
Статус: Offline
Цитата Слимпер ()
Вот как тут можно извлечь баланс?
Да уж)) вот засада! На самом деле в приборах которые работают по средствам GSM  модемов даже самые продвинутые, не имеют такой функции, на сколько я широко сталкивался с ними! Может не стоит морочить голову? А прикрутить что нибудь дельное? Например синхронизацию времени через сеть))) и вывод на блоке с часами и минутами????? Ну это я так wacko дурачусь, тут сам смотри!


Сообщение отредактировал stapmoff - Четверг, 11.08.2016, 15:24
 
Форум » Основной » Спросить у знатоков » Блок пользователя для работы с GSM (SIM 900 и М590)
Страница 6 из 70«12456786970»
Поиск:

FLProg © 2017
Яндекс.Метрика