Перейти к содержанию
    

Подключение GPRS к своему контроллеру

Здравствуйте!

 

С GPRS никогда дела не имел (ну разве надпись на своем мобильнике вижу), поэтому и разместил тему в разделе для начинаюх, тут надеюсь не будут смеяться над моими вопросами :)

 

Что имею: устройство на микроконтроллере, хранящее файлы.

Что нужно: передать файлы посредством канала GPRS.

Дополнительная вводная: использовать изделия Wavecom.

 

Инициатор связи - контроллер, так как нужно минимизировать его энергопотребление, в онлайне сидеть не будет.

Количество данных ограничено объемом вставленной SD-карточки, но как правило это до нескольких сотен килобайт в сутки.

 

Что делать/как жить дальше? Собственно сейчас не сделать нужно а только составить план что нужно сделать и спрогнозировать сроки.

 

Пока что понятно:

1. В Интернете заводится компьютер со статическим IP ("сервер"), на который контроллер и будет сливать данные после коннекта(установки IP-соединения)

2. Контроллер дооборудуется UART интерфейсом

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

4. Пишется дополнительный софт для контроллера, работа с модемом ведется через AT-команды.

5. Пишется дополнительный софт для сервера.

 

Про железо: Изначально думал купить кит на SIM900, про эту китайскую линию очень много написано, но меня резко развернули в сторону французов (Wavecom).

Насколько я вижу, популярны Wavecom Q2403A и Wavecom Q2406B. Я про них еще толком не читал (почитаю конечно), но вроде бы Q2406B имеет внутри и поддержку FTP

 

 

Совершенно темный лес это софт. Пожалуйста, проясните, где я прав а где бред несу:

1. Для минимизации софта на контроллере нужен модем, который сам имеет внутри готовую поддержку TCP/IP

2. Так как речь идет о передаче файлов, то неплохо было бы поднять стандартный FTP, тогда со стороны сервера вообще ничего писать не нужно. То есть еще лучше, если плюс к TCP/IP говорят о реализованном в модеме FTP.

3. Если модем имеет поддержку FTP, то мне достаточно в контроллере иметь относительно несложный генератор AT-запросов и обработчик AT-ответов модема для реализации единственно нужной мне функции (передача файлов).

4. Пока речь не шла, но 99% что понадобится также и принимать файлы на контроллер. Но если у меня уже будет поддержка передачи файлов посредством FTP, то организовать прием будет несложно.

 

 

Спасибо что дочитали и вдвойне спасибо, если выскажете свое мнение про мои идеи :)

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы вам рекомендовал купить вот этот KIT:

...

Сделан с использованием SIM900.

....

И многое, многое другое. У Wavecom и половины из этого нет.

Да, замечательно. Но к сожалению задача стоит несколько иначе: используя (если возможно) именно Wavecom, сделать GPRS доступ.

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

 

А вот еще вопрос: если я сделал нужное мне устройство с поддержкой скажем того же Wavecom через UART, насколько проблемно будет адаптировать софт под скажем SIM900? Где различия и что наоборот стандартизировано в области AT-GPRS команд? Вспоминая проводные модемы- и зух и идц и ноунэйм в принципе работали и без тонкого индивидуального тюнинга. Тут различий больше, но все-таки....

 

 

Дополнение: как альтернатива Wavecom, рассматривается Telit, но про них еще меньше знаю.

Хочется что-то типа внешнего модема или кита.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что делать/как жить дальше? Собственно сейчас не сделать нужно а только составить план что нужно сделать и спрогнозировать сроки.

Сделать это не сложно. На Wavecom без проблем. Срок - 1 месяц на прототип. 3 - на готовую связку сервер-модем.

 

Пока что понятно:

1. В Интернете заводится компьютер со статическим IP ("сервер"), на который контроллер и будет сливать данные после коннекта(установки IP-соединения)

2. Контроллер дооборудуется UART интерфейсом

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

4. Пишется дополнительный софт для контроллера, работа с модемом ведется через AT-команды.

5. Пишется дополнительный софт для сервера.

Тут всё правльно. Самый прямолинейный способ. Когда сделаете, можно будет подумать над модификациями: HTTP, FTP вместо своего сервера, промежуточный сервер в облаке...

 

Про железо: Изначально думал купить кит на SIM900, про эту китайскую линию очень много написано, но меня резко развернули в сторону французов (Wavecom).

Насколько я вижу, популярны Wavecom Q2403A и Wavecom Q2406B. Я про них еще толком не читал (почитаю конечно), но вроде бы Q2406B имеет внутри и поддержку FTP

Ахаха! Ну вы и выбрали. Оба представленных модема безнадежно устарели и ещё года 3 назад сняты с производства. Ориентируйтесь на Q2686RD. С ним вы решите задачу максимально просто. Если хочется поэкономить, то ориентируйтесь на Wismo 218.

 

Совершенно темный лес это софт. Пожалуйста, проясните, где я прав а где бред несу:

1. Для минимизации софта на контроллере нужен модем, который сам имеет внутри готовую поддержку TCP/IP

2. Так как речь идет о передаче файлов, то неплохо было бы поднять стандартный FTP, тогда со стороны сервера вообще ничего писать не нужно. То есть еще лучше, если плюс к TCP/IP говорят о реализованном в модеме FTP.

3. Если модем имеет поддержку FTP, то мне достаточно в контроллере иметь относительно несложный генератор AT-запросов и обработчик AT-ответов модема для реализации единственно нужной мне функции (передача файлов).

4. Пока речь не шла, но 99% что понадобится также и принимать файлы на контроллер. Но если у меня уже будет поддержка передачи файлов посредством FTP, то организовать прием будет несложно.

Если нужно минимизировать софт на контроллере, то пишите работу с TCP/IP на OpenAT и пихайте внутрь модуля. Связка проверенная, рабочая. Работа с TCP на OpenAT пишется легко и непринужденно. Однако придется осваивать доп. инструменты (см. Developer Studio на сайте Sierra Wireless), а также будет несколько сложнее подготавливать приборы при массовом производстве.

FTP на OpenAT поднимается вообще без проблем. И передачу и приём сделаете запросто. В основном придётся повозиться именно с передачей полученной информации в контроллер.

 

 

А вот еще вопрос: если я сделал нужное мне устройство с поддержкой скажем того же Wavecom через UART, насколько проблемно будет адаптировать софт под скажем SIM900? Где различия и что наоборот стандартизировано в области AT-GPRS команд? Вспоминая проводные модемы- и зух и идц и ноунэйм в принципе работали и без тонкого индивидуального тюнинга. Тут различий больше, но все-таки....

Если сделано, как предложено выше, через OpenAT, то поменять модем будет очень сложно. Если через AT команды, то средне сложно, так как команды у всех свои. Если через PPP и свой TCP/IP стек (как это сделано на PC), то очень просто.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, замечательно. Но к сожалению задача стоит несколько иначе: используя (если возможно) именно Wavecom, сделать GPRS доступ.

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

 

А вот еще вопрос: если я сделал нужное мне устройство с поддержкой скажем того же Wavecom через UART, насколько проблемно будет адаптировать софт под скажем SIM900? Где различия и что наоборот стандартизировано в области AT-GPRS команд? Вспоминая проводные модемы- и зух и идц и ноунэйм в принципе работали и без тонкого индивидуального тюнинга. Тут различий больше, но все-таки....

 

 

Дополнение: как альтернатива Wavecom, рассматривается Telit, но про них еще меньше знаю.

Хочется что-то типа внешнего модема или кита.

 

Wavecom вам советуют именно ради их внутреннего API называемого OpenAT. Это API есть только у Wavecom и ни у кого больше.

Тратить время на него могут позволить только те кто имеет вагон времени ибо знания OpenAT не прибавляют ни знаний TCP вообще ни знаний каких-то прикладных протоколов. Т.е. это пустой навык годный только для продолжения разработок на OpenAT и больше ни на чем. Короче ИМХО недальновидно.

 

