АТ-команды

PIC версия программы(разные темы)

Re: АТ-команды

Сообщение vovikas (Vladimir) » 05 сен 2014, 10:03

из хелпа по sring manipulation functions: (смотрите на английском языке, а то в русском переводе есть несуразности)
BBB=Compare$(sting1,string2,1)
нас интересует сравнение на идентичность, значит BBB будет равен нулю при оной.
в вычислениях делаем две строки стравнения на CCLK и COPS: BBB и CCC

Жуткая штука этот CCLK - второй день его гоняю более глубоко, может правда у меня прошивка сима кривая, но выдает информацию через прерывание и в теле программы как-то через пень-колоду. В прошлом моем проекте я ее брал периодически через много разных промежуточных команд, тогда все нормально, но как только закручиваешь ее в цикл, то каюк. Надо попробовать другую прошивку модуля.

Немного про сонный режим. Если делать как предлагает s111 с выключением модуля, то это не слип режим. Как его проверить на работоспособность дистанционно или поуправлять там чем-нибудь? Значит нам в помощь приходит команда at+csclk
Аватар пользователя
Ник: vovikas
Имя: Vladimir
(vilnius)
Ученик
Ученик
Информация о пользователе

Re: АТ-команды

Сообщение Petrov Alexandr (Александр) » 05 сен 2014, 10:24

А почему рекомендуете питание модуля коммутировать, а не АТ-командами управлять, может есть подводные камни? И ещё у СИМ900 есть отдельный вывод для включения модуля, можно ли им и выключать модуль?
Flowcode 5.5, Proteus 8.4SP0
Аватар пользователя
Ник: Petrov Alexandr
Имя: Александр
(Kiev)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: АТ-команды

Сообщение vovikas (Vladimir) » 05 сен 2014, 11:17

Ну, рекомендации как управлять модулем только общие - надо смотреть по конкретному применению устройства. Если это сигнализация, то ее надо периодически опрашивать на работоспособность (минимум раз в сутки по нормам наших охранных контор) . Или ПДУ. там вообще только в одну сторону в основном идут команды. Если это терминал для передачи данных, то тогда можно и выключать. Но есть одна нехорошая штука, это время выхода в сеть при холодном старте. У меня секунд 10-15 получается. Для сигнализации это многовато.
Аватар пользователя
Ник: vovikas
Имя: Vladimir
(vilnius)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: АТ-команды

Сообщение s111 (s111) » 05 сен 2014, 23:11

Можно и отдельным выводом отключать, только это не вариант по моему. Или через команду или если стоит задача экономить питание, то я бы отключал модуль полностью. У меня модуль регистрируется в сети за 5 сек. прошивка B13
Ник: s111
Имя: s111
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: АТ-команды

Сообщение s111 (s111) » 08 сен 2014, 06:32

Как выделить число баланса, если его значение будет меняться от 2 до 5 знаков?
Ник: s111
Имя: s111
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: АТ-команды

Сообщение vovikas (Vladimir) » 08 сен 2014, 19:21

Я так понял, что приходит стандартная строка "+CUSD: 0,"Vach balans 1500.55 BYR srok..." с непостоянным значением 1500,55 значит принимаем ее, начинаем считывать по очереди символы balans и с момента пробела считываем цифры до символов BYR. В итоге получаем набор цифр с запятой посередине и его обрабатываем в вычислительном блоке.
Аватар пользователя
Ник: vovikas
Имя: Vladimir
(vilnius)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: АТ-команды

Сообщение s111 (s111) » 09 сен 2014, 06:58

vovikas писал(а):начинаем считывать по очереди символы balans и с момента пробела считываем цифры до символов BYR.

А как конкретно их считать?
И еще вопрос- как принять вторую строку? к примеру
RING
+CLIP: "123457657676"
ЕЕ надо принимать как одну строку?
Ник: s111
Имя: s111
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: АТ-команды

Сообщение Petrov Alexandr (Александр) » 09 сен 2014, 13:21

Коллеги, поделитесь, пожалуйста, примером SMS дистанционного управления, если есть. Например есть 4 выхода, отправляем смс "А1"-включается 1-й выход, "А0"-выключается, и т. д. Или что нибудь похожее или подскажите, какие АТ-команды для этого можно использовать..
Flowcode 5.5, Proteus 8.4SP0
Аватар пользователя
Ник: Petrov Alexandr
Имя: Александр
(Kiev)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: АТ-команды

Сообщение s111 (s111) » 09 сен 2014, 14:46

Решаю аналогичную задачу. Жду когда придет SMS +CMTI: "SM",4 выделяю принимаю команду "+CMTI:" отправляю
AT+CMGL="REC UNREAD"
Приходит ответ
+CMGL: 4,"REC UNREAD","websms","","14/09/24,23:02:22+24"
OFF1
Вроде бы все просто принимаем две строки из второй выделяем команду OFF1 и выключаем нужный порт.
Только у меня на atmege8 не хватает оперативной памяти? что бы принять первую строку.
Посоветуйте как выделить текст только SMS?
Ник: s111
Имя: s111
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: АТ-команды

Сообщение vovikas (Vladimir) » 10 сен 2014, 09:19

а если принимать смс влет, не используя вообще память телефона/карточки? при приходе сообщения появляется
+CMT: "+11122233333",... номер в книжке, дата, время 0D0A
abcdef 0D0A- собственно сообщение.
первую строку, вернее символы CMT используем для анализа того, что пришла именно смс, дальше все пропускаем (можно по одному символу, если не хватает памяти) до 0д0а, потом уже в память загоняем текст смс как управляющие символы.
да, я сразу после старта модуля и перед запуском основного тела стираю вообще все сообщения из памяти, чтобы случайно не лезла всякая непонятно-ненужная последовательность.
зы очень хорошо посмотреть примеры ардуино смс ремот контрол, логика программ похожая.
Аватар пользователя
Ник: vovikas
Имя: Vladimir
(vilnius)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в Flowcode PIC

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей