|
SIM900->HTTP сервис, метод POST (кто сталкивался) |
|
|
|
Sep 28 2011, 13:27
|

Местный
  
Группа: Участник
Сообщений: 340
Регистрация: 25-11-05
Из: Россия
Пользователь №: 11 361

|
День добрый ! Имеем : 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 формируется автоматом. Перекрыть его вторым идентичным полем с иным параметром тоже не удалось ... Кто-то уже все это победил ?
--------------------
"... Ищущий вечно, однажды найдя, то, что искал бесконечно, мимо прошёл, совершенно беспечно, с кем-то о вечном шутя ..."
|
|
|
|
|
Jun 27 2013, 09:05
|
Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 11-07-12
Из: Новосибирск
Пользователь №: 72 716

|
У меня похожая проблема. Передаю данные так: Код 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 не хватит памяти.
|
|
|
|
|
Jun 27 2013, 10:57
|
Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 11-07-12
Из: Новосибирск
Пользователь №: 72 716

|
Извиняюсь, сразу надо было показать Код AT+GSV SIMCOM_Ltd SIMCOM_SIM900B Revision:1137B05SIM900B32_ST
OK ява аплета нет.
|
|
|
|
|
Jun 27 2013, 18:21
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 19-07-06
Пользователь №: 18 920

|
У меня версия: SIMCOM_SIM900 Revision:1137B12SIM900M64_ST Post тоже не проходит. Get нормально.
|
|
|
|
|
Jun 27 2013, 18:53
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 19-07-06
Пользователь №: 18 920

|
К сожалению у меня нет такой прошивки. Подскажите где взять Enhance?
|
|
|
|
|
Jun 29 2013, 08:01
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 1-11-12
Пользователь №: 74 199

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

Знающий
   
Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552

|
Цитата(alfff @ Jun 29 2013, 15:01)  Модули SW уже давно не славятся своим качеством... Да ну. И какие же у вас нарекения имеются в адрес SW? Просто я с этими модулями работаю, и не хочется наступать на грабли. Цитата(alfff @ Jun 29 2013, 15:01)  ... да и цена у них выскоквата. Как надоели уже эти сказки. Я на WS6318 имею цену ниже чем на SIM900.
|
|
|
|
|
Jun 29 2013, 17:56
|

Участник

Группа: Участник
Сообщений: 74
Регистрация: 23-01-13
Из: СПб
Пользователь №: 75 303

|
Цитата(alfff @ Jun 29 2013, 12:01)  Модули SW уже давно не славятся своим качеством Действительно, что же в них такого плохого? Факты, факты пожалуйста.
|
|
|
|
|
Jun 30 2013, 02:26
|
Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 11-07-12
Из: Новосибирск
Пользователь №: 72 716