GSM модемы даже в стандартном наборе AT команд ведут себя по разному.

Одни тайминги подачи команд и разница в задержке реакции чего стоят.

Если при программировании углубиться в использование разнообразных фичей как-то: прием и отсылка SMS, управление аудиоканалами, получение инженерных данных о базовых станциях и т.д. то разница будет огромная.

 

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

(В предлагавшемся KIT-е такие исходники были ;) )

 

Telit я бы рекомендовал. Очень хорошо документированны, более предсказуемое время реакции. Правильнее отрабатывают стандарты GSM07.xx

Вообщем Telit позволил бы реализовать более качественные фичи и в большем количестве.

Но если цель не в этом, то тогда конечно SIMCOM :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделать это не сложно. На Wavecom без проблем. Срок - 1 месяц на прототип. 3 - на готовую связку сервер-модем.

Это сроки с железом? У меня как бы железо уже есть(будет), только проводками-коннекторами это все соединить.

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

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

Ахаха! Ну вы и выбрали. Оба представленных модема безнадежно устарели и ещё года 3 назад сняты с производства. Ориентируйтесь на Q2686RD. С ним вы решите задачу максимально просто. Если хочется поэкономить, то ориентируйтесь на Wismo 218.

Спасибо за наводку.

Глянул: у китайских товарищей "wavecom GSM gprs module Q2686" стоит около 40 долларов. Но попробую найти готовый модем, может и ближе чем в китае. Буду копать. Q2687 у них готовые модемы в корпусе по 140 баксов....

Если нужно минимизировать софт на контроллере, то пишите работу с TCP/IP на OpenAT и пихайте внутрь модуля. Связка проверенная, рабочая. Работа с TCP на OpenAT пишется легко и непринужденно. Однако придется осваивать доп. инструменты (см. Developer Studio на сайте Sierra Wireless), а также будет несколько сложнее подготавливать приборы при массовом производстве.

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

Если через PPP и свой TCP/IP стек (как это сделано на PC), то очень просто.

А можно пользоваться тем, что в модем встроен TCP/IP стек и даже FTP, но снаружи, через AT-команды? Что нужно для этого на контроллере писать? PPP ?

 

Wavecom вам советуют именно ради их внутреннего API называемого OpenAT. Это API есть только у Wavecom и ни у кого больше.

Тратить время на него могут позволить только те кто имеет вагон времени ибо знания OpenAT не прибавляют ни знаний TCP вообще ни знаний каких-то прикладных протоколов. Т.е. это пустой навык годный только для продолжения разработок на OpenAT и больше ни на чем. Короче ИМХО недальновидно.

Мне сейчас честно говоря все равно. Но так как OpenAT пользовать не хочу, то у Wavecom нет преимуществ.

 

GSM модемы даже в стандартном наборе AT команд ведут себя по разному.

Одни тайминги подачи команд и разница в задержке реакции чего стоят.

Если при программировании углубиться в использование разнообразных фичей как-то: прием и отсылка SMS, управление аудиоканалами, получение инженерных данных о базовых станциях и т.д. то разница будет огромная.

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

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

 

Telit я бы рекомендовал. Очень хорошо документированны, более предсказуемое время реакции. Правильнее отрабатывают стандарты GSM07.xx

Вообщем Telit позволил бы реализовать более качественные фичи и в большем количестве.

Но если цель не в этом, то тогда конечно SIMCOM :biggrin:

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

Маркетинг. не хотят связываться с китайским производителем, хотят местного европейца.

Телит подходит, даже только что ткнули для примера в конкретную модель- GC864QUD730.

 

Открыл "IP Easy User Guide - Telit" (rev.10 2011-03-09) - как-то там все прозрачно, четко разжевано как через AT-команды FTP пользовать. Мне кажется что я понял :). Только еще не понял какая модель это может. Или просто новая прошивка это может, а продавцы просто забыли дописать, пишут "TCP/IP" и больше ничего. Буду смотреть....

