Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900->HTTP сервис, метод POST (кто сталкивался)
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
DrGluck
День добрый !

Имеем : SIM900 (версия - 7), сниффер (SoftPerfect Network Protocol Analyzer) + Fiddler Web Debugger, Indy 10.
Собственно неясность с использованием встроенной реализации HTTP-сервиса, а именно - метод POST.

Последовательность действий - согласно доке от производителя :
AT+SAPBR ... / AT+HTTPINIT / AT+HTTPPARA ... / AT+HTTPDATA=10,1000 /
>DOWNLOAD 1234567890 >OK
AT+HTTPACTION=1 / >HTTPACTION:1,200,0 / AT+HTTPTERM (запись условно-пояснительная)

HTTP-сервер (Indy) реагирует , но собственно данные (1234567890) в (ARequestInfo: TIdHTTPRequestInfo).UnparsedParams отсутствуют.

Анализ пакетов показал, что SIM900 формирует в запросе следующее :
"POST / HTTP/1.1
Host: NN.NNN.NNN.NNN
Accept: */*
Connection: Keep-Alive
User-Agent: SIMCOM_MODULE
Content-Length: 10

1234567890"

Детальное исследование RFC-XXX и исходников Indy - вещь правильная и очевидная если бы не фактор времени.

Эксперимент показал, что если явно определить "Content-Type: application/x-www-form-urlencoded" - то сервер все парсит и данные на месте. Но добавить это поле посредством SIM900 с лету не удалось, точнее была предпринята попытка используя AT+HTTPDATA дописать Content-Type ... увы, ибо Content-Length формируется автоматом. Перекрыть его вторым идентичным полем с иным параметром тоже не удалось ...


Кто-то уже все это победил ? sm.gif


DrGluck
Проще оказалось самому HTTP "сервис" организовать ...
firew0rker
У меня похожая проблема.
Передаю данные так:
Код
AT+HTTPINIT
AT+HTTPPARA="CID",1
AT+HTTPPARA="URL","62.231.171.6/priem2.php"
AT+HTTPPARA="CONTENT","application/x-www-form-urlencoded"
AT+HTTPDATA=0108,10000

DOWNLOAD
Date=2013.06.27&Time=00:01&Vmin=000&Vmid=000&Vmax=000&Dir=000&Temp=26.2&U=selestasvz_mysql&P=********&SPOT=1
AT+HTTPACTION=1


Принимается:
Код
POST /priem2.php HTTP/1.1
Accept: */*
User-Agent: SIMCOM_MODULE
Content-Length: 108
Host: 62.231.171.6
Cache-Control: max-age=43200
Connection: keep-alive                                                                                                                                                
                                                                                                                                                                      
Date=2013.06.27&Time=00:01&Vmin=000&Vmid=000&Vmax=000&Dir=000&Temp=26.2&U=selestasvz_mysql&P=sye6tqt2&SPOT=1


Content-type нет в заголовках. Из-за этого сервер не принимает данные. Как сделать чтобы был заголовок Content-type?
Не могу реализовать НТТР-клиент в микроконтроллере. У PIC16F1827 не хватит памяти.
Aner
firew0rker а у вас какая версия прошивки? Тоже 7-я?
НУ и потом НТТР-клиент на мелких процах что-то нереальное. Тут и не каждый арм подойдёт. Не проще ли через ява аплет работать?
firew0rker
Извиняюсь, сразу надо было показать
Код
AT+GSV
SIMCOM_Ltd
SIMCOM_SIM900B
Revision:1137B05SIM900B32_ST

OK


ява аплета нет.
Aner
Так 9 версия как последняя, и Enhance тоже из последних. Перешивать нужно. А аплет на яве самому писать нужно.
Fusion
У меня версия:
SIMCOM_SIM900
Revision:1137B12SIM900M64_ST
Post тоже не проходит.
Get нормально.
Aner
QUOTE (Fusion @ Jun 27 2013, 21:21) *
У меня версия:
SIMCOM_SIM900
Revision:1137B12SIM900M64_ST
Post тоже не проходит.
Get нормально.

А на Enhance не пробовали?
Fusion
К сожалению у меня нет такой прошивки.
Подскажите где взять Enhance?
Aner
QUOTE (Fusion @ Jun 27 2013, 21:53) *
К сожалению у меня нет такой прошивки.
Подскажите где взять Enhance?

Наверное надо спросить у того, кто продал вам SIM900.
firew0rker
Проблему удалось обойти добавлением в скрипт, принимающий данные, строки
parse_str(file_get_contents("php://input"), $_POST);

В качестве временного решения пока сойдёт. Прошивкой SIM900B так никто и не поделился. Буду рассматривать вопрос о переходе на модули другого производителя, например Sierra Wireless.
alfff
Цитата(firew0rker @ Jun 29 2013, 08:59) *
Проблему удалось обойти добавлением в скрипт, принимающий данные, строки
parse_str(file_get_contents("php://input"), $_POST);

В качестве временного решения пока сойдёт. Прошивкой SIM900B так никто и не поделился. Буду рассматривать вопрос о переходе на модули другого производителя, например Sierra Wireless.


Модули SW уже давно не славятся своим качеством, да и цена у них выскоквата. Мой Вам совет, присмотритесь к Телиту или CInterion. С ними проблем вообще нет, особенно с последним.
Aner
А Quictel чем плох?
sobr
Цитата(alfff @ Jun 29 2013, 15:01) *
Модули SW уже давно не славятся своим качеством...
Да ну. И какие же у вас нарекения имеются в адрес SW? Просто я с этими модулями работаю, и не хочется наступать на грабли.
Цитата(alfff @ Jun 29 2013, 15:01) *
... да и цена у них выскоквата.
Как надоели уже эти сказки. Я на WS6318 имею цену ниже чем на SIM900.
Tweeek
Цитата(alfff @ Jun 29 2013, 12:01) *
Модули SW уже давно не славятся своим качеством

Действительно, что же в них такого плохого? Факты, факты пожалуйста.
CADiLO
>>>В качестве временного решения пока сойдёт. Прошивкой SIM900B так никто и не поделился. Буду рассматривать вопрос о переходе на модули другого производителя, например Sierra Wireless.

И не поделится ввиду следующих причин:

Отсутсвие оной так как.....

1. Вы изначально неправильно выбрали модуль - SIM900B предназначен в первую очередь для азиатско-индусского рынка и имеет несколько ревизий как железа (а там еще и памяти)
так и прошивок в отличии от унифицированных SIM900 и SIM900R64.

2. В SIM900B32_ST физически нельзя залить расширеную прошивку - памяти не хватит

Ну и так как ENHANCED версия курируется российскими и украинскими дистрибьюторами, то и будет она в первую очередь для SIM900R64 и иногда для SIM900

>>>Наверное надо спросить у того, кто продал вам SIM900.

Совершенно верно, ну или обратиться к региональному дистрибьютору. Сразу могу сказать в Украину SIM900В массово не возим - только под заказ и с конкретным указанием версии. Причины выше.

>>>Как надоели уже эти сказки. Я на WS6318 имею цену ниже чем на SIM900.

На SIM900, да еще и в розницу еще с трудом поверю. На SIM900R64 - как сказал кот Матроскин - Фиг-вам. Разве что под слив производства.



firew0rker
Цитата(CADiLO @ Jun 30 2013, 01:30) *
1. Вы изначально неправильно выбрали модуль - SIM900B предназначен в первую очередь для азиатско-индусского рынка и имеет несколько ревизий как железа (а там еще и памяти)
так и прошивок в отличии от унифицированных SIM900 и SIM900R64.

В документации на SIM900B об этом не было написано.
Более того, в sim900b spec v1102.pdf написана ложь!
Цитата
Enhanced version features:
•FOTA
•MMS
•Embedded AT


Мне нужны модули, которые поддерживают Embedded AT (OpenAT, что-то аналогичное), мало потребляют в режиме ожидания. Желательно наличие версии модуля с разъёмом для упрощения создания прототипов в ходе разработки. Т.е. модуль с разъёмом переставлять между прототипами разных версий при испытании, а по окончании разработки запустить в производство плату с паяемой версией модуля. Если бы не ложь в документации, то SIM900 и SIM900В мне бы подошли.
sobr
Цитата(CADiLO @ Jun 30 2013, 01:30) *
На SIM900, да еще и в розницу еще с трудом поверю. На SIM900R64 - как сказал кот Матроскин - Фиг-вам. Разве что под слив производства.
Эдуард, я говорю именно о Sim900R. В розницу я модули не покупаю, если мне нужны единичные экземпляры, мне их предоставляют как образцы. Я сравниваю цены на партию в 1000 шт. Мои серийно-выпускаемые проекты используют SL6087. Сейчас в работе три проекта, в которых нужен бюджетный модуль. И я его выбирал не на сайте компел по розничной цене, а по предложениям представителей. К тому-же модуль который я выбрал почти в полтора раза меньше по габаритам, чем SIM900R. А от того, что ты мне не поверишь мне хуже то становится.
Я не собираюсь тут с пеной у рта доказывать кому бы то нибыло, что SW лучше чем другие. Я не фанат Sierra. Просто мне на сегодняшний день модули этого производителя подходят больше.
Когда я разрабатывал проекты на OpenAT для SL6087, тут большинство кричало что встроенные приложения это баловство, и нафиг не надо. А сегодня и симком развивает это направление. И проекты которые выпускаются тысячами прекрасно работают без "антизависателей".
Продвигать на этом форуме какой то модуль смысла нет. Ты, как мне кажется это уже понял. Да и Telit перестал тут писать, что все г**но, а у них самый кайфовый модуль. Все потому, что люди, которые потребляют модули в промышленных объемах не будут выбирать модуль по отзывам на форумах. Они возьмут все модули, узнают все цены и сами сделают выбор. А о том что кто-то дорогой а другой дешевый кричать будут те, кто их в радиомагазине видел, и купил тот на который денег хватило.
CADiLO
>>>В документации на SIM900B об этом не было написано. Более того, в sim900b spec v1102.pdf написана ложь!
>>>Enhanced version features:

