Jump to content

    
Sign in to follow this  
jcxz

SIM808 - кривее некуда!

Recommended Posts

Документация на ваш шилд от производителя, со схемой, лежит тут:

 

http://www.tuxti.com.br/arquivos/arduino/m...SIM808_V3.1.rar

 

Наконец то я увидел китайский шилд где сделали правильно согласование уровней и вообще нормальная схемотехника.

Share this post


Link to post
Share on other sites
Чтобы не гадать на кофейной гуще, следует сразу же приводить лог обмена с модулем. Желательно и в текстовой и в бинарной форме.

Тут никто, я думаю, не обладает способностями увидеть экран вашей терминалки.

 

Что-то я сходу не могу придумать как снять лог обмена т.к. там используется мультиплексор. Писать какой-то велосипед чтоб это все распарсить и красиво показать пока что нет времени...

Может кто-то сталкивался и знает решение как снять лог обмена по CMUX подручными средствами?

 

С уверенностью могу сказать что после AT+BTSPPSEND на uart полная тишина. Где-то тут ранее проскакивало что на sim800c нет одновременно BT и CMUX.

Я обрадовался что все-таки есть. Из BT активно использую AT+BTSCAN - все работает хорошо, но иногда тоже есть проблема - UART начинает молчать. Лечится перезагрузкой модуля.

Частота зависаний зависит от частоты вызова AT+BTSCAN. Если не делать паузы после окончания сканирования (+BTSCAN: 1), то зависает часто. В итоге пришел к паузе 2,5с.

В sim800 BT реализован где-то криво именно в части общения c UART.

Share this post


Link to post
Share on other sites

>>>Где-то тут ранее проскакивало что на sim800c нет одновременно BT и CMUX.

 

Да, это было в некоторых прошивках с EAT.

 

Есть такая чудная команда - AT+CLIST

Она показывает что реализовано в модуле

Если дать AT+CLIST=<группа>, то покажет все доступные команды в этой группе.

post-7988-1522910530_thumb.jpg

Share this post


Link to post
Share on other sites

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 работает.

Share this post


Link to post
Share on other sites
Что-то я сходу не могу придумать как снять лог обмена т.к. там используется мультиплексор. Писать какой-то велосипед чтоб это все распарсить и красиво показать пока что нет времени...

Может кто-то сталкивался и знает решение как снять лог обмена по CMUX подручными средствами?

Вы писали ранее, что пробовали и без CMUX

AT+BTSPPSEND пробовал в разных вариациях. И с мультиконектом и без. Приглашение на ввод строки никогда не появляется.

Так выложите без.

Что такого сложного в снятии лога? Печатаете (printf) весь обмен в отладочный UART на комп (с метками времени и метками приём/передача) и сохраняете его в файл любой терминалкой.

Но более достоверно и независимо (чтобы исключить ошибки в своём коде): берёте два COM-порта и на их входы RxD заводите TxD и RxD с UART-а между МК и модулем. Данные из этих двух COM-портов также сохраняете в файл терминалке на компе. С метками времени обязательно!

 

Документация на ваш шилд от производителя, со схемой, лежит тут:

Спасибо! Я полный этот архив не находил, только его части. Хотя уже наверное и не нужно - проблема не в схеме, а в SIM808.

 

Наконец то я увидел китайский шилд где сделали правильно согласование уровней и вообще нормальная схемотехника.

Ну не особо то и правильно - TxD, RxD как-то согласованы, но вот остальные сигналы - CTS, RTS, ... - нет.

Сейчас заказали вот этот:

https://www.mikroe.com/gsmgnss-2-click#heading1

Ссылка на принципиальную схему есть внизу страницы.

Согласование уровней сигналов тут сделано лучше, даже лампочки подключены аккуратно - через транзисторы, а не напрямую к пинам модуля как на плате с SIM808.

