Aurochs 0 20 декабря, 2011 Опубликовано 20 декабря, 2011 · Жалоба Полной "защитой от дурака" является только перепрошивка модуля - тогда полностью обновится область настроек. +100 Золотые слова! Хочется вот только уточнить: о каком дураке речь? Дураке-пользователе или же дураке-разработчике? Хотя, если принять во внимание факт, что для сброса ВСЕХ настроек вместо того, чтобы просто сбросить их одной командой (между прочим, специально для этого предусмотренной в стандарте!) приходится перепрошивать модуль, то ответ и так достаточно очевиден. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Apik 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба Вопрос может не совсем по АТ-командам, но не хочу создавать новую тему. При AT+CREG=1 — разрешается выдача сообщения о смене регистрации в сети. Антенна у меня PCB, и ловит заррраза хорошо, не могу сэмулировать пропажу сети. Так вот - когда теряется сеть - что мне присылает модуль? Сперва +CREG: 0, потом +CREG: 2, и когда найдет сеть +CREG: 1? Или может +CREG: 0 пропустит, и сразу перейдет к +CREG: 2? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
molecul 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 (изменено) · Жалоба Вопрос может не совсем по АТ-командам, но не хочу создавать новую тему. При AT+CREG=1 — разрешается выдача сообщения о смене регистрации в сети. Антенна у меня PCB, и ловит заррраза хорошо, не могу сэмулировать пропажу сети. Так вот - когда теряется сеть - что мне присылает модуль? Сперва +CREG: 0, потом +CREG: 2, и когда найдет сеть +CREG: 1? Или может +CREG: 0 пропустит, и сразу перейдет к +CREG: 2? Рискну предположить, что это зависит как от модуля, так и от поведения чужих сетей. Telit GL868 + МТС: // включили модуль с антенной at+creg? +CREG: 0,1 OK at+creg=1 OK // отключили антенну +CREG: 3 // видимо, сеть конкурентов в антенне не нуждается :) // подключили антенну обратно +CREG: 1 Изменено 22 декабря, 2011 пользователем molecul Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 11 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба У меня без антенны и пятерка иногда проскакивает - типа в роуминге. Но чтобы долго держалась не получалось - пытаешься работать - хлоп - опять =0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Apik 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба Т.е. получается надо обрабатывать все случаи, когда СREG не равно 1. Жаль, думал можно один обработать ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megabuks 0 30 марта, 2012 Опубликовано 30 марта, 2012 · Жалоба Здравствуйте А помогите разобраться чайнику,никогда не имевшему дела с Gsm модулями Какая вообще последовательность инициализации модуля? Собственно мне нужно - позвонить, установить csd соединение, передать пакет данных и разъединиться Как это сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewlekar 0 30 марта, 2012 Опубликовано 30 марта, 2012 · Жалоба 1. Подключиться терминалом к модулю и подать питание 2. Для некоторых модулей нужно притянуть сигнал ON/~OFF (он же PWR_KEY) к земле, а потом желательно отпустить. 3. Определить скорость, на которой работает модуль и поменять в терминале скорость на нужную, либо заставить сработать автодетект скорости на модуле, если он есть. 4. Подать команду AT и поглядеть ответ. 5. Установить режим передачи данных AT+CBST=71, хотя и без этого должно работать. 6. Набрать ATD+7номер телефона 7. Дождаться соединения: CONNECT 9600 8. Набрать что угодно в терминале - это будет передано по модему на удаленный модем. 9. Набрать +++ 10. Набрать ATH Всё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megabuks 0 30 марта, 2012 Опубликовано 30 марта, 2012 · Жалоба 1. Подключиться терминалом к модулю и подать питание 2. Для некоторых модулей нужно притянуть сигнал ON/~OFF (он же PWR_KEY) к земле, а потом желательно отпустить. 3. Определить скорость, на которой работает модуль и поменять в терминале скорость на нужную, либо заставить сработать автодетект скорости на модуле, если он есть. 4. Подать команду AT и поглядеть ответ. 5. Установить режим передачи данных AT+CBST=71, хотя и без этого должно работать. 6. Набрать ATD+7номер телефона 7. Дождаться соединения: CONNECT 9600 8. Набрать что угодно в терминале - это будет передано по модему на удаленный модем. 9. Набрать +++ 10. Набрать ATH Всё. Так заработало Большое спасибо. А я начал с discovery tools сиерровской, думал там подсмотрю чего шлеться, - а с нее даже позвонить не получается :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maratt 0 13 апреля, 2012 Опубликовано 13 апреля, 2012 · Жалоба Помогите чайнику. Собрал охранное устройство + модем на SIM300DZ. Звонит, отправляет SMS.Не отвечает на запросы с текстом stat и rst. Вот выдержка из описания устройства. Данное устройство предназначено для охраны и наблюдения за удаленными объектами. Оно может дозваниваться до телефонных номеров из списка (не более 3), записанных в EEPROM PIC'a, а также отправлять SMS. Основу составляет PIC16F628A. Он отсчитывает необходимые интервалы времени и управляет мобильным телефон посредством некоторых AT команд, а именно: • ATD<тел. номер>; - вызов. • ATH - отмена вызова. • AT+CMGS=<pdu length> - отправка SMS. • AT+CMGR=n - читать SMS с sim. • AT+CMGD=n - удалить SMS c порядковым номером n. Чтобы процессор знал о приходе новой SMS, устанавливается режим индикации входящих сообщений командой AT+CNMI=1,1,0,0,1. Есть возможность узнать в любой момент состояние всех четырех датчиков, для этого надо отправить на номер SIM карты используемого в устройстве мобильника сообщение с текстом "stat". Для сброса устройства необходимо использовать текст "rst" Ввожу команду AT+CNMI=1,1,0,0,1 Пишет: OK. Спрашиваю AT+CNMI? Отвечает AT+CNMI:1,1,0,0,0 Как ни бился последнюю цифру изменить не смог. У автора телефон Siemens C35, у меня модем на SIM300DZ. Что я не так делаю? Суважением. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 11 13 апреля, 2012 Опубликовано 13 апреля, 2012 · Жалоба >>>Что я не так делаю? Не читаете документацию +CNMI: <mode>,<mt>,<bm>,<ds>,<bfr> SIM300_ATC_V2.03.pdf страничка 3 4.2.9 AT+CNMI Remove the value 1 of parameter <bfr> Поэтому последний параметр всегда и будет 0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maratt 0 13 апреля, 2012 Опубликовано 13 апреля, 2012 · Жалоба Я не программист, я практик. Почитал форум, купил SIM300D, спаял схему и получил облом. Текст SMSок и номера телефонов записаны в контроллере. На SIM карте ни чего не должно откладываться. В буфере модема тоже. Вся информация при приходе SMS должна идти сразу в контроллер. Почитал Руководство по использованию АТ-команд для GSM/GPRS моде- мов.: Пер. с англ. – М.: 9.9. Индикация нового сообщения: +CNMI 9.9.1. Описание Данная команда производит отбор процедуры индикации о получении но¬вого сообщения. И если честно мало что понял. Может, подскажете, какие значения нужны в моем случае? С уважением. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 53 13 апреля, 2012 Опубликовано 13 апреля, 2012 · Жалоба Подозреваю что таки AT+CNMI=2,2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maratt 0 14 апреля, 2012 Опубликовано 14 апреля, 2012 · Жалоба Спасибо. В понедельник попробую. Дома нет СОМ порта. Остальные значения можно оставить как есть? - AT+CNMI:2,2,0,0,0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vpd 0 23 апреля, 2012 Опубликовано 23 апреля, 2012 (изменено) · Жалоба Вот есть вопрос по автомату состояния, обслуживающему входной поток символов от модуля (SIM900). Собственно, хочется сделать его относительно гибким, чтобы можно было усложнять функции, а также как-то упорядочить процесс их выполнения при асинхронном возникновении различных событий. Пока что имеем такие задачи: 1) Отправка SMS по событию, детектированному прибором с датчика. 2) Прием SMS из сети с просьбой подключится к серверу 3) Установление GPRS-соединения с сервером и отправка журнала работы, прием команд и сопутствующих бинарных данных. На данный момент разработана схема, где к микроконтроллеру подключены только RXD, TXD, RI, в расчете на Software flow control и аппаратное определение событий по сигналу RI, таких как прием СМС. Вопросы: 1) Нужно ли работать с включенным эхо или нет? Вначале я думал по эху контролировать, что модуль честно принял команду, и можно перевести автомат обработки в состояние ожидания ответа, но на самом деле он может в ответ сам начать что-то слать в середине моей команды, см пример ниже. В этом случае получается какой-то непредсказуемый обмен. 2) Каким образом отслеживается условие, что модуль закончил ответ на последнюю выданную команду? Проблема заключается в том, что есть команды, которые выдают только один ОК, есть такие, которые выдают ответ, потом ОК, есть такие, которые выдадут ответ, но без отдельного ОК. Наконец, бывают такие, которые выдают сначала ОК, потом подумают, и еще чего выдадут, например AT+CDNSGIP. В итоге, идея о том, что можно будет сделать какой-то простой детектор, накрывается медным тазиком. В особенности, если учесть, что возможны вклинивающиеся ответы, см следующий пункт. 3) Каким образом отличать, что в ответе относится к ответу от моего запроса, от того, что пришло, скажем из сети. Ниже я привожу пример, как я стал писать команду AT+CPIN? и в этот момент позвонил на этот номер, потом повесил трубку и закончил ввод. В данном случае посыпался RING. Аналогично может посыпаться +CMTI от SMS и Бог его знает, сколько еще всего неизведанного. Можно ли так построить код, чтобы все подобные неожиданности не порушили задуманных алгоритм работы? 4) Как вообще правильно поступать, если возможны асинхронные события, порождающие независимые задания для модуля? Например, пришла СМС-ка, подключились к серверу, стали передавать ему журнал работы (лог). Пока передавали лог за сутки, сработал датчик, и теперь надо послать СМС. СМС подсистему можно дергать сразу или нужно дождаться конца сессии с сервером, успокоить модуль, забрать и проанализирвоать все статусы и вот потом начинать с ним затею с СМС? 5) Если много команд выдается подряд без эха, то как узнать где ответ на какую команду? Или, не надо так делать? Если ждать ответа на каждую, то скорость обмена падает. Хотя пока что для нас это не очень критично, объем данных относительно невелик, зато NAND-буферы огромны. Насколько я понимаю, все эти проблемы не относятся напрямую к теме FLOW CONTROL, так как никто не отказывается от приема данных с максимальной скоростью, вопрос лишь в том, как их обрабатывать. Вот такой фрагмент сессии из гипертерминала был: AT OK AT+CCID 89701200630012452255 OK AT+C RING RING RING PIN? +CPIN: READY OK вот такой вот бывает ответ на AT+CDNSGIP AT+CDNSGIP="mail.ru" OK ... прошла одна секунда ... +CDNSGIP: 1,"mail.ru","94.100.191.204" Изменено 23 апреля, 2012 пользователем Hoodwin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aurochs 0 24 апреля, 2012 Опубликовано 24 апреля, 2012 · Жалоба 1. Эхо рекомендую выключать. Кроме всего прочего оно существенно замедляет обмен. 2. Действительно, о простоте говорить не приходится. 3. Асинхронные посылки модуля НИКОГДА не попадают внутрь строки ответа модуля. Посему каждую строку принятую от модуля в процессе обработки команды нужно проверять на совпадение с ожидаемой асинхронной репликой (тем же RING, например) и регистрировать их в очереди входных событий. А очередь эту обрабатывать уже после завершения обработки самой команды. 4. Можно поступать, как душе угодно, но команды на модем должны отдаваться последовательно: следующая команда должна подаваться ТОЛЬКО ПО ЗАВЕРШЕНИИ предыдущей. Под завершением понимается выдача OK|ERROR. Все, что команда выдает после этого нужно уже рассматривать как асинхронную посылку. 5. Да, скорость обмена падает, но не настолько, как при включенном эхе. Но в данном-то случае нас интересует же не скорость обмена, а скорость выполнения команд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться