|
|
  |
SIM808 - кривее некуда!, нет слов.... :((((((((((( |
|
|
|
Mar 30 2018, 17:20
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Вожусь уже который день пытаясь заставить SIM808 хоть как-то передавать по Bluetooth через SPP. Но блуждания по граблям уже просто достали! Просто не понимаю - где они (SIMCOM) берут настолько безмозглых быдлокодеров???!! Хочу просто элементарно передать с устройства на комп по Bluetooth поток данных. Ну и принять небольшой поток в обратном направлении. Вроде казалось: бы чего может быть проще? Это же базовая вещь - должно работать как часы. Ага - как же! Первый сюрприз был в том, что оказывается режим автоматического приёма (AT+BTSPPGET=0 - дефолтный) работает как звёзды сложатся - данные могут прийти, а могут и потеряться (видимо если в этот момент идёт передача (командой AT+BTSPPSEND) - то не судьба; видимо быдлокодеров из SIMCOM никто не предупредил, что UART - это оказывается полно-дуплексный интерфейс). Ну ладно - обойдёмся и без автоматического режима. Переписываю всё на мануальный режим. Ну и в нём конечно же уже ожидаемо не работает уведомление о пришедших данных (+BTSPPMAN) видимо всё по той же причине (может прийти, а может не прийти). Ну в этом режиме хоть данные не теряются, а мирно лежат в буфере в SIM808. Переписываю драйвер на периодический поллинг (командой AT+BTSPPGET=3,...) приёмного буфера SIM808. Что поделать - приходится пользовать то го#%о, что имеется. Ладно - приём через пень-колоду заработал. Дальше дело пошло смешнее - передача. Если просто передать одиночный блок данных AT+BTSPPSEND, то он доходит до терминалки на компе. Но если попытаться передавать поток данных (за первой AT+BTSPPSEND сразу вторую AT+BTSPPSEND и третью и так далее) начинаются чудеса чудесатые! Сначала неприятным сюрпризом явилось то, что если вот так слать данные блок за блоком (даже небольшими блоками по 10 байт - без разницы), то на очередной команде после выдачи приглашения к вводу данных "> " и отправки мной этих данных модулю, он тупо зависает. И зависает намертво - пока с ноги RESET ему пендаля не дашь. Зависает - в смысле просто молчит и ничего не отвечает хоть минуту хоть 10. И ни на какие данные более не реагирует (думал - может у меня где-то косяк и какие-то символы не досылаются - переключал провода на переходник USB-UART и вручную с терминалки пытался добить ему данных - без толку). На прошивке, что была в модуле изначально (1418B02SIM808M32_BT_EAT) зависание случалось обычно уже буквально секунд через 2...5 после начала потока. Перешил на 1418B03SIM808M32_BT_EAT - стал виснуть уже позже - успевал проработать иногда даже полминуты, но один фиг! Что ещё интересно - ещё при этом на новой прошивке и скорость выросла - с максимум ~20КБ/сек до ~29КБ/сек (460800 бод). Аппаратный flow control включен - без толку за всё время тестов CTS ни разу не шевельнулся (быдлокодеры SIMCOM в курсе, что у них в даташите написано про flow control?). Да даже без FC в команде AT+BTSPPSEND уже есть свои возможности по управлению потоком (если вдруг вх.буфера не хватает): можно приглашение "> " выдать когда место в буфере освободится, можно "SEND OK" в конце отправки задержать также до момента освобождения буфера. Даже CTS то собственно и не нужен. Так нет же - лучше просто тупо повиснуть! Ладно - решил попробовать сразу после AT+BTSPPSEND слать какую-нить другую команду, запрос статуса например AT+BTSTATUS? - может она мозги прочистит модулю? (хотя надо их прочистить тем, кто писал прошивку для него). Так теперь иногда стал на эту команду (AT+BTSTATUS?) получать "SEND OK"  Приехали!!! Т.е. - отправил данные AT+BTSPPSEND, получил в конце "SEND OK", после этого сразу запросил статус AT+BTSTATUS? и опять в ответ - "SEND OK". А вот если сделать паузу между командами, то этого "SEND OK" уже нет. Ну это уже ни в какие ворота не лезет!!! Там похоже внутри не ПО, а какое-то недоразумение. И это ещё не говоря о том, что иногда модуль ни с того ни с сего вдруг вообще может прислать какой-нить левый символ. Ну т.е. - установлено соединение, приёма/передачи нет, 10 минут нет, 15 нет - и тут вдруг БАЦ!! - из UART вылазит например 0xF1 или ещё какой мусор. Не в команде запроса данных, а просто из UART, когда никакая команда не выполняется. Если после AT+BTSPPSEND ставить паузы в несколько мсек, то тогда он начинает более-менее устойчиво работать. Даже иногда несколько десятков МБ удавалось передать. Но всё равно в конце концов виснет. 40 минут непрерывной передачи - это был абсолютный рекорд, и ни разу потом его повторить не удалось. PS: Вобщем - извините за такое повествование. Но просто накипело - уже который день кувыркаюсь с этим говноподелием SIM808. Уже никаких слов кроме нецензурных о нём не осталось....  (((((((((((((( PSS: Условия мытарств: управление потоком включено AT+IFC=2,2 или выключено - без разницы; скорость по UART фиксирована - AT+IPR=460800 (пробовал и ниже - то же самое); функцинальность пробовал AT+CFUN=4 и AT+CFUN=1 и AT+CFUN=0 (в последнем работает наиболее устойчиво, GSM мне не нужно и симки не будет, только BT+GPS). Вначале тестил на 1418B02SIM808M32_BT_EAT, потом перешил на 1418B03SIM808M32_BT_EAT - стало лучше, но если без пауз после AT+BTSPPSEND работает пару минут - это уже счастье!
|
|
|
|
|
Mar 31 2018, 09:21
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
jcxz, и только не говорите, что Вас не предупреждали. Ждите рассказов как Вы не правильно модуль используете.
То, что ПО модуля в эпоху ARMов корявое и тормознутое, я с Вами абсолютно согласен. То, что производители не хотят понять, что UART асинхронный, то ему ещё отводят лимитированное время на обработку из "мего крутой" операционной системы, к которой Симком не имеет ни какого отношения. Только это их разработчики выбирали этот чипсет, с такой операционкой. Про DMA режим и кольцевой буфер команд, думаю говорить им бесполезно. И напоследок, рекомендованная скорость это 9600 бит/сек.
Но если вы внимательно почитаете это форум, то найдёте кучу предупреждений, что это прежде всего GSM модуль. И даже, если Вы не используете GSM, в его ПО заложен приоритет на GSM, а не BT модуль. Также следующее предупреждение будет, что модуль это не пулемёт и не ждите от него быстрой реакции. Посылать команды сразу, даже спецификация не позволяет. Задержка между приёмом ответом на предыдущую команду и передачей следующей команды должна быть не менее 50мсек. Но если бы это работало так, это можно было бы назвать счастьем. А так послал команду, а она может прийти тебе когда угодно.
Повторю, из собственного опыта, что передача и приём по BT работают в автоматическом режиме на модуле SIM800С, период посылки 500 мсек, длина пакета порядка 60 байт. Работает часами, модуль от этого не виснет. Работает как с присутствием СИМ карты, так и без неё.
|
|
|
|
|
Mar 31 2018, 12:08
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Rash @ Mar 31 2018, 12:21)  Ждите рассказов как Вы не правильно модуль используете. Я вообще-то использую его согласно документации. В каком именно месте я отступаю от документации - укажите? Цитата(Rash @ Mar 31 2018, 12:21)  То, что ПО модуля в эпоху ARMов корявое и тормознутое, я с Вами абсолютно согласен. То, что производители не хотят понять, что UART асинхронный, то ему ещё отводят лимитированное время на обработку из "мего крутой" операционной системы, к которой Симком не имеет ни какого отношения. Только это их разработчики выбирали этот чипсет, с такой операционкой. Про DMA режим и кольцевой буфер команд, думаю говорить им бесполезно. И напоследок, рекомендованная скорость это 9600 бит/сек. Что значит "тормознутое"? Вот у меня работой с этим го#@о-модулем занимается одна из задач ОС на CPU с тактовой 120МГц. При старте драйвера общая загрузка CPU вырастает менее чем на 1%. Один процент - максимум, Карл! А для разбора этого протокола на той стороне нужно примерно столько же ресурсов. Т.е. - если у них там стоит такой же CPU который всё время загружен на 99%, то да - наверное он не будет успевать. Но как нужно писать код чтобы загрузить их мощный ARM (мощнее моего ведь вроде) на 99% постоянно??? И что там такое нужно делать?? Какой бы ни был UART, хоть 115200, хоть 460800, с DMA или без - это всё доли процента загрузки такого CPU. Это всё ни о чём. Цитата(Rash @ Mar 31 2018, 12:21)  Но если вы внимательно почитаете это форум, то найдёте кучу предупреждений, что это прежде всего GSM модуль. Если он так работает, то это прежде всего - хлам. Цитата(Rash @ Mar 31 2018, 12:21)  И даже, если Вы не используете GSM, в его ПО заложен приоритет на GSM, а не BT модуль. Я писал, что использую режим +CFUN: 0, при этом как говорит даташит: AT command ”AT+CFUN” can be used to set the module to a minimum functionality mode without removing the power supply. In this mode, the RF part of the module will not work or the SIM card will not be accessible, or both RF part and SIM card will be closed, and the serial port is still accessible.А каком GSM Вы тогда говорите? Всё выключено и GSM и SIM-карта. Чем он там может заниматься??? Этот мощный процессор? Цитата(Rash @ Mar 31 2018, 12:21)  Также следующее предупреждение будет, что модуль это не пулемёт и не ждите от него быстрой реакции. Посылать команды сразу, даже спецификация не позволяет. Задержка между приёмом ответом на предыдущую команду и передачей следующей команды должна быть не менее 50мсек. Это где Вы такое вычитали? Приведите ссылку. Я вообще не понимаю такую фразу, что значит "модуль это не пулемёт"? Это что так теперь можно оправдать любой говнокод??? Цитата(Rash @ Mar 31 2018, 12:21)  Но если бы это работало так, это можно было бы назвать счастьем. А так послал команду, а она может прийти тебе когда угодно. Вы похоже не поняли того, что я написал... Дело не в том когда ко мне приходит ответ на команду. Естественно я жду прихода ответа на команду и ничего не передаю пока не получу этот ответ. Дело же не в этом, а в том что если сразу после ответа на предыдущую команду послать сразу следующую (или через небольшой интервал времени), то после этого модуль может вообще перестать что-либо выдавать. А может вдруг прислать ответ на предыдущую команду! Никак логически не связанный с этой командой. Это то почему такое может происходить? Это говорит, что у них там в прошивке куча багов при работе с входными или выходными буферами UART: что-то не туда пишется, или баги взаимодействия обработчиков прерываний, которые принимают поток символов UART и задачи обработки или ещё где-то... Цитата(Rash @ Mar 31 2018, 12:21)  Повторю, из собственного опыта, что передача и приём по BT работают в автоматическом режиме на модуле SIM800С, период посылки 500 мсек, длина пакета порядка 60 байт. Работает часами, модуль от этого не виснет. Работает как с присутствием СИМ карты, так и без неё. И что?? В данном конкретном режиме баги не проявляются. И о чём это говорит? Да ни о чём. Если ваше устройство на стол положить - работает, а если на тумбочку - не работает, это разве тумбочка виновата? PS: Только что наступил на очередной баг SIM808. С приёмом данных из BT. На стороне компа порт открыт виндовым Гипертерминалом, просто жму и держу нажатой клавишу 'Z' в окне терминала. Мой драйвер периодически опрашивает SIM808 на предмет наличия входящих BT-данных. Какое-то время всё работает нормально (несколько секунд), потом вдруг получаю следующее: CODE 14:46:40.01 SIMCOM.in: "+BTSPPMAN: 1" 14:46:40.01 SIMCOM.out: "AT+BTSPPGET=3,18" 14:46:40.03 SIMCOM.in: "+BTSPPGET: 1,1,Z" 14:46:40.03 SIMCOM.in: "OK" 14:46:40.04 SIMCOM.in: "+BTSPPMAN: 1" 14:46:40.06 SIMCOM.out: "AT+BTSPPGET=3,17" 14:46:40.06 SIMCOM.in: "+BTSPPGET: 1,1,Z" 14:46:40.06 SIMCOM.in: "OK" 14:46:40.07 SIMCOM.in: "+BTSPPMAN: 1" 14:46:40.07 SIMCOM.out: "AT+BTSPPGET=3,16" 14:46:40.09 SIMCOM.in: "+BTSPPGET: 1,1,Z" 14:46:40.09 SIMCOM.in: "OK" 14:46:40.14 SIMCOM.in: "+BTSPPMAN: 1" 14:46:40.14 SIMCOM.out: "AT+BTSPPGET=3,15" 14:46:40.15 SIMCOM.in: "+BTSPPGET: 1,1,Z" 14:46:40.15 SIMCOM.in: "+BTSPPMAN: 1" 14:46:40.15 SIMCOM.out: "AT+BTSPPGET=3,14" 14:46:40.15 SIMCOM.in: "+BTSPPMAN: 1" 14:46:40.15 SIMCOM.in: "+BTSPPGET: 1,0" 14:46:40.15 SIMCOM.in: "OK" 14:46:40.17 SIMCOM.out: "AT+BTSPPGET=3,14" 14:46:40.17 SIMCOM.in: ",Z" Т.е. - в очередной раз получаю от модуля уведомление что есть входящие символы "+BTSPPMAN: 1", даю команду чтения этих символов "AT+BTSPPGET=3,14", получаю ответ что ничего нет "+BTSPPGET: 1,0", а через некоторое время после очередного опроса состояния входного BT-потока "AT+BTSPPGET=3,14" вдруг получаю что-то невразумительное: ",Z". Это что такое??? Похоже и приём в SIM808 нормально не работает.  ((((((((((( Rash, а у Вас как приём работает? Или у Вас нет приёма?
|
|
|
|
|
Mar 31 2018, 13:21
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
jcxz, я не разработчик модуля и его ПО, поэтому не пойму ваших претензий ко мне, КАРЛ. Цитата Что значит "тормознутое"? Для моего восприятия, ПО модуля тормознутое. Это значит, что я не получаю ответ от модуля после своего запроса, в заранее известные промежутки времени, а время ожидания ответа может быть больше чем 50-100 мсек. Цитата И что?? В данном конкретном режиме баги не проявляются. И о чём это говорит? Да ни о чём. Если ваше устройство на стол положить - работает, а если на тумбочку - не работает, это разве тумбочка виновата? Я где то писал, про тумбочку? Мною описано то, что у меня работает для моей задачи. Хоть на тумбочке, хоть на столе. Цитата Посылать команды сразу, даже спецификация не позволяет. Задержка между приёмом ответом на предыдущую команду и передачей следующей команды должна быть не менее 50мсек. Сейчас не вспомню где это читал, но читал. Можете не придерживаться этого правила.
|
|
|
|
|
Mar 31 2018, 19:23
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Rash @ Mar 31 2018, 16:21)  jcxz, я не разработчик модуля и его ПО, поэтому не пойму ваших претензий ко мне, КАРЛ. А где я высказывал какие-то претензии к Вам?  Только к разработчикам сего юродивого девайса... Цитата(Rash @ Mar 31 2018, 16:21)  Для моего восприятия, ПО модуля тормознутое. Это значит, что я не получаю ответ от модуля после своего запроса, в заранее известные промежутки времени, а время ожидания ответа может быть больше чем 50-100 мсек. Во-первых: самая главная проблема не в том что "тормознутое" или нет, а что оно КРИВОЕ. Пускай оно как угодно долго отвечает на команды - логика работы от этого не нарушится. Я же писал, что оно в каких-то случаях виснет на совершенно ровном месте. Либо выдаёт ответы на команды, совершенно не соответствующие этим командам (мусор), либо вообще - какие-то группы символов похожие на обрывки ответов на предыдущие команды (кривая работа с буферами UART в прошивке?). То что тормозит - это тоже конечно очень плохо, на самое плохое что - глючит! И во-вторых: а почему Вы ожидаете, что время ответа должно быть 50-100 мсек? У меня ни для одной команды нет таймаута ожидания ответа менее 500мсек. Цитата(Rash @ Mar 31 2018, 16:21)  Сейчас не вспомню где это читал, но читал. Можете не придерживаться этого правила. Я нигде в доках не увидел упоминания, что после завершения выполнения какой-то команды (получения всех строк её ответа) нужно выдерживать паузу сколько-то времени перед следующей командой. Есть команды после которых необходимо поллить статус пока он не станет равным чему-то (это AT+BTPOWER=x). Но вот про какие-то паузы - нигде не видел. Да и вообще-то это противоречит логике работы подобных модулей (уж это у меня не первый модуль с AT-командным или подобным интерфейсом).
|
|
|
|
|
Mar 31 2018, 19:59
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
Глюков таких у себя не наблюдал, паузы в ответах огромные есть, на 2-х платах. Паузы также возникают и в приглашениях на передачу данных. 2 платы ведут себя одинаково. Сейчас проект на паузе, по нехватке времени. Ещё лежать 3 не запаянных модуля, как только руки дойдут проверю их на паузы на обычной терминалке подключив только питание и антенну.
Посмотрите питание, всё ли там в порядке, также, может нагрузить антенный выход GSM на 50 Ом резистор. Хоть его Вы не используете, но модуль может всё равно пытаться общаться с базовыми станциями. А т.к. антенный выход не нагружен, может потреблять больше , чем нужно. Встречал такое при работе с RF усилителями, когда без антенны они потребляли ток больше, чем с антенной, разница была в 2 раза.
|
|
|
|
|
Mar 31 2018, 23:46
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Rash @ Mar 31 2018, 22:59)  Посмотрите питание, всё ли там в порядке, также, может нагрузить антенный выход GSM на 50 Ом резистор. Хоть его Вы не используете, но модуль может всё равно пытаться общаться с базовыми станциями. А т.к. антенный выход не нагружен, может потреблять больше , чем нужно. Встречал такое при работе с RF усилителями, когда без антенны они потребляли ток больше, чем с антенной, разница была в 2 раза. Паузы меня не особо волнуют - по общей скорости потока меня всё устраивает. С помощью нескольких костылей мне удалось добиться стабильной односторонней работы (от SIM808 в комп) в течение полутора часов и думаю больше. И передаётся за это время ~122 МБ без сбоев (запись в лог-файл на терминалке и контроль CRC32 - всё ок). Но дело в том, что это если работать только на передачу (SIM808->комп), а мне нужен дуплексный обмен. С произвольным моментами передач в обе стороны, моменты передач в одну сторону никак не зависят от моментов передач в другую (Хотел через этот BT-канал прокинуть доступ через ANSI-терминал к меню настроек устройства). Но для такого обмена мне нужно всё время с периодом хотя-бы 50мс поллить модуль командой BTSPPGET на предмет наличия новых данных (от терминалки). Вот тут и начинаются чудеса. И костылями их уже похоже никак не победить - модуль в произвольные моменты времени просто мусор из обрывков обмена выкидывает на TXD.  ((((( А иногда бывало что несколько КБ мусора выплюнул (моя прога в самом начале остановилась на брекпоинте из-за недопустимого сообщения от SIM808 (и естественно никак не могла ничего передавать после этого), и после этого SIM808 выплюнул ещё несколько КБ предыдущего обмена, покорёженного местами). Видимо в вашем режиме работы (запрос-ответ, чистый полудуплекс, да ещё редкий) он ещё как-то работает без глюков. И ни на что большее он не годится. Со всеми своими МГц. Антенны - тут не при чём. Я же повторяю ещё раз - дело не в каких-то тормозах, а в том что модуль в каких-то случаях начинает выдавать мусор. Т.е. - где-то ошибки в работе его встроенного ПО. Что-то с работой с буферами обмена UART видимо. Либо с обработкой команд или связанными с ней буферами. Или с указателями. Питание тоже вряд-ли - я работаю с готовой демо-платой. Хотя и китайской. Этой: https://arduino-kit.ru/catalog/id/plata-ras...-s-gps-antennoyЦитата(Rash @ Mar 31 2018, 22:59)  Глюков таких у себя не наблюдал, А как вы принимаете? Данные с удалённой стороны. AT+BTSPPGET=0 или AT+BTSPPGET=1?
|
|
|
|
|
Apr 1 2018, 08:27
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Самоделкин @ Apr 1 2018, 07:57)  Между прочим такая плата может быть причиной многих "бед". Китайцы очень склонны к экономии , так что питание все таки проверить стоит осциллографом (скорее всего схему питания на плате "упростили" для снижения цены и УАРТ драйвер думаю тоже ) . Да, надо будет проверить. И попробую поменять источник питания на другой. Только что обнаружил, что случайные символы (0xF1 или 0xF0) которые периодически внезапно получаю от SIM808 (в то время когда он просто ожидает BTSTATUS="Idle", активного соединения нет) - это похоже модуль иногда самопроизвольно перезагружается. А эти символы - просто короткие импульсы лог."0" на TxD модуля в моменты перезагрузки. Но характер багов по приёму очень похож на программные проблемы с работой с буферами или указателями в модуле. "UART-драйвер" - что вы имеете в виду? На этой плате ноги TxD/RxD/CTS/RTS модуля вроде как напрямую идут на разъём, без каких-либо интерфейсных чипов. По-крайней мере кроме самого SIM808, чипа линейного стабилизатора и SMF05C (TVS-сборка; на аудио разъёмах вроде), других больших чипов на плате не наблюдается. Есть 3 шт. каких-то элементов в SOT23 (по 3 ноги), но это или транзисторы или максимум может быть один из них - супервизор питания. Цитата(Самоделкин @ Apr 1 2018, 07:57)  А еще лучше раз такое дело купить фирменную Симкомовскую плату отладки ( как не грустно для кошелка) . Хотя сама тема очень любопытна . А у Вас одна такая плата ? Да, плата одна. Думаем купить SIM868 - возможно там другая прошивка и может менее кривая. Хотя хотелось бы SIM868E, но их нигде не найти.
|
|
|
|
|
Apr 1 2018, 10:59
|

Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 25-09-05
Из: Где то в Европе!
Пользователь №: 8 919

|
Цитата(jcxz @ Apr 1 2018, 11:27)  "UART-драйвер" - что вы имеете в виду? На этой плате ноги TxD/RxD/CTS/RTS модуля вроде как напрямую идут на разъём, без каких-либо интерфейсных чипов. По-крайней мере кроме самого SIM808, чипа линейного стабилизатора и SMF05C (TVS-сборка; на аудио разъёмах вроде), других больших чипов на плате не наблюдается. Есть 3 шт. каких-то элементов в SOT23 (по 3 ноги), но это или транзисторы или максимум может быть один из них - супервизор питания.
Да, плата одна. Думаем купить SIM868 - возможно там другая прошивка и может менее кривая. Хотя хотелось бы SIM868E, но их нигде не найти. Так в том то и вопрос - а как УАРТ SIM808 к компу подключаете ? В даташитах кажись уровни не более 3.1 В ? А Вы проверяли с какими уровнями Ваши TxD/RxD/CTS/RTS . И судя по фото TxD/RxD/ имеют драйвера на транзисторах а /CTS/RTS напрямую . Хотя тоже все это проверять желательно . В фирменной плате стоит драйвер для СОМ порта .
|
|
|
|
|
Apr 1 2018, 11:34
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Harbinger @ Apr 1 2018, 13:54)  Так, может, ну его в баню тот SIM808, пока не поздно? Есть же МК соответствующие, со встроенными RF трансиверами. И модули на их основе. Хотя там из-за закрытости библиотек блютуса свои приколы, почти что иной мир...  Вот именно - ещё багов вагон. Работал когда-то с CC2530 с ZigBee-стеком - то ещё глюкало, сколько костылей пришлось наваять пока более-менее заработало. Хочется готовый модуль с готовым ПО. Время проекта совсем не предусматривает изучение ещё какого-то другого чипа со своей архитектурой и написание прошивки для него. SIM808 мне первоначально понравился ещё и по той причине, что его BT-API очень похоже на API ESP8266, для которого я давно написал стабильно работающий драйвер (работающий в режиме потока по много часов и потока более быстрого чем здесь). Собственно я его и взял и переделал под SIM808. Цитата(Самоделкин @ Apr 1 2018, 13:59)  Так в том то и вопрос - а как УАРТ SIM808 к компу подключаете ? В даташитах кажись уровни не более 3.1 В ? А Вы проверяли с какими уровнями Ваши TxD/RxD/CTS/RTS . Я не к компу подключаю, а к своему МК. На комп у меня идёт выход TxD модуля (т.е. - TxD SIM808 идёт и на RxD МК и на комп; это для контроля обмена, чтобы убедиться что проблема не у меня в прошивке). Идёт через USB-UART 3.3V. МК тоже - 3.3V. Да, сейчас глянул в даташит: действительно там рекомендуется 3.3V МК с модулем соединять через последовательные резисторы. Надо будет добавить. Спасибо за рекомендацию! Цитата(Самоделкин @ Apr 1 2018, 13:59)  И судя по фото TxD/RxD/ имеют драйвера на транзисторах а /CTS/RTS напрямую . Хотя тоже все это проверять желательно . Надо будет прозвонить. Но всё равно, я же писал, что характер сбоев он говорит не о проблемах согласования уровней (иначе был бы мусор никак не связанный с последовательностью обмена). Если после отправки порции данных AT+BTSPPSEND и получения "SEND OK", сразу послать следующую AT+BTSPPSEND без паузы, то через несколько десятков...сотен таких повторов модуль перестаёт что-либо отвечать. И перестаёт отвечать он всегда в одном и том же месте - после выдачи приглашения на ввод очередной порции данных "> ". А в предыдущей прошивке зависание происходило примерно в 10 раз раньше. А после добавления паузы в 12 мсек между "SEND OK" и последующей AT+BTSPPSEND (на новой прошивке) поток данных работает часами (не было ни одного зависания пока хотя уже несколько раз запускал тест на 40мин...1.5часа и 64МБ...122МБ данных). Также если не делать данную паузу, то на следующую команду AT+BTSPPSEND или любую другую (например AT+BTSPPGET или даже AT+CGNSINF) можно с большой вероятностью получить ответ "SEND OK" сразу же, до выдачи приглашения ввода данных "> ". То же самое и с командой AT+BTSPPGET (лог я приводил выше) - в ответ приходят явные обрывки ответов из прошлых транзакций "запрос-ответ". Если бы проблема была с согласованием уровней, то приходил бы мусор никак не связанный с текущей последовательностью команд-ответов.
|
|
|
|
|
Apr 1 2018, 15:36
|

Местный
  
Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264

|
На полке лежит отладка с SIM800C, китайская с Aliexpress. Как раз на нее были планы с Bluetooch поиграться, GSM был вторичен. Но jcxz прям подлил масла в огонь ненависти к продукции SIMCOM  Давно наслышан о лютых багах в работе модулей этой компании... Причем действительно не совсем понятно, откуда ТАКОЕ количество ошибок и недокументированных ситуаций. Куда у них смотрит отдел тестирования?
|
|
|
|
|
Apr 1 2018, 16:14
|

Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 25-09-05
Из: Где то в Европе!
Пользователь №: 8 919

|
Цитата(Arlleex @ Apr 1 2018, 18:36)  На полке лежит отладка с SIM800C, китайская с Aliexpress. Как раз на нее были планы с Bluetooch поиграться, GSM был вторичен. Но jcxz прям подлил масла в огонь ненависти к продукции SIMCOM  Давно наслышан о лютых багах в работе модулей этой компании... Причем действительно не совсем понятно, откуда ТАКОЕ количество ошибок и недокументированных ситуаций. Куда у них смотрит отдел тестирования? То что купили на Али - официалы "открестянся" как от заразы прокаженной ! И модули тоже не сильно рекомендуют там брать .(хотя цена приятная ) Суть в том что сделаны они для другой страны и там прошивка с другими "тараканами" . А плата сделана по очень сильно упрощенному пониманию даташита . А вот напряжение 3.3В на входе в модуль не столько на уровни влияет а просто "жарит" мозги процессору . Грешен и я таким . 40 В на вход 8051 подвал. Проц грелся как паяльник но работал сбоил правда. Так что для начала внимательно все параметры по даташиту а потом уже "хаять" модуль . Если не ошибаюсь в модуле 3 процессора . Каждый проц своим "делом" занят и GSM и них в приоритете а не ВТ . Цитата(Ga_ry @ Apr 1 2018, 19:02)  Тоже хотел взять на тесты sim800 модуль с Али. Что ожидать от него, такие же грабли? Там совсем может БТ отсутствовать ! Лотерея ! Я там тоже покупал . И на Ебей . Все были без БТ ! Если точнее там прошивка без БТ . Так что все что купили на Али нужно перепрошивать .
|
|
|
|
|
Apr 1 2018, 19:02
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Arlleex @ Apr 1 2018, 18:36)  На полке лежит отладка с SIM800C, китайская с Aliexpress. Как раз на нее были планы с Bluetooch поиграться, GSM был вторичен. Я ничего не могу сказать по поводу других SIM8... . У них для каждого - своя прошивка. Может это только SIM808 так не повезло? Настораживает ещё тот факт, что на официальном сайте компании http://www.simcomm2m.com/russian/module/ среди модулей SIM808 не значится (хотя если полазить по сайту, то можно найти файлы, относящиеся к SIM808). Вот почему они не светят вовсю SIM808? У меня теперь закрадывается подозрение, что он ещё не доделан (или недотестирован), сырой вобщем. Хотя блин - уже несколько лет его производят и до сих пор не довели до ума??? Только на http://simcom.ee/documents/?dir=SIM808 светят такой модуль. Оттуда и брал последнюю прошивку для него (с той что была изначально, дела были ещё хуже, как уже писал). Эта прошивка (1418B03SIM808M32_BT_EAT.rar) уже довольно старая - файлы внутри имеют дату 02.11.2016. В то время как на том же сайте для SIM800C есть прошивка датируемая февралём 2018. Так что возможно, что для SIM800C баги могли уже исправить, но почему-то не пересоберут никак прошивку для SIM808.  (((((
|
|
|
|
|
Apr 1 2018, 20:03
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
3.3В подавать на модуль запрещено, не более 3.0В, иначе может выпалить порт или модуль, а может только сбоить, уже обсуждалось. Китайские платы с модулями это шлак, люди тут уже проходили это не раз. Если хотите дальше пробовать модули, порекомендовал бы, купить модуль у офицалов, развести плату, заказать её в Китае, 10 плат за 2$ изготовление и 12$ доставка (доставка обычно 2-3 недели), и тогда уже драть шкуру у офицалов, если Вы всё выполнили, а модуль не работает. По китайским модулям, офицалы, пошлют погулять и даже разбираться не будут. Оно и понятно, чего им разбираться за чужое, да и как сказали, прошивка может быть какая угодно. Если не ошибаюсь, то SIM808 вообще не рекомендован в новые разработки, а рекомендован SIM868, где нужен GPS в модуле. В моём понимании SIM8xx неженка ещё та, что чихнуть с ним рядом боязно.
|
|
|
|
|
Apr 1 2018, 20:29
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Ну, для начала выскажу соболезнования, из-за потраченного времени и приобретенного необязательного опыта Сомнения высказывал, да, но что уж тут поделаешь... Интерфейс у модулей СИМ8хх допускает подачу не более 3.0В на вход. Для МК с питанием 3.3В нужно согласование. Для пробы можно поставить делители на линии МК -> Модем. Из-за согласования могут быть глюки. Из-за плохого питания тоже. Если посмотреть SIMCom_Roadmap_2018, то видно что развитие идет SIM808 -> SIM868 -> SIM868E Российские и Украинские дистрибьюторы вроде сначала обозначили SIM808, но потом его сняли и не продавали. Продают только SIM868. Видимо не спроста. Скорее всего SIM808 больше не развивают. Ориентироваться лучше на то, что продают у нас, т.к. дистрибьюторы временами хвалятся своими объемами, и тем, что благодаря объемам могут влиять на китайцев в области доработок (исправления багов и внесения новых фич). Плюс в Москве вроде есть центр разработки Симкома, что тоже сильно ускоряет устранение ошибок. В результате на популярные модули исправления и дополнения последние годы выходят довольно регулярно. А по поводу кривого до ужаса АТ-стека Симкома, на форуме говорилось, что там лицензионная ось с GSM стеком, и китайский АТ-стек крутится в ней как задача c ограниченными ресурсами, поэтому никакого быстродействия от него ждать не приходится
|
|
|
|
|
Apr 3 2018, 12:06
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
У меня вообще на sim800c не получается отправить данные... После AT+BTSPPSEND модуль тупо молчит. Уже даже лог. анализатор подключил и проверил что у меня все в порядке. К sim800c подключаюсь терминалом с телефона. После подключения: AT+CGMR Revision:1418B06SIM800C24_BT AT+BTSPPCFG? +BTSPPCFG: S,1,1 Т.е. модуль Server и в APP mode Цитата In APP mode, module of server can execute AT+BTSPPSEND and AT+BTSPPGET commands. Если что-то отправить с терминала, то до модуля все доходит: +BTSPPDATA: 1,11,blablabla После чего я хочу ответить: AT+BTSPPSEND.... и тишина Если модуль перевести в режим AT mode: Для этого 1. AT+BTSPPCFD=KEYFORAT 2. Первыми данными после подключения отправляем "KEYFORAT" После этого AT+BTSPPCFG? +BTSPPCFG: S,1,0 Теперь если с телефона отправлять АТ команды, то модуль их выполняет и присылает ответы. На AT+BTSPPSEND отвечает +CME ERROR: 1056 что соответствует документации: Цитата In AT mode, module of server can’t execute AT+BTSPPSEND and AT+BTSPPGET commands. Подскажите как его заставить работать?
|
|
|
|
|
Apr 3 2018, 12:24
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(alex2103 @ Apr 3 2018, 15:06)  После чего я хочу ответить: AT+BTSPPSEND.... и тишина После этого модуль должен прислать "> ". Без завершающего "\r\n" !!! Подозреваю, что Ваша терминалка просто ждёт этого самого "\r\n" и не выплёвывает "> " на экран. Цитата(alex2103 @ Apr 3 2018, 15:06)  Если что-то отправить с терминала, то до модуля все доходит: +BTSPPDATA: 1,11,blablabla Да - и если нужен полный дуплекс, то "automatic mode" в BTSPPGET использовать нельзя - теряются данные. Хотя возможно, что это баг только SIM808.
|
|
|
|
|
Apr 3 2018, 13:01
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
Цитата(CADiLO @ Apr 3 2018, 14:42)  SIM800C - версия прошивки?
И крайний апнотес по BT в соседней теме - "SIM800C - Пауза перед вводом следующей AT-команды" Естественно что исключить BLE команды - в SIM800C его нет. Revision:1418B06SIM800C24_BT берем у Вас. По поводу апнотесов: все что там написано про SIMCOMSPPFORAPP - какая-то провокация. Во-первых строку SIMCOMSPPFORAPP я не нашел в найденных на просторах прошивках SIM800с. Во-вторых эта волшебная фраза должна соответствовать тому что мы послали в AT+BTSPPCFD= В-третьих эта фраза наоборот переключает модуль в AT mode.
|
|
|
|
|
Apr 3 2018, 13:37
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
Константы SIMCOMSPPFORAPP нету в прошивке sim800c  С чем ему сравнивать? В B02 (кажется) только ее нашел - там еще видимо не было AT+BTSPPCFD В B06 по дефолту модуль и так в APP моде сразу после подключения. И вот этой SIMCOMSPPFORAPP (или что там прописано ранее в AT+BTSPPCFD) переводится в AT mode. С этим проблем нет кроме того что этот механизм неправильно (наоборот) описан в апнотесе. Вообще с приемом проблем нет (Андроид -> sim800c). Есть проблема в обратном направлении. AT+BTSPPSEND пробовал в разных вариациях. И с мультиконектом и без. Приглашение на ввод строки никогда не появляется. Вот пример: В первом случае AT+BTSPPCFD=SIMCOMSPPFORAPP , во втором AT+BTSPPCFD=bla По дефолту AT+BTSPPCFD="" поэтому SIMCOMSPPFORAPP вообще не срабатывает.
|
|
|
|
|
Apr 3 2018, 14:50
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(alex2103 @ Apr 3 2018, 16:37)  Константы SIMCOMSPPFORAPP нету в прошивке sim800c  С чем ему сравнивать? Как я понимаю из документации - это не константа. Это сигнальная лексема переключения, которую Вы сами должны задать для AT+BTSPPCFD. Естественно, что её нет в прошивке, так как SIM800C по дефолту в APP. Значит дефолтное значение её ему не нужно. Цитата(alex2103 @ Apr 3 2018, 16:37)  В B06 по дефолту модуль и так в APP моде сразу после подключения. И вот этой SIMCOMSPPFORAPP (или что там прописано ранее в AT+BTSPPCFD) переводится в AT mode. Так если Ваш модуль по дефолту уже в APP, то зачем Вы заморачиваетесь этой AT+BTSPPCFD? Цитата(alex2103 @ Apr 3 2018, 16:37)  Вообще с приемом проблем нет (Андроид -> sim800c). Есть проблема в обратном направлении. Проблема с потерей входящих данных на SIM808 у меня наблюдается при одновременном приёме и передаче. А у Вас нет передачи. Цитата(alex2103 @ Apr 3 2018, 16:37)  AT+BTSPPSEND пробовал в разных вариациях. И с мультиконектом и без. Приглашение на ввод строки никогда не появляется. Чтобы не гадать на кофейной гуще, следует сразу же приводить лог обмена с модулем. Желательно и в текстовой и в бинарной форме. Тут никто, я думаю, не обладает способностями увидеть экран вашей терминалки.
|
|
|
|
|
Apr 4 2018, 21:08
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Rash @ Apr 1 2018, 23:03)  3.3В подавать на модуль запрещено, не более 3.0В, иначе может выпалить порт или модуль, а может только сбоить, уже обсуждалось. Я уже писал не раз здесь, что использую EVB, а не модуль. Эту: https://arduino-kit.ru/catalog/id/plata-ras...-s-gps-antennoyЛинейный стабилизатор на ней имеется. Мощный. Ему на вход подаю 9...12V. Тоже от мощного источника. Цитата(Baser @ Apr 1 2018, 23:29)  Интерфейс у модулей СИМ8хх допускает подачу не более 3.0В на вход. Для МК с питанием 3.3В нужно согласование. Для пробы можно поставить делители на линии МК -> Модем. Из-за согласования могут быть глюки. Из-за плохого питания тоже. Я использую не модуль, а готовую EVB. С установленным на ней мощным линейным стабилизатором. На него подаю 12V со стабилизированного лабораторного источника выдающего несколько ампер. Так что каких-то проблем питания быть просто не должно. Насчёт согласования линий IO: схему на плату я найти не смог, но судя по той документации, что имею, на плате для TxD, RxD есть цепи согласования для любого напряжения IO до 5V включительно (на паре транзисторов). Про что в доке сказано: Код TTL serial interface: a TTL level interface. Notice that: The pin of VMCU is used to control the high level of TTL UART, so as to realize to match between 1.25V/3.3V /5V systems. For example, if you want to use the 51 MCU to control this board, the pin of VMCU should be connected the DC5V. And if use the STM32 MCU, the pin of VMCU should be connected the DC3.3V. The pins of RXD is the RXD of SIM808 and the pins of TXD is the TXD of SIM808. The pin of V_IN can connect the Power, the function of this pin has the same function of DC044. Т.е. - есть пин разъёма VMCU, на который я подаю 3.3V с платы МК. PS: Вобщем - заказали EVB на SIM868. Надеюсь с ней все проблемы решатся.
|
|
|
|
|
Apr 5 2018, 06:26
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
Цитата(jcxz @ Apr 3 2018, 17:50)  Чтобы не гадать на кофейной гуще, следует сразу же приводить лог обмена с модулем. Желательно и в текстовой и в бинарной форме. Тут никто, я думаю, не обладает способностями увидеть экран вашей терминалки. Что-то я сходу не могу придумать как снять лог обмена т.к. там используется мультиплексор. Писать какой-то велосипед чтоб это все распарсить и красиво показать пока что нет времени... Может кто-то сталкивался и знает решение как снять лог обмена по CMUX подручными средствами? С уверенностью могу сказать что после AT+BTSPPSEND на uart полная тишина. Где-то тут ранее проскакивало что на sim800c нет одновременно BT и CMUX. Я обрадовался что все-таки есть. Из BT активно использую AT+BTSCAN - все работает хорошо, но иногда тоже есть проблема - UART начинает молчать. Лечится перезагрузкой модуля. Частота зависаний зависит от частоты вызова AT+BTSCAN. Если не делать паузы после окончания сканирования (+BTSCAN: 1), то зависает часто. В итоге пришел к паузе 2,5с. В sim800 BT реализован где-то криво именно в части общения c UART.
|
|
|
|
|
Apr 5 2018, 06:42
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
>>>Где-то тут ранее проскакивало что на sim800c нет одновременно BT и CMUX. Да, это было в некоторых прошивках с EAT. Есть такая чудная команда - AT+CLIST Она показывает что реализовано в модуле Если дать AT+CLIST=<группа>, то покажет все доступные команды в этой группе.
Эскизы прикрепленных изображений
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Apr 5 2018, 06:55
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
Код AT+CLIST=BT
+CLIST: 001: BTPOWER 002: BTHOST 003: BTSTATUS 004: BTRSSI 005: BTVIS 006: BTCOD 007: BTSCAN 008: BTPAIR 009: BTUNPAIR 010: BTGETPROF 011: BTCONNECT 012: BTDISCONN 013: BTACPT 014: BTPAIRCFG 015: BTOPPACPT 016: BTOPPPUSH 017: BTSPPCFD 018: BTSPPSEND 019: BTSPPGET 020: BTSPPCFG 021: BTSPPURC 022: BTATA 023: BTATD 024: BTVTS 025: BTATDL 026: BTATH 027: BTVGS 028: BTVGM 029: BTCLCCS 030: BTCIND 031: BTPBSYNC 032: BTPBF 033: BTRING 034: BTACI 035: BTHFGOP
OK Вырубил CMUX... at+btsppsend работает.
|
|
|
|
|
Apr 5 2018, 08:05
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(alex2103 @ Apr 5 2018, 09:26)  Что-то я сходу не могу придумать как снять лог обмена т.к. там используется мультиплексор. Писать какой-то велосипед чтоб это все распарсить и красиво показать пока что нет времени... Может кто-то сталкивался и знает решение как снять лог обмена по CMUX подручными средствами? Вы писали ранее, что пробовали и без CMUX Цитата(alex2103 @ Apr 3 2018, 16:37)  AT+BTSPPSEND пробовал в разных вариациях. И с мультиконектом и без. Приглашение на ввод строки никогда не появляется. Так выложите без. Что такого сложного в снятии лога? Печатаете (printf) весь обмен в отладочный UART на комп (с метками времени и метками приём/передача) и сохраняете его в файл любой терминалкой. Но более достоверно и независимо (чтобы исключить ошибки в своём коде): берёте два COM-порта и на их входы RxD заводите TxD и RxD с UART-а между МК и модулем. Данные из этих двух COM-портов также сохраняете в файл терминалке на компе. С метками времени обязательно! Цитата(CADiLO @ Apr 5 2018, 09:16)  Документация на ваш шилд от производителя, со схемой, лежит тут: Спасибо! Я полный этот архив не находил, только его части. Хотя уже наверное и не нужно - проблема не в схеме, а в SIM808. Цитата(CADiLO @ Apr 5 2018, 09:16)  Наконец то я увидел китайский шилд где сделали правильно согласование уровней и вообще нормальная схемотехника. Ну не особо то и правильно - TxD, RxD как-то согласованы, но вот остальные сигналы - CTS, RTS, ... - нет. Сейчас заказали вот этот: https://www.mikroe.com/gsmgnss-2-click#heading1Ссылка на принципиальную схему есть внизу страницы. Согласование уровней сигналов тут сделано лучше, даже лампочки подключены аккуратно - через транзисторы, а не напрямую к пинам модуля как на плате с SIM808. Но вот с питанием какая-то лажа.  ((( Использованный здесь MCP1826 судя по даташиту может отдать только 1А, что как бы маловато для SIM868.
|
|
|
|
|
Apr 5 2018, 09:12
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(alex2103 @ Apr 5 2018, 11:25)  Про мультиконектом я подразумевал мультиконект bluetooth. Не путайте его с CMUX Это Вы тут всех путаете. На SIM800C нет мультиконнекта BT. Если верить доке: MTK6261 platforms: SIM808, SIM800C, SIM800A, SIM800F. ... For the MTK6261 and MTK2503 platform module, only supports the simultaneous connection of 1 device.Как Вы могли пробовать то, чего нет?  Цитата(CADiLO @ Apr 5 2018, 11:28)  VRTC в воздухе - а 4.7 мкф там должен стоять Учтём. Спасибо. Цитата(CADiLO @ Apr 5 2018, 11:28)  ну и совсем прикол - развели уже SD карточку, так поставьте и второй SIM держатель. Это у них в этот разъём одновременно и микро-SIM-ка и микро-SD ставятся что-ль?
|
|
|
|
|
Apr 5 2018, 09:55
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
Цитата(jcxz @ Apr 5 2018, 12:12)  Это Вы тут всех путаете. На SIM800C нет мультиконнекта BT. Если верить доке: MTK6261 platforms: SIM808, SIM800C, SIM800A, SIM800F. ... For the MTK6261 and MTK2503 platform module, only supports the simultaneous connection of 1 device.Как Вы могли пробовать то, чего нет?  Да вот так: Код AT+BTSPPCFG="MC",1
OK AT+BTSPPCFG="MC",2
+BTSPPCFG: MC,1
OK
+BTSPPDATA: 1,8,blabla Реально правда второе соединение не проверял т.к. не нужно мне это.
|
|
|
|
|
Apr 5 2018, 11:34
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
Продолжаю раскопки  Проблема оказалась не в CMUX...к сожалению она глубже закопана  AT+BTSPPSEND работает только до того момента как я не начинаю PPP сессию. Ниже ситуация когда я после CONNECT OK специально не запустил PPP и мы видим входящие LCP пакеты. После какого-то таймаута (я же молчу) происходит NO CARRIER и AT+BTSPPSEND чудно заработала. Чтобы проверить реакцию на АТ команды несколько раз отправлял at и получал OK В лог валится все что приходит от модуля. Мои же команды отправляются в 3-й канал CMUX. PPP поднимается по 1-му каналу CMUX. Код ATD*99***1#
CONNECT OK
+BTSPPDATA: 1,3,fgh [i]- это я отправил с телефона и оно дошло т.е. SPP соединение открыто и работает[/i] AT+BTSPPSEND [i]- в ответ тишина[/i] ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ [i]<- LCP[/i] ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ AT+BTSPPSEND [i]- в ответ тишина[/i] ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ AT+BTSPPSEND [i]- в ответ тишина[/i] ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ at [i]- проверяю реакцию на AT[/i]
OK at
OK[i]- проверяю реакцию на AT[/i] ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ AT+BTSPPSEND [i]- в ответ тишина[/i] ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~ ~{FF}}#А!}!}!} }2}"}&} }*} } }#}$А#}'}"}(}"Uѓ~
AT+BTSPPSEND [i]- заработало!!![/i]
NO CARRIER
> ertwetet
SEND OK Еще поэкспериментировал. Если дать PPP соединению установится, то 100% не работает BTSPPSEND. Если соединение разорвать, то начинает работать. На прием BTSPPDATA не влияет. С активным PPP похоже все функции BT работают кроме BTSPPSEND. BTSCAN работает, гарнитуру подключает, SPP если перевести в APP mode тоже отвечает на AT команды.
|
|
|
|
|
Apr 5 2018, 21:04
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
Цитата(jcxz @ Apr 5 2018, 20:38)  Ну так я же приводил выше выдержку из даташита про "only supports the simultaneous connection of 1 device". Видимо это относится не только к BT-соединениям. Вы бы лучше документацию повнимательнее изучили....  Не забивайте себе голову мультиконектом к SPP. Ограничение mtk6261 описано в SIM800 Series_Bluetooth_Application Note_V1.07 и явно это только про Bluetooth. Мне мультиконект не нужен совсем. Даже вреден будет. Завтра попробую еще тоже самое с SIM868. Про него там тоже самое написано , но он на другой платформе  SIM868 ведет себя так же Где-то есть досадная ошибка в софте simcom касательно работы с UART. Сам стек BT совместно с открытым PPP 100% работает т.к. в режиме +BTSPPCFG: S,1,0 он и принимает и передает ответы по SPP. A вот в режиме +BTSPPCFG: S,1,1 не работает только AT+btsppsend, прием работает без замечаний (по крайней мере на малых объемах данных).
|
|
|
|
|
Apr 6 2018, 07:15
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
Подкину еще одну доку - может кому пригодится. Не самая свежая, но кое-что отсутствующее в апнотес там имеется. Вычитал интересный момент. ///К популярным профилям, наиболее широко востребованным в самых различных приложениях и поддерживаемым (или поддержка которых может быть реализована) модулями 800-й серии, относятся: .... DUN (Dial-up Networking Profile) стандартный профиль для предоставления доступа в Интернет. Базируется на SPP, включает в себя команды PPP и AT, определенные в спецификации ETSI 07.07 Вот тут скорее всего и кроется причина - если задействовали PPP, то капут.....
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Apr 6 2018, 07:50
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(CADiLO @ Apr 6 2018, 10:15)  Не самая свежая, но кое-что отсутствующее в апнотес там имеется. ... ///К популярным профилям, наиболее широко востребованным в самых различных приложениях и поддерживаемым (или поддержка которых может быть реализована) модулями 800-й серии, относятся: Было бы классно, если бы профиль OPP мог работать не только с внутренней памятью SIM800, а ретранслировал бы запросы по чтению/записи файлов в UART (AT-командами). Т.е. - при передаче файла командой AT+BTOPPPUSH, модуль читал бы файл не из своей внутренней памяти, а запрашивал бы файл по частям по UART у пользовательского микроконтроллера. То же самое при приёма файла - принимаемый по команде AT+BTOPPACPT файл не писал бы во внутреннюю память SIM800, а отправлял пользовательскому МК через AT-командный интерфейс. Почему интересно в SIMCOM-е не додумались сделать такую полезную вещь? Тогда бы и профиль OPP был бы тоже очень полезным, не только SPP. А сейчас придётся ещё поверх SPP прокладывать свой протокол передачи файлов.
|
|
|
|
|
Apr 6 2018, 08:10
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(alex2103 @ Apr 6 2018, 11:00)  Да! Я тоже за! Было бы весьма полезным. Может ув. CADiLO донесёт наши чаяния до руководства SIMCOM?  Использование для OPP внутренней ФС модуля мне кажется бесполезным малополезным для случая работы SIM800 в связке с внешним МК. А ведь такая работа - это наиболее распространённый путь использования SIM800. (без EAT).
|
|
|
|
|
Apr 6 2018, 12:22
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(CADiLO @ Apr 5 2018, 12:24)  >>>Это у них в этот разъём одновременно и микро-SIM-ка и микро-SD ставятся что-ль? Нет, раздельно - выводы под вторую SIM на брюхе модуля просто оставили в воздухе. Можно было бы просто поставить совмещенный держатель и был бы двухкарточник. Только что получил этот модуль: так оно и есть - там 2-этажный магазин SIM+microSD, первый этаж - симка, 2-й (поверх неё) - micro-SD. Так что один недочёт из списка можно вычеркнуть А вот то, что они GND, RXD, TXD, CTS вывели на одну линейку пинов (разъём), а RTS - отдельно на другую (хотя в первой линейке есть NC-пины) это конечно совсем неудобно.
|
|
|
|
|
Apr 6 2018, 12:43
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(CADiLO @ Apr 6 2018, 15:30)  >>>Так что один недочёт из списка можно вычеркнуть Нельзя - модуль умеет работать с ДВУМЯ симками!!! А 3-этажные симкодержатели бывают? SIM+SIM+SD? Цитата(CADiLO @ Apr 6 2018, 15:30)  Для 868Е вот такая прошивочка нужна - 1418B01SIM868E32_BLE_DS И тогда весь его функционал становится доступным. Там стоит SIM868, без 'Е' (какая прошивка - позже смогу посмотреть). А в него можно эту прошивку с BLE прошить?
|
|
|
|
|
Apr 6 2018, 12:54
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(CADiLO @ Apr 6 2018, 15:49)  Для без Е нужна - 1418B01SIM868M32_BT_DS На http://simcom.ee/documents/?dir=SIM868 вижу: 1418B02SIM868M32.rar 1418B02SIM868M32_BT.ZIP и 1418B03SIM868M32.zip 1418B03SIM868M32_11GNSS.rar 1418B03SIM868M32_96GNSS.rar Они разве не новее?
|
|
|
|
|
Apr 25 2018, 18:32
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
Цитата(CADiLO @ Apr 6 2018, 11:45)  Я не против, только сейчас китайцы опять на своих "нешинал холидей" потом я на выставке. На работу вернусь 23 апреля. Доброго времени суток! Продолжим изыскания в направлении нормальной работы BT SPP?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|