Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Ср фев 07, 2018 10:12:25

Что вы имеете ввиду??

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Ср фев 07, 2018 12:09:21

Что вы имеете ввиду??


Пардон!
Показалось, что вам сам модуль не отвечает.

Прерывания, с вашей помощью запустил. А как же мне вытащить ОК из
Ничего не работпает. Как же узнать где в буфере, слово ОК ?????


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

На "внутренние" функции - задержку от 500мс до 1с.
Вы, возможно не можете найти ответ т.к. он ещё не пришёл...Дайте модулю ответить.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Ср фев 07, 2018 12:26:43

В том то и дело, Модуль отвечает. И в принятом буфере, я нашел первые два символа, 0D 0A, А вот за ними должны идти 'O' 'K' их то как раз я и не могу найти...

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Ср фев 07, 2018 12:48:18

В том то и дело, Модуль отвечает. И в принятом буфере, я нашел первые два символа, 0D 0A, А вот за ними должны идти 'O' 'K' их то как раз я и не могу найти...


А между ответом и сканированием буфера сколько проходит?
На какую команду?
просто на внутренюю?
значит
>> AT
ждём 1с
<< OK
обработка

у вас же есть указатель на последний символ в буфере.
Берёте начало буфера , берёте конец - между ними поиск строки.
Советую обнулять указатель на конец буфера каждый раз перед каждой Ат командой.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Сб фев 16, 2019 08:05:22

Подскажите почему не работает модуль. Верней работает 2-3 команды:

Симка рабочая, задолженности нет. Модуль брал здесь>>. Мигает медленно - т.е. сигнал проходит. Питание 5 вольт - ниже пока не пробовал, может причина в этом, но подумал, раз мигает медленно и на простые команды реагирует, то возможно все ОК.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Сб фев 16, 2019 08:48:29

Anatoliy1000 писал(а):Питание 5 вольт
в документации четко сказано, что 5 вольт - слишком высокое напряжение! модуль работать НЕ ДОЛЖЕН. его нормальное питание - 1 Li-"банка" аккумулятора, т.е. в среднем 3,7В плюс-минус немного.

кроме того, вы даете модулю какие-то загадочные команды (ADC, например), которые могут и не работать по определению - не все "модули" одинаково устроены. например, может не быть блютуза и FM-приемника, а могут и быть. тестируйте на командах GSM-связи: AT+CMGL, AT+CUSD и т.п. позвоните на эту симку в конце концов, или наберите номер с нее.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Вс фев 17, 2019 01:49:01

ARV писал(а):в документации четко сказано, что 5 вольт - слишком высокое напряжение! модуль работать НЕ ДОЛЖЕН. его нормальное питание - 1 Li-"банка" аккумулятора, т.е. в среднем 3,7В плюс-минус немного.
ну, модуль-то работает. У него верхний порог 4.4 В, кажется. Ежели с тех 5 В на проводах упало чуть - уже и не так страшно... Могло, конечно, что-то выгореть так экзотически, что половина команд возвращают ошибку, или ерунду. Но вероятность этого имхо довольно низкая.
ARV писал(а):кроме того, вы даете модулю какие-то загадочные команды (ADC, например), которые могут и не работать по определению - не все "модули" одинаково устроены.
IMEI модем отдавать должен. Как и отображать список сетей, которые он видит. Все остальные команды из приведённого списка валидны для модуля SIMCOM. Тут мы переходим к части грустной - не факт, что модуль имеет какое-то отношение к этой фирме. И что из AT команд понимает этот плод китайского сумрачного гения - не скажет никто. Если это всё же симком - я бы попробовал отправить ему AT+CMEE=2, после этого он должен развёрнуто мотивировать ошибки. Мошт, что станет понятно.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Вс фев 17, 2019 15:24:55

я брал точно такой же и сейчас им играюсь. и мои советы основаны на моем опыте. IMEI нафиг не нужен, по-моему. а остальное - от звонков до NTP работает. список операторов тоже возвращает, но не всегда (лично у меня пробелма с драйвером переходника USB-COM, он просто падает, если данных много зараз идет).

Добавлено after 2 minutes 9 seconds:
кстати, на счет питающего напряжения - не уверен, что модулю совсем все равно 4,4 или 5 вольт. при слишком большом превышении он вообще отключается сам автоматически. ни попробуйте at+cbc - должен показать напряжение питания в милливольтах.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Пн фев 18, 2019 14:13:20

кстати, на счет питающего напряжения - не уверен, что модулю совсем все равно 4,4 или 5 вольт.
ему вообще не всё равно. И лучше никогда не подавать на него 5 В вместо питания. Если оно и заработает, как у Anatoliy1000, то проработает наверняка меньше, чем могло бы.
я брал точно такой же и сейчас им играюсь. и мои советы основаны на моем опыте.
советы? Видимо, Вы завуалировано посоветовали выбросить сгоревший от 5 В по питанию модуль в помойку? :) Или Вы про список поддерживаемых AT-команд?
IMEI нафиг не нужен, по-моему.
то, что Вам не нужен (пока не нужен) IMEI, не значит, что AT+GSN "загадочная команда" :)
список операторов тоже возвращает, но не всегда
это не делает AT+COPS "загадочной командой". Ну, и она вообще прям во всех модемах есть. Как и AT+CMGL и ATD, которые Вы рекомендовали.
Про падающий драйвер USB2COM - чот странно... а если его "самого на себя" натравить, замкнуть RX и TX перемычкой? Или МК на него какой-нибудь повесить, вместо модема? Это же не долго должно быть... тоже будет падать? А настройки ком-порта модема и переходника одинаковые?

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Пн фев 18, 2019 16:58:21

Игрался с таким же модулем. Тупанул, и развел плату под аттини2313. А оперативки-то у нее с гулькин нос. Какие уж тут строки.
Вышел из положения так. Слушаю уарт от модуля в прерывании и обрабатывают его сообщения в конечном автомате. Т.е. никаких строк "ОК", "RING", "+CMTI" или подобных у меня нет. Есть переменная статуса, где каждый бит означает статус. Когда отправляю модулю команду на которую ожидаю получить ОК, сбрасываю бит ОК, и жду некоторое время ответ. Если бит ОК выставился, то ответ ОК пришел. Если нет, то вываливаюсь по таймауту. Ну и так далее.
Принимает СМСки, читает из них текущее время, в 6 и в 18 часов присылает мне температуру.
Не понял только, а че время в заголовке смски то местное, то московское оказывается?! Т.е. когда тестировал на компе было просто время совпадающее с местным. А когда дошло до дело, иногда время полученное и разобранное контроллером из смски отличается ровно на 4 часа (т.е. на разницу во времени между московским и местным)

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Пн фев 18, 2019 22:09:54

Було б цікаво подивитись на ваш код :))) Реально интересен вариант без строк.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Вт фев 19, 2019 06:42:35

AAX писал(а):Вы завуалировано посоветовали выбросить сгоревший от 5 В по питанию модуль в помойку?
я абсолютно незавуалированно рекомендую питать модуль напряжением согласно документации, не мучаясь вопросом насколько ему вредно/полезно другое питание

кстати, о питании. везде и всюду пишут, что модулю нужно питание, способное обеспечить импульсный ток до 2А без просадки напряжения за допустимые пределы. так вот, в моих экспериментах питание по длинным проводам от лабораторного источника не позволяло модулю нормально работать. никакие low-ESR конденсаторы (вплоть до 220 мкФ) вблизи модуля не помогали. зато при подключении литиевого аккумулятоа короткими проводками (достаточно тонкими) к модулю решило проблему в корне. конденсатор, правда, оставил 100 мкФ. возможно, проблемы с "сетевыми" командами у топикстартера связаны с питанием...

AAX писал(а):Ну, и она вообще прям во всех модемах есть.
да много чего есть в модемах. в SIM800L и встроенный "диск" есть, можно файлы писать/читать, да только в сети не встречалось ни одного проекта, который бы эту взможность использовал бы. да и сам не могу придумать применение этому... не вообще, а в реальном проекте.
AAX писал(а):Про падающий драйвер USB2COM - чот странно...
есть многое на свете, друг Горацио...
AAX писал(а):Это же не долго должно быть... тоже будет падать?
драйвер падает сам по себе независимо от того, что к переходнику подключено. как правило, падает в моменты, когда что-то через переходник данные посылает, а в этот момент на компе кто-то пытается подключиться к этому виртуальному порту. если обеспечить, что данные поступают уже после того, как терминальная программа подключилась к порту, то работает более-менее стабильно...

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Вт фев 19, 2019 15:52:33

ARV писал(а):везде и всюду пишут, что модулю нужно питание, способное обеспечить импульсный ток до 2А без просадки напряжения за допустимые пределы. так вот, в моих экспериментах питание по длинным проводам от лабораторного источника не позволяло модулю нормально работать. никакие low-ESR конденсаторы (вплоть до 220 мкФ) вблизи модуля не помогали. зато при подключении литиевого аккумулятоа короткими проводками (достаточно тонкими) к модулю решило проблему в корне. конденсатор, правда, оставил 100 мкФ. возможно, проблемы с "сетевыми" командами у топикстартера связаны с питанием...
а в ваших экспериментах модуль продолжал отвечать на команды, отправленные ему извне? Писал ERROR при обращении к "сетевым" командам? (список сетей формируется не в момент вызова AT+COPS, кстати) Или, может быть, отвечал "Not Available" на запрос IMEI?
Насчёт Вашей боли с блоком питания и аккумулятором: не знаю, как в даташите на этот конкретный модуль, но к нормальным GSM модулям обычно прикладывают временную диаграмму потребления, где указано, как часто, и сколько именно миллисекунд модуль потребляет эти 2 А. И какое падение питающего напряжения он готов пережить при этом (Вы же понимаете, что "без просадки напряжения" - это утопия? :-)
Если я ничего не перепутал, и в даташите на этот модуль стоит абсолютным максимумом 4.4 В - попробуйте повесить по входу танталовый конденсатор 330 мкФ и запитать модуль напряжением 4.3 В. Вобщем, под верхнюю границу нужно питающее напряжение поднять, по возможности. Ну, и сильно длинные провода/хреновый блок питания могут, просто, не дать конденсатору достаточно зарядиться между пиками потребления.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Вт фев 19, 2019 17:39:18

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

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Пт авг 09, 2019 18:23:36

Всем привет!
Модуль SIM800L EVB,пытаюсь отправит смс. шлю команду + номером телеaона, он мне отвечает символом > в ответ шлю ему текст сообщения с символом 0x1A, он молчит....звонки,команды в норме. кодировка в текстовом режиме "GSM".Прошу помощи разобраться,а то уже который вечер потрачен безрезультативно :roll:

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Пт авг 09, 2019 21:49:18

После 0x1A модем не сразу отвечает, а когда отправил сообщение. Эта процедура может занять значительно время. Даже минуту; точно смотрим в справке. И если не дождаться ответа и что-то отправлять, то можем может ещё на дольше подвиснуть.
Но также причина может быть банальна - питание плохое.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Сб авг 10, 2019 10:58:48

Друзья, после нескольких лет, создания устройств на таких модулях, Экспериментально выяснилось
1- Общаться с модулем через преобразователь уровней.
2- питать от мощного источника 2-3 Ампер.

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Вс авг 11, 2019 07:54:43

После 0x1A модем не сразу отвечает

Сколько видосов не и смотрел и статей не читал, нигде не сказано про это... будем тестить, спасибо!

Re: Работа с GSM модулем SIM800L и ATmega16 на Си. Помогите

Вс авг 11, 2019 11:38:26

Тогда, советую прочесть о протоколе rs232 и особенно об уровнях напряжения.
Ответить