Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM868
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Страницы: 1, 2
CADiLO
Минусы для общего UART:
Когда в сообщения от GPS вклинится URC от GSM и вы будете долго соображать что от чего - это раз.
Допустим нужно отключить GSM часть для снижения потребления и работать только с GPS - ну и как вы это сделаете на объединенных UART?
Функционал будет только тот что позволят АТ команды GSM части для работы с GPS. А при отдельном UART можно например вместо NMEA использовать бинарный протокол и прочие "вкусности"


А теперь готов выслушать минусы для 2 UART.
jcxz
Цитата(CADiLO @ Aug 13 2018, 14:35) *
Когда в сообщения от GPS вклинится URC от GSM и вы будете долго соображать что от чего - это раз.

Почему? Разве есть URC одинаковые и для GSM и для GPS? В чём именно сложность различить их?
Работает сейчас у меня BT+GPS - проблем с распознаванием нет никаких. GSM не использую.

Цитата(CADiLO @ Aug 13 2018, 14:35) *
Допустим нужно отключить GSM часть для снижения потребления и работать только с GPS - ну и как вы это сделаете на объединенных UART?

Очевидно, что в этом случае я просто поставлю два разных модуля GPS и GSM. Раз их нужно по отдельности выключать, то зачем использовать единый модуль?

Цитата(CADiLO @ Aug 13 2018, 14:35) *
Функционал будет только тот что позволят АТ команды GSM части для работы с GPS. А при отдельном UART можно например вместо NMEA использовать бинарный протокол и прочие "вкусности"

Так как не знаю о каких "вкусностях" речь, то ничего не могу сказать. Мне достаточно того, что выдаётся в строке +CGNSINF.

Цитата(CADiLO @ Aug 13 2018, 14:35) *
А теперь готов выслушать минусы для 2 UART.

Это вроде как очевидно:
1. Писать 2 драйвера UART вместо одного. И два парсера. Зачем 2 если можно один?
2. Потратить в два раза больше периферии (ног, UART-ов). Периферия (особенно UART-ы) - всегда дефицит в МК. Взять корпус с бОльшим числом ног (если таковой есть) - значит неоправданно увеличить стоимость устройства.
sabrat
Железо уже готово, заложен один юарт. Производитель заявил что можно работать через один, а по факту это не работает. Может прошивку другую залить? на какой проверено работает через один юарт?
CADiLO
>>> Очевидно, что в этом случае я просто поставлю два разных модуля GPS и GSM. Раз их нужно по отдельности выключать, то зачем использовать единый модуль?

Затем что в SIM868 GSM и GPS части ФИЗИЧЕСКИ разделены. А не так как в 808. Считайте что имеете 2 отдельных модуля в одном корпусе.

>>> Писать 2 драйвера UART вместо одного. И два парсера. Зачем 2 если можно один?

Зачем???? Парсер один но работает с любым количеством потоков. По прерываниям просто обрабатываем то что нужно получая от одного или другого UART.
Так что тут изначально неправильный подход. Мы еще 20 лет назад на 16 мегагерцовом интеловском MSC96 обрабатывали 128 каналов импульсного набора и приема номера и укладку потом его в ИКМ.
Одна программа и 129 стеков - 128 для потоков и 1 для собственно самой проги - все крутится по прерываниям.

>>>2. Потратить в два раза больше периферии (ног, UART-ов). Периферия (особенно UART-ы) - всегда дефицит в МК. Взять корпус с бОльшим числом ног (если таковой есть) - значит неоправданно увеличить стоимость устройства.

Фигня полная - N76E003AT20 - TSSOP20 - 8 битный МК, 18 kB Flash, 1kB RAM, 2 UART, 1 SPI, 1 I2C, 6 PWM, 12-bit 8-ch ADC, Max frequency up to16 MHz, Wide operating voltage: 2.4V to 5.5V

цена - $0.38 в розницу

Не нравится 51 ядро - не вопрос, возьмем ARM

M0518LD2AE - LQFP48 - 32 битный МК с архитектурой ARM Cortex M0, 50 MGz, 64 kB Flash, 8 kB RAM, 4x32 TIMER, 8x12bit ADC, 6 UART, 1 SPI, 2 I2C, 2 LIN, 24x16bit PWM

полтора бакса в розницу за полный набор удовольствий.


jcxz
Цитата(CADiLO @ Aug 13 2018, 15:59) *
Зачем???? Парсер один но работает с любым количеством потоков. По прерываниям просто обрабатываем то что нужно получая от одного или другого UART.
Так что тут изначально неправильный подход.

Вы что-то путаете мух с котлетами.
Что Вы имеете в виду под "потоком"? То что идёт на RX-ногу UART-а МК? Это потом кладётся в FIFO-буфер RX-потока и парсится парсер.
Если туда (в это RX-FIFO) валить всё, что приходит с двух разных UART, то потом эту кашу уже невозможно будет разобрать. Это уже получится мусор.
Пришло Вам от одного ISR в прерывании "GN", а сразу поле этого от другого ISR "NNECTI" как догадаетесь потом что это с одного UART поступает URC "+CGNSINF: ...", а со 2-го "+BTCONNECTING"?
Да и +ISR, инициализация, управление FIFO, передачей, парсер и ещё куча всего - это как бы и есть драйвер UART-канала. Всё равно получается в 2 раза больше работы с 2-я UART-ами.
Драйвер - это набор из процедур инициализации, ISR-ов, рабочих переменных, парсеров/state-машин для данного одного канала связи. В одном канале связи может быть несколько виртуальных каналов связи с несколькими удалёнными устройствами (как в случае объединения на одном UART GSM+BT+GPS).
И если есть возможность посадить несколько устройств на один физический канал, написав единый драйвер физ.канала, а за ним - несколько дочерних драйверов устройств - то это хорошее решение. В условиях ограниченности ресурсов.

Цитата(CADiLO @ Aug 13 2018, 15:59) *
Мы еще 20 лет назад на 16 мегагерцовом интеловском MSC96 обрабатывали 128 каналов импульсного набора и приема номера и укладку потом его в ИКМ.

Это то каким боком сюда относится? да хоть 256.

Цитата(CADiLO @ Aug 13 2018, 15:59) *
Фигня полная - N76E003AT20 - TSSOP20 - 8 битный МК, 18 kB Flash, 1kB RAM, 2 UART, 1 SPI, 1 I2C, 6 PWM, 12-bit 8-ch ADC, Max frequency up to16 MHz, Wide operating voltage: 2.4V to 5.5V
цена - $0.38 в розницу

И что? Опять не понял - к чему это? Вы предлагаете наш МК заменить на этот? crying.gif

Цитата(CADiLO @ Aug 13 2018, 15:59) *
M0518LD2AE - LQFP48 - 32 битный МК с архитектурой ARM Cortex M0, 50 MGz, 64 kB Flash, 8 kB RAM, 4x32 TIMER, 8x12bit ADC, 6 UART, 1 SPI, 2 I2C, 2 LIN, 24x16bit PWM
полтора бакса в розницу за полный набор удовольствий.

Опять не понял - зачем???
CADiLO
Затем чтобы показать что не стоит зацикливаться на чем-то одном. Контроллер выбирают под задачу, а не приспосабливают задачу под имеющееся.

>>>Это то каким боком сюда относится? да хоть 256.

Затем что элементарно обработать любое количество UART.

>>>Пришло Вам от одного ISR в прерывании "GN", а сразу поле этого от другого ISR "NNECTI" как догадаетесь потом что это с одного UART поступает URC "+CGNSINF: ...", а со 2-го "+BTCONNECTING"?

Я не буду догадываться - у меня сообщения соберутся в стеках и там я четко знаю от какого UART каждый стек.
Неужели никогда не слышали о стековом методе распараллеливания задач ????
jcxz
Цитата(sabrat @ Aug 13 2018, 15:45) *
Железо уже готово, заложен один юарт. Производитель заявил что можно работать через один, а по факту это не работает. Может прошивку другую залить? на какой проверено работает через один юарт?

Мы тоже заложили SIM868. После неудачного опыта с SIM808 (оказалось, что там прошивка настолько кривая, что невозможно использовать).
Тестировал GPS и прописывал его в драйвер я ещё на SIM808. Там инфа из GPS-модуля шла. Но из-за кривого BT пришлось заменить на SIM868.
На SIM868 драйвер сразу заработал как часы, но вот с GPS-части я получаю такие же строки как у Вас.
Тестил я и работает это пока только на EVB прицепленной на проводах к EVB с МК. Раб. схему пока не делали. После анализа схемы EVB SIM868 https://www.mikroe.com/gsmgnss-2-click#heading1
нашёл в ней много багов (ни в коем случае не рекомендую её!). В частности - неправильная распайка SIM868. И я сделал вывод, что получаю 0 в +CGNSINF именно из-за неё. А когда будет наша рабочая схема - будет всё ок. И больше ничего не делал, так как подобраться к ногам SIM868 и перепаять их как надо - оч. сложно. Но сейчас после Ваших сообщений у меня закралось сомнение..... sad.gif

PS: Здесь на форуме можно найти мои весенние посты по этой теме.

Цитата(CADiLO @ Aug 13 2018, 16:26) *
Затем чтобы показать что не стоит зацикливаться на чем-то одном. Контроллер выбирают под задачу, а не приспосабливают задачу под имеющееся.

Вот мы его и выбрали под свою задачу. А задача эта (основная) - векторное управление PMSM-двигателем.
А SIM868 - это только часть большой схемы. В которой много чего есть. И периферия используется очень плотно.
С чего Вы решили что нам только GPS+GSM нужен? Это вообще довольно второстепенная функция.
Я думаю, что и у sabrat дела обстоят аналогично.

Цитата(CADiLO @ Aug 13 2018, 16:26) *
Я не буду догадываться - у меня сообщения соберутся в стеках и там я четко знаю от какого UART каждый стек.
Неужели никогда не слышали о стековом методе распараллеливания задач ????

Неужели никогда не слышали что такое "драйвер" и сколько ISR-ов, стеков, задач и пр. он может в себя включать? То что Вы описали - это и есть два разных драйвера. Вместо одного. О чём я и писал.
Драйвер - это логически целостная единица ПО, предназначенная для обслуживания одного канала связи (драйвер канала, как в нашем случае) или одного устройства на общем канале связи. Или он может совмещать в себе эти 2 части, если на канале только одно устройство.
Для 2-х UART-ов мне придётся писать два разных канальных драйвера с драйверами устройств. Для совмещённого - один общий канальный драйвер с двумя драйверами устройств (дочерними). Второй вариант конечно же проще. И если можно сделать проще, то зачем делать сложнее? Это уже не говоря о дефиците ног/UART-ов (что есть в нашем случае). А вопросы потребления нас не волнуют - двигатель как бы на порядки больше будет кушать.
Именно поэтому и был выбран SIMCOM, иначе выбрали бы наверное 2 дискретных модуля BT и GPS.
sabrat
Цитата(jcxz @ Aug 13 2018, 16:37) *
Я думаю, что и у sabrat дела обстоят аналогично.


Именно так и есть, в железке ещё куча математики и телеметрии различной. Теперь думаю что делать, брать МГТФ и второй юарт на готовых печатках прокидывать? Ног свободных нет почти, ещё и софтовый юарт вкорячивать?
Сплошные костыли....
mantech
Цитата(sabrat @ Aug 13 2018, 20:23) *
Именно так и есть, в железке ещё куча математики и телеметрии различной. Теперь думаю что делать, брать МГТФ и второй юарт на готовых печатках прокидывать? Ног свободных нет почти, ещё и софтовый юарт вкорячивать?
Сплошные костыли....

Честно говоря тоже не сторонник все скидывать в один уарт и потом мучительно парсить эту кашу-малашу с асинхронно принимаемыми сообщениями... Но уж раз сэкономили и заложили 1 уарт - то придется разбирать. На будущее учтете этот момент, думается..
jcxz
Цитата(sabrat @ Aug 13 2018, 20:23) *
Именно так и есть, в железке ещё куча математики и телеметрии различной. Теперь думаю что делать, брать МГТФ и второй юарт на готовых печатках прокидывать? Ног свободных нет почти, ещё и софтовый юарт вкорячивать?

А смысл? У Вас строка ведь приходит. Ну вкорячите Вы этот UART, и что - получите из него ту же самую строку с 0 в начале. Легче станет?

Цитата(mantech @ Aug 13 2018, 20:45) *
Честно говоря тоже не сторонник все скидывать в один уарт и потом мучительно парсить эту кашу-малашу с асинхронно принимаемыми сообщениями... Но уж раз сэкономили и заложили 1 уарт - то придется разбирать. На будущее учтете этот момент, думается..

Вы тред внимательнее сначала прочитайте. У автора проблема не в разбирании, а в том что GPS не включается. В начале строки 0 приходит.
На будущее нужно учесть чтоб не лепить сразу схему, а сначала заказать отдельные EVB и на проводочках протестить.

PS: Да - и "кашу-малашу" парсить по-любому нужно, так как от перетаскивания GPS на отдельный UART асинхронные URC в GSM/BT части никуда не денутся. Поэтому перетаскивание бессмысленно. Разве что если стоит задача - занять побольше ног в МК.

PPS: Посмотрел сейчас несколько схем EVB на SIM868 в инете - везде сделано по-разному: где-то вывели отдельно GPS_UART на внешний разъём (с опциональной заводкой их также и на UART2), где-то - GPS_UART завели только на UART2. При этом где-то GPIO1 оставили болтающимся неподключенным (без доступа к нему), а завели внешний сигнал на GNSS_EN, где-то соединили GNSS_EN с GPIO1. Вобщем - полная анархия и шатание и пренебрежение мануалом на модуль. Похоже только эксперимент покажет истину.... sad.gif
sabrat
Цитата(jcxz @ Aug 13 2018, 21:57) *
где-то соединили GNSS_EN с GPIO1. Вобщем - полная анархия и шатание и пренебрежение мануалом на модуль. Похоже только эксперимент покажет истину.... sad.gif


попробую GNSS_EN портом контроллера подёргать, всё остальное уже пробовали.
CADiLO
>>>У автора проблема не в разбирании, а в том что GPS не включается. В начале строки 0 приходит.

А расскажите мне что у Вас за антенна? Может он тупо не принимает ничего?
Если выносная, то как запитываете? Если на плате, то хотелось бы видеть фрагмент печатки ка сделано граунд-плане.


И еще вопрос - как питаете модуль, какое напряжение на Vbat?

И VRTC почему-то никуда не подключено.....
jcxz
Цитата(jcxz @ Aug 13 2018, 21:57) *
а завели внешний сигнал на GNSS_EN, где-то соединили GNSS_EN с GPIO1. Вобщем - полная анархия и шатание и пренебрежение мануалом на модуль. Похоже только эксперимент покажет истину.... sad.gif

Вобщем - подал фронт ("0"->"1") на GNSS_EN после подачи команды "CGNSPWR=1" и строка от модуля стала:
"+CGNSINF: 1,0,20180814085921.000,,,,0.00,0.0,0,,,,,,1,0,,,18,,"
Проблема была в кривой EVB (https://www.mikroe.com/gsmgnss-2-click#heading1 - не отладка, а какое-то недоразумение, баг на баге).
Но почему-то второй '0' в строке никак не переходит в '1'. Время получаю, а координат нет. Хотя антенна та же, с которой нормально работал SIM808 и лежит она на том же самом месте.

PS: Ещё какая-то непонятка с этим GNSS_EN - он работает по абсолютному уровню, или для включения GPS на него нужно импульс подать? В даташите описано это так мутно. А эксперимент показывает, что после подачи фронта на него и появления "1" в начале строки, все последующие манипуляции с ним ни на что не влияют.
CADiLO
>>>GNSS_EN - он работает по абсолютному уровню,

Именно по уровню, но там есть задержки на срабатывание - диаграммы есть в SIM868_Series_Hardware_Design_V1.07.pdf
jcxz
Цитата(CADiLO @ Aug 14 2018, 11:59) *
Именно по уровню, но там есть задержки на срабатывание - диаграммы есть в SIM868_Series_Hardware_Design_V1.07.pdf

Вы имеете в виду задержку фронта GNSS_EN относительно фронта GPS_VBAT? Это я видел.
jcxz
Разобрался. Баги были в EVB. Кривая до невозможности... sad.gif
Подкостылил её, теперь GPS работает. rolleyes.gif

PS: У меня подозрение, что у sabrat тот же баг, что был и в моей EVB - не подаётся питание для активной антенны wink.gif
sabrat
Цитата(CADiLO @ Aug 14 2018, 09:06) *
>>>У автора проблема не в разбирании, а в том что GPS не включается. В начале строки 0 приходит.

А расскажите мне что у Вас за антенна? Может он тупо не принимает ничего?
Если выносная, то как запитываете? Если на плате, то хотелось бы видеть фрагмент печатки ка сделано граунд-плане.


И еще вопрос - как питаете модуль, какое напряжение на Vbat?

И VRTC почему-то никуда не подключено.....


Питание 4В. Там всё хорошо, много ёмкости, ток с запасом итд. Антенна керамика 4мм толщиной. Дело не в этом. Если я проводами к МК подключаю юсарт жпс, то у меня всё хорошо. Координаты и время я получаю. Тут вопрос почему я не могу общаться с GSM и GPS по одному юарту.

Может кто поделится последовательностью АТ команд при которых всё проверенно заводится?

Модули и антенны покупал в ГАММА Украина.





CADiLO
>>>Модули и антенны покупал в ГАММА Украина.

Ну раз у нас покупали, то почему бы мне не перезвонить ?
Сегодня последний шанс - я с понедельника в отпуске.

>>>> Может кто поделится последовательностью АТ команд при которых всё проверенно заводится?

Алгоритм следующий:

Вникаем в апнотес SIM868_GNSS_Application Note_V1.00.pdf

Где видим, что если прошивка младше чем B03 - работать не будет.

Если прошивка нужной версии, идем ниже, если нет - обновляемся.
Кроме того очень желательно обновить и навигационную часть.

Крайние версии:

для модулей
1418B05SIM868M32
1418B04SIM868M32_BT

1418B03SIM868E32_BLE

для навигации
B05V01SIM868_96 (9600)
B05V01SIM868_11 (115200)

Далее простых три шага - параметры допишете сами.

Включаем GPS - AT+CGNSPWR

Проверяем чтобы битрейты портов были одинаковы - выставляем для UART2 такой же как и выход GNSS - AT+CGNSIPR

Проверяем передачу из UART2 в UART1 - AT+CGNSTST

Наслаждаемся.
jcxz
Цитата(sabrat @ Aug 16 2018, 20:55) *
Может кто поделится последовательностью АТ команд при которых всё проверенно заводится?

У меня лог обмена драйвера с SIM868 такой - старт (состояние GNSS_EN = 0; GPIO1 на EVB не соединён с GNSS_EN, поэтому подаю его с МК, а UART2 соединён с UART_GNSS):
CODE
XX:40:27.62 SIMCOM baudrate: 230407.7 Hz
XX:40:36.95 SIMCOM.out: "ATE0"
XX:40:36.95 SIMCOM.in: "ATE0"
XX:40:36.95 SIMCOM.in: "OK"
XX:40:36.95 SIMCOM. Module start.
XX:40:36.95 SIMCOM.out: "AT+GMM"
XX:40:36.95 SIMCOM.in: "SIMCOM_SIM868"
XX:40:36.95 SIMCOM.in: "OK"
XX:40:36.95 SIMCOM.out: "AT+IPR=460800"
XX:40:36.95 SIMCOM.in: "OK"
XX:40:36.96 SIMCOM baudrate: 460815.4 Hz
XX:40:36.96 SIMCOM.out: "AT"
XX:40:36.96 SIMCOM.in: "OK"
XX:40:36.96 SIMCOM.out: "AT"
XX:40:36.96 SIMCOM.in: "OK"
XX:40:36.96 SIMCOM.out: "AT+IFC?"
XX:40:36.96 SIMCOM.in: "+IFC: 0,0"
XX:40:36.96 SIMCOM.in: "OK"
XX:40:36.96 SIMCOM.out: "AT+CFUN?"
XX:40:36.96 SIMCOM.in: "+CFUN: 1"
XX:40:36.96 SIMCOM.in: "OK"
XX:40:36.96 SIMCOM.out: "AT+CFUN=0"
XX:40:37.01 SIMCOM.in: "OK"
XX:40:37.01 SIMCOM.out: "AT+CFUN?"
XX:40:37.03 SIMCOM.in: "+CFUN: 0"
XX:40:37.03 SIMCOM.in: "OK"
XX:40:37.03 SIMCOM.out: "AT+BTSTATUS?"
XX:40:37.03 SIMCOM.in: "+BTSTATUS: 0"
XX:40:37.03 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:40:37.03 SIMCOM.in: "OK"
XX:40:37.03 SIMCOM.out: "AT+BTSPPCFG=MC,2"
XX:40:37.03 SIMCOM.in: "+BTSPPCFG: MC,0"
XX:40:37.03 SIMCOM.in: "OK"
XX:40:37.04 SIMCOM.out: "AT+BTSPPCFG=TT,2"
XX:40:37.04 SIMCOM.in: "+BTSPPCFG: TT,0"
XX:40:37.04 SIMCOM.in: "OK"
XX:40:37.04 SIMCOM.out: "AT+BTPAIRCFG?"
XX:40:37.04 SIMCOM.in: "+BTPAIRCFG: 1,XXXX"
XX:40:37.04 SIMCOM.in: "OK"
XX:40:37.04 SIMCOM.out: "AT+BTCOD?"
XX:40:37.04 SIMCOM.in: "+BTCOD: 0,24,04,04"
XX:40:37.06 SIMCOM.in: "OK"
XX:40:37.06 SIMCOM.out: "AT+BTCOD=1,24,8,2"
XX:40:37.06 SIMCOM.in: "OK"
XX:40:37.06 SIMCOM.out: "AT+BTCOD?"
XX:40:37.06 SIMCOM.in: "+BTCOD: 1,24,08,02"
XX:40:37.06 SIMCOM.in: "OK"
XX:40:37.06 SIMCOM.out: "AT+BTSPPURC?"
XX:40:37.06 SIMCOM.in: "+BTSPPURC: 0, SEND OK, SEND FAIL"
XX:40:37.06 SIMCOM.in: "OK"
XX:40:37.06 SIMCOM.out: "AT+BTSPPGET?"
XX:40:37.06 SIMCOM.in: "+BTSPPGET: 0"
XX:40:37.07 SIMCOM.in: "OK"
XX:40:37.07 SIMCOM.out: "AT+BTSPPGET=1"
XX:40:37.07 SIMCOM.in: "OK"
XX:40:37.07 SIMCOM.out: "AT+BTSPPGET?"
XX:40:37.07 SIMCOM.in: "+BTSPPGET: 1"
XX:40:37.07 SIMCOM.in: "OK"
XX:40:37.07 SIMCOM.out: "AT+BTACI?"
XX:40:37.07 SIMCOM.in: "+BTACI: 0,0"
XX:40:37.07 SIMCOM.in: "OK"
XX:40:37.07 SIMCOM.out: "AT+BTPOWER?"
XX:40:37.07 SIMCOM.in: "OK"
XX:40:37.09 SIMCOM.out: "AT+BTPOWER=1"
XX:40:39.01 SIMCOM.in: "OK"
XX:40:40.01 SIMCOM.out: "AT+BTSTATUS?"
XX:40:40.01 SIMCOM.in: "+BTSTATUS: 5"
XX:40:40.03 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:40:40.03 SIMCOM.in: "OK"
XX:40:40.03 SIMCOM.out: "AT+BTVIS?"
XX:40:40.03 SIMCOM.in: "+BTVIS: 1"
XX:40:40.03 SIMCOM.in: "OK"
XX:40:40.03 SIMCOM.out: "AT+CGNSPWR?"
XX:40:40.03 SIMCOM.in: "+CGNSPWR: 0"
XX:40:40.03 SIMCOM.in: "OK"
XX:40:40.03 SIMCOM.out: "AT+CGNSPWR=1"
XX:40:40.04 SIMCOM.in: "OK"
XX:40:40.04 SIMCOM.out: "AT+CGNSPWR?"
XX:40:40.04 SIMCOM.in: "+CGNSPWR: 1"
XX:40:40.04 SIMCOM.in: "OK"
XX:40:40.04 SIMCOM. BT started.
XX:40:40.04 SIMCOM.out: "AT+BTSTATUS?"
XX:40:40.04 SIMCOM.in: "+BTSTATUS: 5"
XX:40:40.04 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:40:40.04 SIMCOM.in: "OK"
XX:40:42.03 SIMCOM.out: "AT+CGNSINF"
XX:40:42.03 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:40:42.04 SIMCOM.in: "OK"
XX:40:44.03 SIMCOM.out: "AT+CGNSINF"
XX:40:44.04 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:40:44.04 SIMCOM.in: "OK"
XX:40:46.03 SIMCOM.out: "AT+BTSTATUS?"
XX:40:46.04 SIMCOM.in: "+BTSTATUS: 5"
XX:40:46.06 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:40:46.06 SIMCOM.in: "OK"
XX:40:46.06 SIMCOM.out: "AT+CGNSINF"
XX:40:46.06 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:40:46.06 SIMCOM.in: "OK"
XX:40:48.04 SIMCOM.out: "AT+CGNSINF"
XX:40:48.04 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:40:48.06 SIMCOM.in: "OK"
XX:40:50.04 SIMCOM.out: "AT+CGNSINF"
XX:40:50.04 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:40:50.06 SIMCOM.in: "OK"
XX:40:52.04 SIMCOM.out: "AT+BTSTATUS?"
XX:40:52.04 SIMCOM.in: "+BTSTATUS: 5"
XX:40:52.04 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:40:52.04 SIMCOM.in: "OK"
XX:40:52.06 SIMCOM.out: "AT+CGNSINF"
XX:40:52.06 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:40:52.06 SIMCOM.in: "OK"
XX:40:54.04 SIMCOM.out: "AT+CGNSINF"
XX:40:54.04 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:40:54.06 SIMCOM.in: "OK"
XX:40:56.04 SIMCOM.out: "AT+CGNSINF"
XX:40:56.04 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:40:56.04 SIMCOM.in: "OK"
XX:40:58.03 SIMCOM.out: "AT+CGNSINF"
XX:40:58.03 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:40:58.04 SIMCOM.in: "OK"
XX:40:58.06 SIMCOM.out: "AT+BTSTATUS?"
XX:40:58.06 SIMCOM.in: "+BTSTATUS: 5"
XX:40:58.07 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:40:58.07 SIMCOM.in: "OK"
XX:41:00.04 SIMCOM.out: "AT+CGNSINF"
XX:41:00.06 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:41:00.06 SIMCOM.in: "OK"
теперь подаю GNSS_EN = 1:
CODE
XX:41:02.04 SIMCOM.out: "AT+CGNSINF"
XX:41:02.04 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:41:02.04 SIMCOM.in: "OK"
XX:41:04.04 SIMCOM.out: "AT+CGNSINF"
XX:41:04.06 SIMCOM.in: "+CGNSINF: 0,,,,,,,,,,,,,,,,,,,,"
XX:41:04.06 SIMCOM.in: "OK"
XX:41:04.07 SIMCOM.out: "AT+BTSTATUS?"
XX:41:04.07 SIMCOM.in: "+BTSTATUS: 5"
XX:41:04.07 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:41:04.07 SIMCOM.in: "OK"
XX:41:06.06 SIMCOM.out: "AT+CGNSINF"
XX:41:06.06 SIMCOM.in: "+CGNSINF: 1,0,19800105235942.000,,,,0.00,0.0,0,,,,,,0,0,,,,,"
XX:41:06.06 SIMCOM.in: "OK"
XX:41:08.04 SIMCOM.out: "AT+CGNSINF"
XX:41:08.04 SIMCOM.in: "+CGNSINF: 1,0,19800105235944.000,,,,0.00,0.0,0,,,,,,1,0,,,27,,"
XX:41:08.06 SIMCOM.in: "OK"
XX:41:10.04 SIMCOM.out: "AT+CGNSINF"
XX:41:10.07 SIMCOM.in: "+CGNSINF: 1,0,19800105235946.000,,,,0.00,0.0,0,,,,,,2,0,,,42,,"
XX:41:10.07 SIMCOM.in: "OK"
XX:41:10.09 SIMCOM.out: "AT+BTSTATUS?"
XX:41:10.09 SIMCOM.in: "+BTSTATUS: 5"
XX:41:10.09 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:41:10.09 SIMCOM.in: "OK"
XX:41:12.04 SIMCOM.out: "AT+CGNSINF"
XX:41:12.04 SIMCOM.in: "+CGNSINF: 1,0,19800105235948.000,,,,0.00,0.0,0,,,,,,2,0,,,43,,"
XX:41:12.04 SIMCOM.in: "OK"
XX:41:14.03 SIMCOM.out: "AT+CGNSINF"
XX:41:14.06 SIMCOM.in: "+CGNSINF: 1,0,19800105235950.000,,,,0.00,0.0,0,,,,,,2,0,,,42,,"
XX:41:14.06 SIMCOM.in: "OK"
XX:41:16.04 SIMCOM.out: "AT+CGNSINF"
XX:41:16.06 SIMCOM.in: "+CGNSINF: 1,0,19800105235952.000,,,,0.00,0.0,0,,,,,,3,0,,,43,,"
XX:41:16.06 SIMCOM.in: "OK"
XX:41:16.07 SIMCOM.out: "AT+BTSTATUS?"
XX:41:16.09 SIMCOM.in: "+BTSTATUS: 5"
XX:41:16.09 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:41:16.09 SIMCOM.in: "OK"
XX:41:18.04 SIMCOM.out: "AT+CGNSINF"
XX:41:18.04 SIMCOM.in: "+CGNSINF: 1,0,19800105235954.000,,,,0.00,0.0,0,,,,,,3,0,,,43,,"
XX:41:18.06 SIMCOM.in: "OK"
XX:41:20.04 SIMCOM.out: "AT+CGNSINF"
XX:41:20.04 SIMCOM.in: "+CGNSINF: 1,0,19800108234132.000,,,,0.00,0.0,0,,,,,,3,0,,,45,,"
XX:41:20.06 SIMCOM.in: "OK"
XX:41:22.04 SIMCOM.out: "AT+CGNSINF"
XX:41:22.06 SIMCOM.in: "+CGNSINF: 1,0,19800108234134.000,,,,0.00,0.0,0,,,,,,3,0,,,45,,"
XX:41:22.06 SIMCOM.in: "OK"
XX:41:22.10 SIMCOM.out: "AT+BTSTATUS?"
XX:41:22.10 SIMCOM.in: "+BTSTATUS: 5"
XX:41:22.10 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:41:22.10 SIMCOM.in: "OK"
XX:41:24.06 SIMCOM.out: "AT+CGNSINF"
XX:41:24.07 SIMCOM.in: "+CGNSINF: 1,0,19800108234136.000,,,,0.00,0.0,0,,,,,,3,0,,,45,,"
XX:41:24.07 SIMCOM.in: "OK"
XX:41:26.03 SIMCOM.out: "AT+CGNSINF"
XX:41:26.04 SIMCOM.in: "+CGNSINF: 1,0,19800108234138.000,,,,0.00,0.0,0,,,,,,3,0,,,45,,"
XX:41:26.04 SIMCOM.in: "OK"
XX:41:28.03 SIMCOM.out: "AT+CGNSINF"
XX:41:28.06 SIMCOM.in: "+CGNSINF: 1,0,19800108234140.000,,,,0.00,0.0,0,,,,,,3,0,,,45,,"
XX:41:28.06 SIMCOM.in: "OK"
XX:41:28.10 SIMCOM.out: "AT+BTSTATUS?"
XX:41:28.10 SIMCOM.in: "+BTSTATUS: 5"
XX:41:28.10 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:41:28.10 SIMCOM.in: "OK"
XX:41:30.04 SIMCOM.out: "AT+CGNSINF"
XX:41:30.06 SIMCOM.in: "+CGNSINF: 1,0,19800108234142.000,,,,0.00,0.0,0,,,,,,3,0,,,45,,"
XX:41:30.06 SIMCOM.in: "OK"
XX:41:32.04 SIMCOM.out: "AT+CGNSINF"
XX:41:32.06 SIMCOM.in: "+CGNSINF: 1,0,19800108234144.000,,,,0.00,0.0,0,,,,,,3,0,,,44,,"
XX:41:32.06 SIMCOM.in: "OK"
XX:41:34.04 SIMCOM.out: "AT+CGNSINF"
XX:41:34.04 SIMCOM.in: "+CGNSINF: 1,0,19800108234146.000,,,,0.00,0.0,0,,,,,,3,0,,,44,,"
XX:41:34.06 SIMCOM.in: "OK"
XX:41:34.10 SIMCOM.out: "AT+BTSTATUS?"
XX:41:34.10 SIMCOM.in: "+BTSTATUS: 5"
XX:41:34.10 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:41:34.10 SIMCOM.in: "OK"
XX:41:36.04 SIMCOM.out: "AT+CGNSINF"
XX:41:36.06 SIMCOM.in: "+CGNSINF: 1,0,19800108234149.000,,,,0.00,0.0,0,,,,,,3,0,,,44,,"
XX:41:36.06 SIMCOM.in: "OK"
XX:41:38.04 SIMCOM.out: "AT+CGNSINF"
XX:41:38.06 SIMCOM.in: "+CGNSINF: 1,0,19800108234151.000,,,,0.00,0.0,0,,,,,,3,0,,,44,,"
XX:41:38.06 SIMCOM.in: "OK"
XX:41:40.04 SIMCOM.out: "AT+CGNSINF"
XX:41:40.07 SIMCOM.in: "+CGNSINF: 1,0,19800108234153.000,,,,0.00,0.0,0,,,,,,4,0,,,44,,"
XX:41:40.07 SIMCOM.in: "OK"
XX:41:40.12 SIMCOM.out: "AT+BTSTATUS?"
XX:41:40.12 SIMCOM.in: "+BTSTATUS: 5"
XX:41:40.12 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:41:40.12 SIMCOM.in: "OK"
XX:41:42.06 SIMCOM.out: "AT+CGNSINF"
XX:41:42.06 SIMCOM.in: "+CGNSINF: 1,0,20180814234154.000,,,,0.00,0.0,0,,,,,,4,0,,,44,,"
XX:41:42.06 SIMCOM.in: "OK"
XX:41:44.04 SIMCOM.out: "AT+CGNSINF"
XX:41:44.06 SIMCOM.in: "+CGNSINF: 1,0,20180814234156.000,,,,0.00,0.0,0,,,,,,4,0,,,44,,"
XX:41:44.06 SIMCOM.in: "OK"
XX:41:46.04 SIMCOM.out: "AT+CGNSINF"
XX:41:46.06 SIMCOM.in: "+CGNSINF: 1,0,20180814234158.000,,,,0.00,0.0,0,,,,,,4,0,,,44,,"
XX:41:46.06 SIMCOM.in: "OK"
XX:41:46.14 SIMCOM.out: "AT+BTSTATUS?"
XX:41:46.14 SIMCOM.in: "+BTSTATUS: 5"
XX:41:46.14 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:41:46.14 SIMCOM.in: "OK"
XX:41:48.06 SIMCOM.out: "AT+CGNSINF"
XX:41:48.06 SIMCOM.in: "+CGNSINF: 1,0,20180814234200.000,,,,0.24,0.0,0,,,,,,4,0,,,44,,"
XX:41:48.06 SIMCOM.in: "OK"
XX:41:50.04 SIMCOM.out: "AT+CGNSINF"
XX:41:50.06 SIMCOM.in: "+CGNSINF: 1,0,20180814234203.000,,,,0.70,0.0,0,,,,,,4,0,,,44,,"
XX:41:50.06 SIMCOM.in: "OK"
XX:41:52.04 SIMCOM.out: "AT+CGNSINF"
XX:41:52.06 SIMCOM.in: "+CGNSINF: 1,0,20180814234205.000,,,,0.00,43.0,0,,,,,,4,0,,,44,,"
XX:41:52.06 SIMCOM.in: "OK"
XX:41:52.14 SIMCOM.out: "AT+BTSTATUS?"
XX:41:52.14 SIMCOM.in: "+BTSTATUS: 5"
XX:41:52.15 SIMCOM.in: "P: 1,"...",XX:XX:XX:XX:XX:XX"
XX:41:52.15 SIMCOM.in: "OK"
XX:41:54.04 SIMCOM.out: "AT+CGNSINF"
XX:41:54.07 SIMCOM.in: "+CGNSINF: 1,0,20180814234206.000,,,,0.00,54.3,0,,,,,,5,0,,,44,,"
XX:41:54.07 SIMCOM.in: "OK"
XX:41:56.03 SIMCOM.out: "AT+CGNSINF"
XX:41:56.04 SIMCOM.in: "+CGNSINF: 1,0,20180814234209.000,,,,0.00,54.3,0,,,,,,5,0,,,44,,"
XX:41:56.04 SIMCOM.in: "OK"
XX:41:58.03 SIMCOM.out: "AT+CGNSINF"
XX:41:58.06 SIMCOM.in: "+CGNSINF: 1,1,20180814234210.000,XX.XXXXXX,XX.XXXXXX,XX.XXX,X.XX,XXX.X,1,,1.6,1.9,0.9,,6,8
,,,44,,"
XX:41:58.06 SIMCOM.in: "OK"
...
ДЕЙЛ
Приветствую!

Есть какие-то отличия по части работы с Bluetooth в модулях SIM868 и SIM800C ?
На SIM868 не подключается Bluetooth-гарнитура. На SIM800 всё нормально соединяется.
CADiLO
>>>Есть какие-то отличия по части работы с Bluetooth в модулях SIM868 и SIM800C ?
>>>На SIM868 не подключается Bluetooth-гарнитура. На SIM800 всё нормально соединяется.

Открываем то что обычно никто не читает sm.gif

SIM800 Series_Bluetooth_Application Note_V1.08.pdf


И читаем

1.6 Function Differences

The current Bluetooth module series can be divided into four platforms, these two platforms to support the Bluetooth function will be different, divided as follows:

MTK6260 platforms: SIM800, SIM800H.
MTK6261 platforms: SIM808, SIM800C, SIM800F.
MTK2503 platforms:SIM868, SIM868E.

 support Profile

All of the SIM800 series module have four basic profiles, they are OPP, HSP/HFP, SPP.
For the MTK6260 platform module, support A2DP, AVRCP, PBAP all the roles.
For the MTK6261 and MTK2503 platform module, support PBAP all the roles and only supports A2DP, AVRCP mobile role.
For the MTK2503 platform module SIM868E, additionally support BLEFMP, BLEPXP, BLESPP,

Customer can also define their own GATT server.

 Multi-device connection
For the MTK6260 platform module, supports simultaneous connection of multiple devices, up to 3.
For the MTK6261 and MTK2503 platform module, only supports the simultaneous connection of 1 device.

 The difference of the AT command
For the MTK6260 platform module, access to the phone call status of the AT command is: AT+BTCLCC;
the default SPP server mode is AT channel mode; Bluetooth open state will be saved when shutdown.

For the MTK6261 and MTK2503 platform module, access to the phone call status of the ATcommand is: AT+BTCLCCS;
the default SPP server mode is the APP data mode; Bluetooth open state is not saved when shutdown.

AT commands of BLE are supported on MTK2503 platform module SIM868E.
jcxz
Цитата(CADiLO @ Sep 24 2018, 09:39) *
Открываем то что обычно никто не читает sm.gif
...
All of the SIM800 series module have four basic profiles, they are OPP, HSP/HFP, SPP.

Читаем, читаем... Но всё так грустно... "OPP, HSP/HFP, SPP" и всё? sad.gif И никаких шансов вытащить OPP наружу. Только на SPP как-то колхозить передачу файлов... crying.gif
Вот почему Simcom не вытащил OPP наружу, в AT-командный интерфейс???
alex2103
И еще BTSPPSEND не работает после ATD*99***1# wink.gif
CADiLO
>>>> Вот почему Simcom не вытащил OPP наружу, в AT-командный интерфейс???


А это не оно?

AT+BTOPPACPT Accept OPP service
AT+BTOPPPUSH Push OPP object to paired device
jcxz
Цитата(CADiLO @ Sep 24 2018, 14:50) *
А это не оно?
AT+BTOPPACPT Accept OPP service
AT+BTOPPPUSH Push OPP object to paired device

Это только уведомления о приходе файлов и отправка. А доступ к самим файлам - либо во внутреннюю память, либо на интерфейс SDIO.
Я имею в виду - вытащить управление самим содержимым файлов. Например: отправляю команду "отправить такой-то файл", после этого модуль начинает мне присылать URC "отправка N1 байт с позиции 0 из файла XXXX" и я ему AT-командой отправляю эти N байт с позиции P; потом он присылает следующее "отправка N2 байт с позиции 0+N1 из файла XXXX"; ...и так далее до конца файла или обрыва. Ну и приём файла - аналогично.
Данные файла у меня находятся в МК. И как передать их с помощью OPP - не понятно. Разве что эмулировать на МК работу внешней SD-карты для модуля. Со всей её файловой системой. smile3009.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.