А перезвонить дистрибьютору и уточнить что по умолчанию идет обычная версия, а расширенная делается под заказ, что помешало?
Рекламный листок это не конечная документация. Там и по интерфейсам указано много, но в стандартном фирмваре те же SPI и I2C не поддерживаются.

>>>Мне нужны модули, которые поддерживают Embedded AT (OpenAT, что-то аналогичное), мало потребляют в режиме ожидания. Желательно наличие версии модуля с разъёмом для упрощения создания прототипов в ходе разработки. Т.е. модуль с разъёмом переставлять между прототипами разных версий при испытании, а по окончании разработки запустить в производство плату с паяемой версией модуля. Если бы не ложь в документации, то SIM900 и SIM900В мне бы подошли.

На эти требования сразу ответ - разработка SIM900R64-TE (модуль на платке с разъемом), а в серию SIM900R64.
Сразу имеет расширенное фирмваре, работает с EAT, потребление в слипе без потери сети 1.0 - 1.2 мА.

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


>>>Эдуард, я говорю именно о Sim900R. В розницу я модули не покупаю, если мне нужны единичные экземпляры, мне их предоставляют как образцы. Я сравниваю цены на партию в 1000 шт.

Не хочу вдаваться в полемику, пусть ценами маркетологи занимаются, им виднее кому какую называть, возможно были причины не дать "вкусную" цену.
Однако банальный поиск покажет - http://www.efind.ru/icsearch/?search=sim900r
Стартовая цена у дистрибьюторов в принципе от $9. В Украине из-за оплаты регистрации ИМЕИ чуть дороже.
Но на тысячу понятно что падает вниз и в некоторых случаях очень сильно. SW тут вряд ли потягаются.

По размерам - согласен, однако не всегда это оправдано и не всем нужно экономить миллиметры на плате.
WS6318 - 17.8x15мм
SL6087 - 25х30мм

SIM900E - 19.8x19.8мм
SIM900R64 - 24x24мм

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

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

Так что если что не так объяснил, или китайцы недопереписали в доках sm.gif , то думаю лучше всего созваниваться и в живом общении непонятки устранять.
firew0rker
Цитата(CADiLO @ Jun 30 2013, 15:09) *
А перезвонить дистрибьютору и уточнить что по умолчанию идет обычная версия, а расширенная делается под заказ, что помешало?

Не пришло в голову. По идее, если изготовитель пишет что у продукта есть такие-то функции, то они должны быть. А если их нет, то изготовитель лжёт, и у него не надо ничего покупать.
sobr
Да не надо вдаваться в полемику, я же тоже написал, что не собираюсь никому ничего доказывать. Просто хотелось бы что бы люди понимали, что когда какой-то дятел начинает кричать мол "не берите то-то у него качество хромает и дороговато, и мой вам совет..." То его совет и в унитазе то смыть стремно, такова его авторитетность. Люди то, те что в теме уже давно не срутся.
Ptspb
Цитата(sobr @ Jun 30 2013, 14:38) *
Да не надо вдаваться в полемику, я же тоже написал, что не собираюсь никому ничего доказывать. Просто хотелось бы что бы люди понимали, что когда какой-то дятел начинает кричать мол "не берите то-то у него качество хромает и дороговато, и мой вам совет..." То его совет и в унитазе то смыть стремно, такова его авторитетность. Люди то, те что в теме уже давно не срутся.


Уважаемый, sobr, я с Вами согласен. Хотя люди, которые обостряют обстановку, или кричат о том, что то и то круче того-то и того-то, а вон то вообще не то, то тут либо применяется агрессивный маркетинг, думая что тем самым создадут спрос на товар, либо просто ... не в теме.
Tweeek
Цитата(Ptspb @ Jul 1 2013, 16:36) *
Уважаемый, sobr, я с Вами согласен. Хотя люди, которые обостряют обстановку, или кричат о том, что то и то круче того-то и того-то, а вон то вообще не то, то тут либо применяется агрессивный маркетинг, думая что тем самым создадут спрос на товар, либо просто ... не в теме.


Прости, не удержался wink.gif
Fusion
firew0rker: Спасибо! с функцией parse_str POST заработал)
czuryk
Приветствую!
Застрял в выборе модуля.
Склоняюсь к SIM900R, но судя из документации он не поддерживает HTTP.
Возможно я что то не так понял, подскажите - могу ли я с этого модуля слать POST/GET запросы на внеший вебсервер?
CADiLO
Не поддерживал старый SIM900R32.
Новая модификация - SIM900R64 поддерживает. И даже больше....
czuryk
это которые SIM900R [S2-1047P-Z093A/B04] ?
CADiLO
S2-1047P-Z093A - это SIM900R32

S2-1047R-xxxxx - это SIM900R64
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.