|
Цитата(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В мне бы подошли.
|
|
|
|
|
Jun 30 2013, 04:08
|

Знающий
   
Группа: Свой
Сообщений: 926
Регистрация: 18-01-07
Пользователь №: 24 552

|
Цитата(CADiLO @ Jun 30 2013, 01:30)  На SIM900, да еще и в розницу еще с трудом поверю. На SIM900R64 - как сказал кот Матроскин - Фиг-вам. Разве что под слив производства. Эдуард, я говорю именно о Sim900R. В розницу я модули не покупаю, если мне нужны единичные экземпляры, мне их предоставляют как образцы. Я сравниваю цены на партию в 1000 шт. Мои серийно-выпускаемые проекты используют SL6087. Сейчас в работе три проекта, в которых нужен бюджетный модуль. И я его выбирал не на сайте компел по розничной цене, а по предложениям представителей. К тому-же модуль который я выбрал почти в полтора раза меньше по габаритам, чем SIM900R. А от того, что ты мне не поверишь мне хуже то становится. Я не собираюсь тут с пеной у рта доказывать кому бы то нибыло, что SW лучше чем другие. Я не фанат Sierra. Просто мне на сегодняшний день модули этого производителя подходят больше. Когда я разрабатывал проекты на OpenAT для SL6087, тут большинство кричало что встроенные приложения это баловство, и нафиг не надо. А сегодня и симком развивает это направление. И проекты которые выпускаются тысячами прекрасно работают без "антизависателей". Продвигать на этом форуме какой то модуль смысла нет. Ты, как мне кажется это уже понял. Да и Telit перестал тут писать, что все г**но, а у них самый кайфовый модуль. Все потому, что люди, которые потребляют модули в промышленных объемах не будут выбирать модуль по отзывам на форумах. Они возьмут все модули, узнают все цены и сами сделают выбор. А о том что кто-то дорогой а другой дешевый кричать будут те, кто их в радиомагазине видел, и купил тот на который денег хватило.
|
|
|
|
|
Jun 30 2013, 08:09
|

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

|
>>>В документации на 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мм Вы правы в одном - выбор всегда за клиентом и бывает так что и мотив выбора алогичен. Здесь много факторов кроме цены и размера - поставки и наличие, личные предпочтения, "брендовость", а иногда и как в анекдоте бывает - "ты мужик мне не нравишься, потому к другому продавцу пойду" На всех не угодишь, да и не опишешь здесь всего. Кто-то позвонил и проговорили час обсуждая нюансы, а кто-то узнал розничную цену и не стал дальше интересоваться - всяко бывает. Я вот сейчас в отпуске стройкой занимался, кафельщика искал. Вроде нашел, советовали люди с городского форума, да и качество понравилось, и недорого, но вот в самом мастере что-то было не то, неприветное... Пришлось договариваться с другим. Так что если что не так объяснил, или китайцы недопереписали в доках  , то думаю лучше всего созваниваться и в живом общении непонятки устранять.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jun 30 2013, 09:28
|
Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 11-07-12
Из: Новосибирск
Пользователь №: 72 716

|
Цитата(CADiLO @ Jun 30 2013, 15:09)  А перезвонить дистрибьютору и уточнить что по умолчанию идет обычная версия, а расширенная делается под заказ, что помешало? Не пришло в голову. По идее, если изготовитель пишет что у продукта есть такие-то функции, то они должны быть. А если их нет, то изготовитель лжёт, и у него не надо ничего покупать.
|
|
|
|
|
Jul 1 2013, 12:36
|

Участник

Группа: Участник
Сообщений: 60
Регистрация: 11-12-12
Из: СПБ
Пользователь №: 74 805

|
Цитата(sobr @ Jun 30 2013, 14:38)  Да не надо вдаваться в полемику, я же тоже написал, что не собираюсь никому ничего доказывать. Просто хотелось бы что бы люди понимали, что когда какой-то дятел начинает кричать мол "не берите то-то у него качество хромает и дороговато, и мой вам совет..." То его совет и в унитазе то смыть стремно, такова его авторитетность. Люди то, те что в теме уже давно не срутся. Уважаемый, sobr, я с Вами согласен. Хотя люди, которые обостряют обстановку, или кричат о том, что то и то круче того-то и того-то, а вон то вообще не то, то тут либо применяется агрессивный маркетинг, думая что тем самым создадут спрос на товар, либо просто ... не в теме.
|
|
|
|
|
Jul 1 2013, 12:47
|

Участник

Группа: Участник
Сообщений: 74
Регистрация: 23-01-13
Из: СПб
Пользователь №: 75 303

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

Группа: Участник
Сообщений: 54
Регистрация: 19-07-06
Пользователь №: 18 920

|
firew0rker: Спасибо! с функцией parse_str POST заработал)
|
|
|
|
|
Aug 1 2013, 07:46
|
Группа: Новичок
Сообщений: 3
Регистрация: 31-07-13
Пользователь №: 77 751

|
Приветствую! Застрял в выборе модуля. Склоняюсь к SIM900R, но судя из документации он не поддерживает HTTP. Возможно я что то не так понял, подскажите - могу ли я с этого модуля слать POST/GET запросы на внеший вебсервер?
|
|
|
|
|
Aug 1 2013, 10:17
|
Группа: Новичок
Сообщений: 3
Регистрация: 31-07-13
Пользователь №: 77 751

|
это которые SIM900R [S2-1047P-Z093A/B04] ?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|