Прерывания, с вашей помощью запустил. А как же мне вытащить ОК из Ничего не работпает. Как же узнать где в буфере, слово ОК ?????
стандартной сишной функцией поиска строки в строке. Какие проблемы? В даташите на SIM800 есть тайминги на каждую функцию, кроме сервисных , касающихся работы с сетевыми протоколами, но и они в апноутах прописаны.
На "внутренние" функции - задержку от 500мс до 1с. Вы, возможно не можете найти ответ т.к. он ещё не пришёл...Дайте модулю ответить.
В том то и дело, Модуль отвечает. И в принятом буфере, я нашел первые два символа, 0D 0A, А вот за ними должны идти 'O' 'K' их то как раз я и не могу найти...
В том то и дело, Модуль отвечает. И в принятом буфере, я нашел первые два символа, 0D 0A, А вот за ними должны идти 'O' 'K' их то как раз я и не могу найти...
А между ответом и сканированием буфера сколько проходит? На какую команду? просто на внутренюю? значит >> AT ждём 1с << OK обработка
у вас же есть указатель на последний символ в буфере. Берёте начало буфера , берёте конец - между ними поиск строки. Советую обнулять указатель на конец буфера каждый раз перед каждой Ат командой.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Подскажите почему не работает модуль. Верней работает 2-3 команды: СпойлерAT
OK ATi
LSI Softmodem Version 2.2.89.2
OK AT+IPR=9600
OK AT+ICF?
+ICF:0,3
OK AT+ICF=3,3
ERROR AT+ICF=3,3
ERROR AT+GCAP
+GCAP:+FCLASS,+MS,+ES,+DS
OK AT+GMM
H.324 video-ready rev. 1.0
OK AT+GSN
Not Available
OK AT+GSN
Not Available
OK AT+GSN
Not Available
OK AT+COPS?
ERROR AT+COPS=?
ERROR AT+CPAS
ERROR AT+CREG?
ERROR AT+CSQ
ERROR AT+CCLK?
ERROR AT+CADC?
ERROR AT+CMGF=1
ERROR ATZ0
OK AT+IPR?
+IPR:0
OK AT+GMR
2.2.89.2
OK AT+GSN
Not Available
OK AT+COPS=?
ERROR Симка рабочая, задолженности нет. Модуль брал здесь>>. Мигает медленно - т.е. сигнал проходит. Питание 5 вольт - ниже пока не пробовал, может причина в этом, но подумал, раз мигает медленно и на простые команды реагирует, то возможно все ОК.
_________________ За любую помощь (даже попытку) ставлю +.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
в документации четко сказано, что 5 вольт - слишком высокое напряжение! модуль работать НЕ ДОЛЖЕН. его нормальное питание - 1 Li-"банка" аккумулятора, т.е. в среднем 3,7В плюс-минус немного.
кроме того, вы даете модулю какие-то загадочные команды (ADC, например), которые могут и не работать по определению - не все "модули" одинаково устроены. например, может не быть блютуза и FM-приемника, а могут и быть. тестируйте на командах GSM-связи: AT+CMGL, AT+CUSD и т.п. позвоните на эту симку в конце концов, или наберите номер с нее.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
в документации четко сказано, что 5 вольт - слишком высокое напряжение! модуль работать НЕ ДОЛЖЕН. его нормальное питание - 1 Li-"банка" аккумулятора, т.е. в среднем 3,7В плюс-минус немного.
ну, модуль-то работает. У него верхний порог 4.4 В, кажется. Ежели с тех 5 В на проводах упало чуть - уже и не так страшно... Могло, конечно, что-то выгореть так экзотически, что половина команд возвращают ошибку, или ерунду. Но вероятность этого имхо довольно низкая.
ARV писал(а):
кроме того, вы даете модулю какие-то загадочные команды (ADC, например), которые могут и не работать по определению - не все "модули" одинаково устроены.
IMEI модем отдавать должен. Как и отображать список сетей, которые он видит. Все остальные команды из приведённого списка валидны для модуля SIMCOM. Тут мы переходим к части грустной - не факт, что модуль имеет какое-то отношение к этой фирме. И что из AT команд понимает этот плод китайского сумрачного гения - не скажет никто. Если это всё же симком - я бы попробовал отправить ему AT+CMEE=2, после этого он должен развёрнуто мотивировать ошибки. Мошт, что станет понятно.
я брал точно такой же и сейчас им играюсь. и мои советы основаны на моем опыте. IMEI нафиг не нужен, по-моему. а остальное - от звонков до NTP работает. список операторов тоже возвращает, но не всегда (лично у меня пробелма с драйвером переходника USB-COM, он просто падает, если данных много зараз идет).
Добавлено after 2 minutes 9 seconds: кстати, на счет питающего напряжения - не уверен, что модулю совсем все равно 4,4 или 5 вольт. при слишком большом превышении он вообще отключается сам автоматически. ни попробуйте at+cbc - должен показать напряжение питания в милливольтах.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
кстати, на счет питающего напряжения - не уверен, что модулю совсем все равно 4,4 или 5 вольт.
ему вообще не всё равно. И лучше никогда не подавать на него 5 В вместо питания. Если оно и заработает, как у Anatoliy1000, то проработает наверняка меньше, чем могло бы.
это не делает AT+COPS "загадочной командой". Ну, и она вообще прям во всех модемах есть. Как и AT+CMGL и ATD, которые Вы рекомендовали. Про падающий драйвер USB2COM - чот странно... а если его "самого на себя" натравить, замкнуть RX и TX перемычкой? Или МК на него какой-нибудь повесить, вместо модема? Это же не долго должно быть... тоже будет падать? А настройки ком-порта модема и переходника одинаковые?
Игрался с таким же модулем. Тупанул, и развел плату под аттини2313. А оперативки-то у нее с гулькин нос. Какие уж тут строки. Вышел из положения так. Слушаю уарт от модуля в прерывании и обрабатывают его сообщения в конечном автомате. Т.е. никаких строк "ОК", "RING", "+CMTI" или подобных у меня нет. Есть переменная статуса, где каждый бит означает статус. Когда отправляю модулю команду на которую ожидаю получить ОК, сбрасываю бит ОК, и жду некоторое время ответ. Если бит ОК выставился, то ответ ОК пришел. Если нет, то вываливаюсь по таймауту. Ну и так далее. Принимает СМСки, читает из них текущее время, в 6 и в 18 часов присылает мне температуру. Не понял только, а че время в заголовке смски то местное, то московское оказывается?! Т.е. когда тестировал на компе было просто время совпадающее с местным. А когда дошло до дело, иногда время полученное и разобранное контроллером из смски отличается ровно на 4 часа (т.е. на разницу во времени между московским и местным)
Вы завуалировано посоветовали выбросить сгоревший от 5 В по питанию модуль в помойку?
я абсолютно незавуалированно рекомендую питать модуль напряжением согласно документации, не мучаясь вопросом насколько ему вредно/полезно другое питание
кстати, о питании. везде и всюду пишут, что модулю нужно питание, способное обеспечить импульсный ток до 2А без просадки напряжения за допустимые пределы. так вот, в моих экспериментах питание по длинным проводам от лабораторного источника не позволяло модулю нормально работать. никакие low-ESR конденсаторы (вплоть до 220 мкФ) вблизи модуля не помогали. зато при подключении литиевого аккумулятоа короткими проводками (достаточно тонкими) к модулю решило проблему в корне. конденсатор, правда, оставил 100 мкФ. возможно, проблемы с "сетевыми" командами у топикстартера связаны с питанием...
AAX писал(а):
Ну, и она вообще прям во всех модемах есть.
да много чего есть в модемах. в SIM800L и встроенный "диск" есть, можно файлы писать/читать, да только в сети не встречалось ни одного проекта, который бы эту взможность использовал бы. да и сам не могу придумать применение этому... не вообще, а в реальном проекте.
AAX писал(а):
Про падающий драйвер USB2COM - чот странно...
есть многое на свете, друг Горацио...
AAX писал(а):
Это же не долго должно быть... тоже будет падать?
драйвер падает сам по себе независимо от того, что к переходнику подключено. как правило, падает в моменты, когда что-то через переходник данные посылает, а в этот момент на компе кто-то пытается подключиться к этому виртуальному порту. если обеспечить, что данные поступают уже после того, как терминальная программа подключилась к порту, то работает более-менее стабильно...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
везде и всюду пишут, что модулю нужно питание, способное обеспечить импульсный ток до 2А без просадки напряжения за допустимые пределы. так вот, в моих экспериментах питание по длинным проводам от лабораторного источника не позволяло модулю нормально работать. никакие low-ESR конденсаторы (вплоть до 220 мкФ) вблизи модуля не помогали. зато при подключении литиевого аккумулятоа короткими проводками (достаточно тонкими) к модулю решило проблему в корне. конденсатор, правда, оставил 100 мкФ. возможно, проблемы с "сетевыми" командами у топикстартера связаны с питанием...
а в ваших экспериментах модуль продолжал отвечать на команды, отправленные ему извне? Писал ERROR при обращении к "сетевым" командам? (список сетей формируется не в момент вызова AT+COPS, кстати) Или, может быть, отвечал "Not Available" на запрос IMEI? Насчёт Вашей боли с блоком питания и аккумулятором: не знаю, как в даташите на этот конкретный модуль, но к нормальным GSM модулям обычно прикладывают временную диаграмму потребления, где указано, как часто, и сколько именно миллисекунд модуль потребляет эти 2 А. И какое падение питающего напряжения он готов пережить при этом (Вы же понимаете, что "без просадки напряжения" - это утопия? Если я ничего не перепутал, и в даташите на этот модуль стоит абсолютным максимумом 4.4 В - попробуйте повесить по входу танталовый конденсатор 330 мкФ и запитать модуль напряжением 4.3 В. Вобщем, под верхнюю границу нужно питающее напряжение поднять, по возможности. Ну, и сильно длинные провода/хреновый блок питания могут, просто, не дать конденсатору достаточно зарядиться между пиками потребления.
я ничего пробовать не собираюсь, то результат, что я достиг, мен полностью устраивает. насколько я помню, модуль при плохом питании обмен обеспечивал, а к сети не подключался. т.к. меня мало волновали причины плохой работы, я не запоминал симптомы, поэтому подронее не расскажу.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Всем привет! Модуль SIM800L EVB,пытаюсь отправит смс. шлю команду + номером телеaона, он мне отвечает символом > в ответ шлю ему текст сообщения с символом 0x1A, он молчит....звонки,команды в норме. кодировка в текстовом режиме "GSM".Прошу помощи разобраться,а то уже который вечер потрачен безрезультативно
После 0x1A модем не сразу отвечает, а когда отправил сообщение. Эта процедура может занять значительно время. Даже минуту; точно смотрим в справке. И если не дождаться ответа и что-то отправлять, то можем может ещё на дольше подвиснуть. Но также причина может быть банальна - питание плохое.
Друзья, после нескольких лет, создания устройств на таких модулях, Экспериментально выяснилось 1- Общаться с модулем через преобразователь уровней. 2- питать от мощного источника 2-3 Ампер.
Сейчас этот форум просматривают: balan и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения