реклама на сайте
подробности

 
 
> Модуль SIM800 не отвечает на команды
zheka
сообщение Jul 27 2018, 14:32
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Вот такой модуль из Китая https://ru.aliexpress.com/item/SIM800-GSM-G....3da233edRYKJQO

Подключил. ПОставил скорость 9600. Отсылаю АТ, в ответ вместо "ОК" приходит АТ.
Чтобы мне не советовали сменить скорость, проверить.... ну в общем все что советуют тем, у кого не устанавливается связь по UART, хочу обратить внимание - команды ATE0 и ATE1 модуль понимает и эхо, соответственно, включается и выключается. Более того, когда жмешь кнопку PWR, модуль уходит в спячку, а на терминал приходит правильно расшифровываемое сообщение "NORMAL POWER DOWN".
Но на запросы он не отвечает. Только шлет эхо команды

Что делать и кто виноват?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Grigorij
сообщение Jul 31 2018, 14:58
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 10-03-07
Пользователь №: 26 038



Цитата(zheka @ Jul 31 2018, 15:16) *
Владивольт, окститесь, жизнь есть и за пределами МКАД. И интернет с электричеством тоже).

Все равно было бы неплохо уточнить, поддерживает ли данный оператор в вашем регионе 2G. Сейчас идет тенденция на сворачивания 2G, чтобы освободить частоты под 4G. Мы уже на такое нарвались и сейчас обновляем приборы в некоторых странах.

Цитата(zheka @ Jul 31 2018, 15:16) *
Grigoij, а проясните еще один практический момент...


Однозначной рекомендации здесь наверное нет. Расскажу как примерно у меня все то дело работает.

Для обмена сообщенями я используют 2 буфера (один Rx, другой Tx) доступ к которым идет через DMA. Т.е. в явном виде взаимодействия с UART нет. Далее в программе есть отдельная задача (софт построен на базе FreeRTOS), которая отвечает за работу с GSM модемом. Сама эта задача представлена в виде машины состояний. В простом варианте у меня всего 5 состояний:

Код
idle (вообще ничего не делаем)
инициализация модема (включаем модем и отправляем набор команд для настройки модема)
регистрация в сети (регистриуемся в сети)
TCP соединение (обрабатываем входящие/исходящие пакеты)
выключение (корректно выключаем модем AT командам и выключаем питание)


Каждое состояние (кроме TCP соединения) работает по примерно следующему сценарию:

Код
если первый раз зашли в это состояние, то
    отправить первую AT команду
    инициализировать таймер для отслеживания timeout на ответ модема
    отдать управление FreeRTOS
если повторно зашли в это состояние (ну т.е. FreeRTOS нам управление вернула), то
    проверить, нет ли чего в буфере, а если есть, то обработать (например, перейти в следующее состояние
    или отрпавить какое-нибудь сообщение основной задаче)
    проверить не сработал ли timeout (например, модем не отвечает)


TCP соединение работает несколько иначе. Я сейчас отказался от стека внутри модема и использую LWIP. Это состояние работает по примерно следующему сценарию:

Код
проверить, есть ли какая команда от главной задачи (например на выключение модема)
если команда есть - выполнить ее
если команды нет, то считать все, что есть в буфере и отправить это в LWIP на обработку


Вроде не сильно запутанно написал.

Еще надо учесть пару моментов. Во-первых, для модема у меня выключены URC. Это позволяет исключить "внезапный" набор каких-либо сообщений от модема. Т.е. получается система "запрос-ответ". Это позволяет легко определить, ждем мы что-нибудь от модема или нет. Во-вторых, мне нет необходимости обрабатывать СМСки или входящие звонки. С другой стороны наличие входящей СМС можно проверить по запросу, а такой поведение легко добавляет в машину состояний, описанную выше. А для входящего звонка обычно есть еще и отдельны вывод у модема, который о нем сигнализирует.

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zheka   Модуль SIM800 не отвечает на команды   Jul 27 2018, 14:32
- - ArtemKAD   Символы завершения и перевода строки отправить. ...   Jul 27 2018, 15:02
- - zheka   причина в программе - с Terminal 1.9 не работает....   Jul 27 2018, 16:27
|- - ДЕЙЛ   Цитата(zheka @ Jul 27 2018, 19:27) причин...   Jul 31 2018, 21:47
|- - jcxz   Цитата(ДЕЙЛ @ Aug 1 2018, 00:47) В своё в...   Aug 1 2018, 10:14
- - Grigorij   Цитата(zheka @ Jul 27 2018, 20:27) Putty ...   Jul 27 2018, 18:10
- - ArtemKAD   На сколько помню, в Terminal 1.9 кроме галочки ...   Jul 27 2018, 18:11
- - zheka   ЦитатаА что именно putty пишет? Ну в смысле, он за...   Jul 27 2018, 18:33
- - ArtemKAD   Она у всех 1.9b. Зайдите на сайт к разработчику ht...   Jul 27 2018, 18:51
|- - zheka   Цитата(ArtemKAD @ Jul 27 2018, 21:51) Она...   Jul 27 2018, 19:01
- - zheka   Пытаюсь расшевелить модуль. Проблемы с регистрацие...   Jul 30 2018, 14:37
- - Grigorij   Цитата(zheka @ Jul 30 2018, 17:26) AT+CRE...   Jul 30 2018, 14:40
- - zheka   На AT+CCID отвечает "8970 (дальше набор цифр ...   Jul 30 2018, 14:57
- - Grigorij   Цитата(zheka @ Jul 30 2018, 17:48) Продав...   Jul 30 2018, 14:58
- - zheka   Вот что выдает при чтении SMS Цитата<\n...   Jul 30 2018, 15:51
- - Grigorij   Цитата(zheka @ Jul 30 2018, 18:27) Кое-ка...   Jul 30 2018, 15:55
- - zheka   Сходил в магазин, поменял симку на новую. Все рабо...   Jul 30 2018, 17:50
|- - Harbinger   Цитата(zheka @ Jul 30 2018, 20:50) Остает...   Jul 30 2018, 18:42
- - Grigorij   А какой вообще список сетей выдает модем с нормаль...   Jul 30 2018, 19:28
- - zheka   ЦитатаЧто-то надо было сделать. Просто карту нужно...   Jul 31 2018, 03:34
- - Владивольт   ЦитатаНо факт остается фактом, с теле2 тоже нет ко...   Jul 31 2018, 09:07
- - zheka   Владивольт, окститесь, жизнь есть и за пределами М...   Jul 31 2018, 12:16


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 19:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.02434 секунд с 7
ELECTRONIX ©2004-2016