Но вот с питанием какая-то лажа. :((((

Использованный здесь MCP1826 судя по даташиту может отдать только 1А, что как бы маловато для SIM868. :(

Share this post


Link to post
Share on other sites

>>>Ну не особо то и правильно - TxD, RxD как-то согласованы, но вот остальные сигналы - CTS, RTS, ... - нет.

 

По сравнению с тем что раньше видел - уже прогресс.

 

>>>Ссылка на принципиальную схему есть внизу страницы.

 

USB не вывели - очень не помешало бы

VRTC в воздухе - а 4.7 мкф там должен стоять

STATUS и DTR тоже наружу бы не помешали

 

ну и совсем прикол - развели уже SD карточку, так поставьте и второй SIM держатель.

 

Share this post


Link to post
Share on other sites
Про мультиконектом я подразумевал мультиконект 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.

 

Как Вы могли пробовать то, чего нет? :wacko:

 

VRTC в воздухе - а 4.7 мкф там должен стоять

Учтём. Спасибо.

 

ну и совсем прикол - развели уже SD карточку, так поставьте и второй SIM держатель.

Это у них в этот разъём одновременно и микро-SIM-ка и микро-SD ставятся что-ль?

Share this post


Link to post
Share on other sites

>>>Это у них в этот разъём одновременно и микро-SIM-ка и микро-SD ставятся что-ль?

 

Нет, раздельно - выводы под вторую SIM на брюхе модуля просто оставили в воздухе.

Можно было бы просто поставить совмещенный держатель и был бы двухкарточник.

 

 

Share this post


Link to post
Share on other sites
Это Вы тут всех путаете. На SIM800C нет мультиконнекта BT. Если верить доке:

MTK6261 platforms: SIM808, SIM800C, SIM800A, SIM800F.

...

For the MTK6261 and MTK2503 platform module, only supports the simultaneous connection of

1 device.

 

Как Вы могли пробовать то, чего нет? :wacko:

 

Да вот так:

AT+BTSPPCFG="MC",1

OK
AT+BTSPPCFG="MC",2

+BTSPPCFG: MC,1

OK

+BTSPPDATA: 1,8,blabla

 

Реально правда второе соединение не проверял т.к. не нужно мне это.

 

Share this post


Link to post
Share on other sites

Продолжаю раскопки :)

Проблема оказалась не в 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 команды.

Share this post


Link to post
Share on other sites
Еще поэкспериментировал. Если дать PPP соединению установится, то 100% не работает BTSPPSEND. Если соединение разорвать, то начинает работать. На прием BTSPPDATA не влияет.

Ну так я же приводил выше выдержку из даташита про "only supports the simultaneous connection of 1 device". Видимо это относится не только к BT-соединениям. Вы бы лучше документацию повнимательнее изучили.... :laughing:

Share this post


Link to post
Share on other sites
Ну так я же приводил выше выдержку из даташита про "only supports the simultaneous connection of 1 device". Видимо это относится не только к BT-соединениям. Вы бы лучше документацию повнимательнее изучили.... :laughing:

Не забивайте себе голову мультиконектом к 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, прием работает без замечаний (по крайней мере на малых объемах данных).

 

Share this post


Link to post
Share on other sites

Подкину еще одну доку - может кому пригодится.

Не самая свежая, но кое-что отсутствующее в апнотес там имеется.

 

 

Вычитал интересный момент.

 

///К популярным профилям, наиболее широко востребованным в самых различных приложениях и поддерживаемым (или поддержка которых может быть реализована) модулями 800-й серии, относятся:

 

.... DUN (Dial-up Networking Profile) стандартный профиль для предоставления доступа в Интернет. Базируется на SPP, включает в себя команды PPP и AT, определенные в спецификации ETSI 07.07

 

 

Вот тут скорее всего и кроется причина - если задействовали PPP, то капут.....

simcom_sim800_series_bluetooth_application_guide_v1.02.pdf

Share this post


Link to post
Share on other sites
Не самая свежая, но кое-что отсутствующее в апнотес там имеется.

...

///К популярным профилям, наиболее широко востребованным в самых различных приложениях и поддерживаемым (или поддержка которых может быть реализована) модулями 800-й серии, относятся:

Было бы классно, если бы профиль OPP мог работать не только с внутренней памятью SIM800, а ретранслировал бы запросы по чтению/записи файлов в UART (AT-командами).

Т.е. - при передаче файла командой AT+BTOPPPUSH, модуль читал бы файл не из своей внутренней памяти, а запрашивал бы файл по частям по UART у пользовательского микроконтроллера. То же самое при приёма файла - принимаемый по команде AT+BTOPPACPT файл не писал бы во внутреннюю память SIM800, а отправлял пользовательскому МК через AT-командный интерфейс.

Почему интересно в SIMCOM-е не додумались сделать такую полезную вещь? Тогда бы и профиль OPP был бы тоже очень полезным, не только SPP.

А сейчас придётся ещё поверх SPP прокладывать свой протокол передачи файлов. :(

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this