Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

http сървер, може би
http://mcu-bg.com/mcu_site/viewtopic.php?f=16&t=14116
Страница 1 от 1

Автор:  stefan63 [ Сря Окт 21, 2015 7:29 pm ]
Заглавие:  http сървер, може би

Имам "C" написано приложение на Уиндоус- получава данни от няколко устройства . Приложението може да работи като сървер - например за същото приложение , търсещо устройствата на адреса/порта на първото приложение - тоест имам някакви сървер и клиент сокети работещи. Оказа се ,че ще е добре да
мога да покажа данните на екрана на браузер. Данните са 50-60 променящи се числа/стринга.
Някой да има идея за бързо и лесно вграждане на http сървер?

Автор:  timt [ Сря Окт 21, 2015 7:45 pm ]
Заглавие:  Re: http сървер, може би

По скоро ти трябва скрипт за хтмл който слуша сървъра

Автор:  sparkybg [ Сря Окт 21, 2015 9:43 pm ]
Заглавие:  Re: http сървер, може би

Аз нищо не разбрах от въпроса, освен че искаш да вграждаш сървър в нещо.

Автор:  palavrov [ Сря Окт 21, 2015 9:51 pm ]
Заглавие:  Re: http сървер, може би

Виж монгоозе - https://github.com/cesanta/mongoose (лиценза му е малко ГПЛ - но има и форк откакто беше с МИТ лиценз де https://github.com/civetweb/civetweb )
След това правиш HTTP JSON REST API - имплементира се сравнително лесно на сървъра.
И някакъв JS framework който да работи в браузъра със съответната поддръжка на JSON REST (angular например).

Автор:  TheWizard [ Чет Окт 22, 2015 5:27 pm ]
Заглавие:  Re: http сървер, може би

Apache-PHP-MySQL
device: HTTP SEND/POST
по лесно и бързо - няма

Автор:  TheWizard [ Чет Окт 22, 2015 5:29 pm ]
Заглавие:  Re: http сървер, може би

TheWizard написа:
Apache-PHP-MySQL
device: HTTP SEND/POST
по лесно и бързо - няма


PS: до колкото разбрах имаш няколко устройства дето мятат данни към "сървър"

Автор:  stefan63 [ Чет Окт 22, 2015 9:52 pm ]
Заглавие:  Re: http сървер, може би

Цитат:
Apache-PHP-MySQL
device: HTTP SEND/POST
по лесно и бързо - няма

PHP-MySQL съм ги чувал, Apache и HTML- по-често. :D

Имам няколко у-ва ,по сериен канал през конвертори към етернет пращат данни, намират се в един шкаф . На устройствата не мога да им добавям кой знае какво.
Писал съм програма С/ под Win/. Програмата пише по диска, визуализира данните , работи и като сървер за свое копие - клиент през сокети.
Дотук добре. В контролната стая на обекта - обаче- един огромен шкаф с контактори и контролери. Операторът има един комп/екран - гледа на браузер картинка за състоянието - някакъв вид SCADA картинка. /Интересно, в шкафа сякаш има два контролера, приличащи на нещо като Бигълборд или нещо подобно./ Не зная дали компютърът търкаля някаква SCADA или само браузер.
Компът е с Линукс .Имам 2 опции - прекомпилирам за Линукс (никога не съм го правил) или слагам още един комп . Засега ще в втората, и ми се ще на онзи браузер в друг подпрозорец да се виждат и моите данни. Програмата ми сглобява една проста html страница на всеки няколко секунди и я презаписва на диска, пуснах сървер "miniweb"
да я праща на браузерите и засега това е решението. Много е постна страницата - няколко правоъгълника с текстове и числа , но засега толкова разбирам. Другото, което ме дразни - че ползвам външен сървер за такава проста задача , данните трябва да ги записвам като файл, не виждам как чрез тоя външен сървер мога да предам обратно - от браузера към моята програма. Та това ме мъчи...

Автор:  palavrov [ Пет Окт 23, 2015 10:30 am ]
Заглавие:  Re: http сървер, може би

Не ти е сложен проблема, но си иска да инвестираш малко в разучаване как да стане. Вградени C сървъри има колкото искаш (освен mongoose/civetweb който вече ти препоръчах). Харесваш си един, линкваш го към твоята програма и след това:
- правиш една папка със статични HTML, Javascritp, CSS, JPEG, PNG и т.н. файлове които ще се пращат на браузъра - по същество това си е един веб сайт.
- добавяш колкото трябва REST routings за твоите данни т.е. конфигурираш вградения веб сървър ако дойде HTTP GET заявка на адрес /api/data да си изсмуче от пръстите каквито данни ще връщаш в JSON формат. Може да ползваш и по сложни/мощни технологии като WebSockets но там е друга бира.
- правиш си един index.html в който общо взето съдържа това което и сега записваш във този HTML файл, с разликата, че добавяш един таймер да обновява данните на всеки няколко секунди първо прочитайки от /api/data. Има доста JS frameworks които да ти направят живота лесен, но всички искат учене в началото. Аз лично харесвам AngularJS защото прави така наречения data binding и като прочетеш някакви нови данни просто ги присвояваш на една променлива, пък той автоматично си ги разнася по DOM където си му казал. Айде и един пример да дам за да стане по ясно:

JSON
Код:
{
  name: "Машина 1",
  rows: [
    { name: "Термометър 1", value: "12.3" },
    { name: "Термометър 2", value: "23.4" }
  ]
}

JS
Код:
   $interval(function(){
    $http.get("/api/data").success(function(new_data) {
       $scope.data = new_data;
    }.bind(this);
   }, 5000).bind(this);


HTML
Код:
<h1>{{data.name}}</h1>
<table>
  <tr ng-repeat="row in data.rows">
    <td>{{$index+1}}</td>
    <td><input type="text" ng-model="row.name"/></td>
    <td><input type="number" ng-model="row.value"/></td>
  </tr>
</table>

Автор:  TheWizard [ Пет Окт 23, 2015 4:47 pm ]
Заглавие:  Re: http сървер, може би

а ако са ти неиндексирани данните просто ги пращаш(HTTP-POST) разделени със запетайка да избегнеш JSON-a:

POST /path/index.php HTTP/1.0
User-Agent: HTTP/1.0
Content-Type: application/blah
Content-Length: bytes

DevID=9876&value1=123&value2=3
или RAW data
DevID:value1,value2,value3.....

или HTTP-SEND
http://server/?DevID=9876&value1=123&value2=3

Страница 1 от 1 Часовете са според зоната UTC + 1 час [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/