Добавил: А, нашел, внутри документа на второй странице списочек продуктов, поддерживающих это.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Логика в этом есть. Я бы всё-таки предложил, чтобы было уж совсем стандартно, делать через HTTP. Но более трудоемко.

 

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

 

А можно пользоваться тем, что в модем встроен TCP/IP стек и даже FTP, но снаружи, через AT-команды? Что нужно для этого на контроллере писать? PPP ?

Можно пользоваться. Про PPP забудьте. Да, через AT команды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно пользоваться. Про PPP забудьте. Да, через AT команды.

Спасибо! Я уже действительно разглядел в документации Телита. Разжевано ну прямо для меня. Получается что просто работу с приемом-посылкой AT-команд и нужно сделать. И поддержка FTP есть внутри. Красота......

Такое ощущение что собственно разработка много времени не займет. Заложу 1 неделю на написание софта плюс 1 неделю на отладку. Потом еще 1 неделю на портирование и отладку на моем железе (понятно, что вначале играться и писать и отлаживать сишник для работы с AT-командами буду на писишке с подключенным к ком-порту компьютера модемом).

В-общем месяца при готовом железе должно хватить :)

 

Выбрал Телит как фирму-производителя, только еще не разобрался какой именно их продукт брать чтобы меньше с обвязкой возиться. увидел совершенно замечательные конструкции- прямо со встроенным слотом SIM-карты. По-моему они все очень похожи, только опции разные (Python, SIM, GPS). Еще я так понял некоторые залочены по странам.

 

Очень интересно, что у них диапазон питающих напряжений от 3.22 V. Значит, если я буду иметь 3.3V, то в принципе можно напрямую вязать с процессором. Хотя нет, запас всего -2% по питанию это плохо.... Но заманчиво....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

 

Сделал маленький кит на базе модуля Q2686RD. Модуль покупался в Копэле, прошит версией 7.44.

Подключил кит к компьютеру (полный RS-232, 8 сигналов), в терминалке вижу ответы на AT-команды. А вот дальше тупик. Куча вопросов......

1. не могу найти описание AT-команд для этой версии (7.44). На Сьерре лежат описания только на 7.45 и 7.46. В компэле не спрашивал, покупал не напрямую, сложно.

2. Ладно, согласен проапгрейдить версию до 7.45 или 7ю46. Но не понимаю как залить то, что предлагается на сьерре (там лежат файлы с расширением wpk, а везде описывается как заливать dwl.

3. Вставляю СИМ-карточку, которая на мобильнике исправно показывает GPRS соединение. Результата никакого.

4. Поставил Discovery Tool(самый свежий). Модуль оно находит, уровень сигнала показывает, а вот симку не видит в упор (картинку прилагаю)post-15025-1320877049_thumb.jpg

 

Как жить дальше???

Осциллографом вижу как после ресета до симки добегают пачки от модуля, соединение и корректность схемы проверил много раз, сверяясь с даташитом и с мануалом на фирменный EVB. Сигнал наличия SIM-карты я иммитирую (SIMPRES через резистор подтянут к 1V8).

 

Не могу понять, что копать :(

Есть вероятность что новый Discovery Tool некорректно работает со старой прошивкой (дает AT-команды, которые тот не понимает), но это не объясняет почему модуль сам по себе не коннектится с GPRS сетью, вроде бы должен?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Какая вам разница, 7.44 или 7.45? Команды скорее всего совпадают на 99,99%.

2. Если так сильно надо заливать прошившку, то делается это через DwlWin. Чем свежее, тем лучше. Заливаются WPK через DwlWin. DWL заливаются тупо через терминал.

3. А какой результат вы хотели увидеть после того, как вставили сим-карту? AT+CREG? что отвечает?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Какая вам разница, 7.44 или 7.45? Команды скорее всего совпадают на 99,99%.

2. Если так сильно надо заливать прошившку, то делается это через DwlWin. Чем свежее, тем лучше. Заливаются WPK через DwlWin. DWL заливаются тупо через терминал.

3. А какой результат вы хотели увидеть после того, как вставили сим-карту? AT+CREG? что отвечает?

 

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

документацию на 7.44 нашел, ничего нового она не добавила.

 

Пробую команды работы с СИМ-картой, например

 

at+cpin=1234

+CME ERROR: 10 (Код 10 - это "SIM not inserted")

 

at+creg?

+CREG: 0,0

 

Осциллографом просто не вижу тактовых импульсов от модуля по CLK, есть импульс длительностью примерно как ресет и как питание(длительностью пару десятком миллисекунд), и больше ничего.

 

Все дорожки прозвонил и микроскопом проглядел. Они цельные и ни с чем не замкнуты.

Думал, что защитные диодные сборки большую емкость имеют, выпаял- ничего не изменилось.

Еще раз плату спиртом промыл- ничего не изменилось.

Пробовал разные карточки (и местные разных операторов, и неместные) - ничего не меняется.

Напряжение питания было 3.6V. Увеличил до 4.0V - ничего не изменилось.

 

Есть маленькая надежда, что просто дороги между симкой и модулем длинные, но там клок всего 3 мегагерца, да и в даташите сказано что до 10 сантиметров можно, а у меня несколько короче (хуже всех CLK- около 9 сантиметров и 4 переходных отверстия). Смущает что я вообще не вижу осциллографом клока от модуля в симку, пусть и искаженного.

 

В-общем, получается что 99% в харде проблема но в упор не вижу где. Попробую дороги резать и короткие проводки до симки бросить....

 

И еще: может быть кто-то знает, где лежит описание протокола общения с симкой, на уровне осциллограмм. Не могу найти ничего хорошего. Чего-то мне ничего не понятно из общих фраз типа "Когда в считывающее устройство или телефонную трубку вставлена SIM- карта, питание на неё подаётся не сразу. Сначала выполняется проверка на предмет того, правильно ли вставлена карта, во избежание её разрушения."

Может быть у сьеры где-то расписано как их модуль дергает симку, с диаграммами? ничего не нашел...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Sim present проверяйте и питание. По минимуму модуль должен симку подергать хоть немного при старте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При внимательном обнюхивании выяснилось:

1. клок есть. На очень старой симке(питерское TELE2) этот клок не дотягивался до земли, размах сигнала был от +1 до +3 вольта. Поменял симку на другую (на которой хочу работать- клок нормализовался, то есть тянется от нуля до +3V

2. Симка отвечает! :) Я вижу ответные данные на шине I/O. Но вот опять же уровень не дотягивает до нуля, то есть уровень лог.0 в ответе 1.1 вольта. Думаю, тут собака и зарыта: согласно даташиту:

SIM-IO VIL = 0.4V max.

Думаю, тут и проблема: все имеющиеся у меня модели не дотягивают до логического нуля :(

Согласно даташиту на Q2686, на этом входе сидит подтяжка в "1" 10 кОм, а входной ток этого пина для лог.0 может быть 1мА. Мда уж. наверное придется что-то придумывать.

Хотя странно как-то. буду копать дальше. Есть надежда что мои ручки виноваты, а не модуль.

 

Урра!нашел!

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

 

Пропаял-включил- модуль начал моргать по-другому (то ли уже в сети, то ли пытается ее найти). Это я еще даже антенну не подключил :)

 

Вопрос закрыт, спасибо за сочувствие и советы. Тему не закрываю, подозреваю что это был не последний мой вопрос на этом пути :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При внимательном обнюхивании выяснилось

Схему свою показали бы - наверняка какая-то "детская" ошибка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Скажите пожалуйста, это где-то в документации на Q2686 указано, или личный опыт? Можно ли как-то аппаратными-программными средствами бороться, без экзотики?

 

Дело в том, что антенна у меня внешняя, теоретически могут сунуть SIM карту и включить питание без антенны. Да или кабель антенны может быть поврежден во время работы, тогда что, сразу всю коробку в ремонт?

Написать большими красными буквами в юзергуде "Не включать без подключенной антенны!"? Прямо на корпусе прибора тоже могу написать. В принципе система промприменения, случайные люди инсталлировать-разбирать не будут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...