АТ-команды

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

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

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

сначала создайте строковую переменную, например "temperatura", присвойте ей измеренное значение через функцию вычисления. ну а потом можете посылать через макрос rs232:
send String"at+cmgs=\"+370555111111\""
send Char13
pause 1500 ms
send string temperatuta
pause 500 ms
send Char 26
send Char13
ps там где стоят паузы по большому счету надо-бы поставить ловлю отмашки модуля о готовности к приему команды, иначе в случае ,например, нехватки средств на балансе вместо приглашения > получим ERROR.
Последний раз редактировалось Vladimir 01 сен 2014, 11:27, всего редактировалось 1 раз.
Аватар пользователя
Ник: vovikas
Имя: Vladimir
(vilnius)
Ученик
Ученик
Информация о пользователе

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

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

s111 писал(а):СПАСИБО! SMS отправил, может поделишься наработками , если есть. Как получить время от оператора?

на sim900 команда "at+cclk?". формат ответа: дата, время
Аватар пользователя
Ник: vovikas
Имя: Vladimir
(vilnius)
Ученик
Ученик
Информация о пользователе

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

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

что бы время на sim900 не вручную вводить , а получить от оператора.
И как из ответа USSD выделить число баланса.
Ник: s111
Имя: s111
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

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

Сообщение vovikas (Vladimir) » 01 сен 2014, 12:51

если автоматом модуль не получает время (зависит от оператора), попробуйте дать ему команду коррекции времени "AT+CLTS=1", после паузы в несколько секунд (опять-же зависит от оператора) по запросу cclk получите время.
Аватар пользователя
Ник: vovikas
Имя: Vladimir
(vilnius)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

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

Сообщение s111 (s111) » 01 сен 2014, 13:30

AT+CLTS=1 помогло, только время получил после перезагрузки модуля.
А вот из сообщение о балансе +CUSD: 0,"Vach balans 1500.55 BYR srok...." выделить число 1500 и записать в переменную?
Ник: s111
Имя: s111
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

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

Сообщение vovikas (Vladimir) » 01 сен 2014, 13:52

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

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

Сообщение s111 (s111) » 01 сен 2014, 13:59

А МОЖНО ПОПОДРОБНЕЙ?
Ник: s111
Имя: s111
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

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

Сообщение vovikas (Vladimir) » 01 сен 2014, 14:20

можно. с какого места?
вы попробуйте написать фрагмент кода и выложите сюда а мы вместе его подправим
Аватар пользователя
Ник: vovikas
Имя: Vladimir
(vilnius)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

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

Сообщение s111 (s111) » 02 сен 2014, 10:35

как правильно принять ответ? и про вычисление строк непонятки
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: s111
Имя: s111
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

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

Сообщение vovikas (Vladimir) » 02 сен 2014, 13:20

значит примерно так:
Считаем количество символов в строке CUSD - 22 текст про баланс и 7 собственно нужные нам цифры. Значит общее количество принятых символов 29. назначаем переменную USSD[29]. Заменяем в макросе прерывания количество принимаемых бит с 16 на 29. Теперь вычисляем USSD=Mid$(USSD,22,7) и выводим на экран (или куда там еще) нашу новую USSD. Хотя я бы сделал новую переменную USSDout[7] для вывода результата.
Аватар пользователя
Ник: vovikas
Имя: Vladimir
(vilnius)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Пред.След.

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

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

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