Страница 1 из 1
web server using MK
Добавлено: Вт авг 18, 2009 12:04:57
zebrox
Привет еще раз!
Есть устройство, оно настраивается через компорт, и через GPRS соединение. Появилась индея, сделать настройку через web. Благо в устройстве используется СИМ300 и в нем реализован TCPIP протокол, и его можно включить в режиме сервера.
Т.е. теоретически, нужно знать IP адрес этого устройства в сети можно напрямую через веб браузер на него коннектися, слать запросы и получать ответы. Думаю генерить страничку симом будет очень сложно, и думаю что нужно в нем сохранить JavaScript и при приходе запроста, он должен выдавать этот скрипт и передавать в него параметры, а скрипт уже на стороне браузера будет преобразовывать их в HTML табличку и отображать на єкране со всем форматированием и прочими наворотами.
Никто с таими задачами не сталкивался? Какие могут быть гипотетические подводные грабли?
Добавлено: Вт авг 18, 2009 23:02:05
Pe3ucTop
Сталкивался с подобным..
Гипотетические проблеммы - GPRS :
Я сталкивался с - нету определённого адресса (реального индивидуального), соединение из вне - невозможно.. т.е. надо делать что-то типа тунеля (устроиство коннектится куда-то) и далее через сетевые протоколы доступ к устроиству..
В остальном проблем не вижу, и помоему - завёрнуто - ява, ...
Простои конфигурационний интерфеис на HTML , а устроиство само уже обрабатывает тип запроса и передаваемые данные..
Добавлено: Вт авг 18, 2009 23:50:44
maglev
Pe3ucTop писал(а):Сталкивался с подобным..
Гипотетические проблеммы - GPRS :
Я сталкивался с - нету определённого адресса (реального индивидуального), соединение из вне - невозможно.
Зависит от GSM-оператора, иногда - услуга платная, насколько я знаю.
Автору: тут два подхода, либо генерировать HTML на сервере либо отсылать JavaScript, который сделает это на клиенте. Выбор зависит от сложности HTML-результата, но в большинстве случаев выгоднее отсылать готовый документ с сервера (с твоей железки) а не.
Добавлено: Ср авг 19, 2009 16:26:59
zebrox
Всем привет! Спасибо за ответы. На данный момент мучаюсь со следуюющим:
СИМ300, стартую сервер на СИМ300, узнаю его IP адрес, после этого в праузере пишу:
в итоге, на сим300 приходит следующий запрос:
Код: Выделить всё
RECV FROM:88.214.124.91:1158
GET /bbb HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shock
wave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application
/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-
xbap, application/x-ms-application, */*
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Pivim Multib
ar; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; .N
ET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Host: 94.153.110.251
Connection: Keep-Alive
REMOTE IP: 88.214.124.91
и что делать дальше мне совсем непонятно.
По индее мк должен дать ответ такого плана:
Но у меня не получается его даже отослать с сима!
на команду AT+CIPSEND получаю ERROR, пытаюсь установить соединение с браузером командой AT+CIPSTART в отоге сим не может подлкючиться к барузеру на его адрес и порт, застряет в стадии TCP CONNECTING, и потом вообще отваливается.
Какие должны быть последуюющие шаги, после прихода запроса от браузера?
Добавлено: Ср авг 19, 2009 16:30:37
zebrox
Pe3ucTop писал(а):нету определённого адресса (реального индивидуального), соединение из вне - невозможно..
А тут особЫх проблем нет вроде, сим может свой айпишник в смске пользователю скинуть...
Добавлено: Чт авг 20, 2009 00:30:40
zebrox
Вроде получилось!
1. командой AT+CIPSERVER=1 запускаем СИМ в режиме сервера
2. командой AT+CIFSR узнаем адрес СИМа например 94.128.15.210
3. в браузере пишем:
http://94.128.15.210:2020 (2020 это порт на который сим принимает входящие подключения в режиме TCP, можно сменить на 80 командой AT+CLPORT="TCP",80) клацкаем на Enter
4. На сим приходит запрос см.выше
5. командой AT+CIPCCON=2 включаем СИМ на передачу по серверному соединению
6. И передаем СИМу след. строку:
Код: Выделить всё
"HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: 105\r\n\r\n<html><head><title>TEST PAGE2</title></head><body><p>The general text continues 111....</p></body></html>"
В браузере наслаждаемся результатом!
Перед этим необходимо поменять поля Content-Length: 105 и <body> на то что нужно отобразить, а так-же HTTP/1.1 в зависимости от данных полученных в запросе.
Добавлено: Чт авг 20, 2009 01:54:31
Yellow Tiger
Можно попробовать обойтись вовсе без "Content-Length:" - он не всем нужен.