Конференция "Прочее" » Читать COM-порт, передавать в RRD-Tools и генерировать HTML
 
  • NailMan © (19.06.16 23:13) [0]
    Оч давно не не программировал в Дельфи(крайний раз году в 2006-2007 наверно, еще в D6) и то было под DX9. Потому муки выбора в чем проще всего сделать демона под Windows Server 2008 R2.

    Будет решаться следующая задача: проектируется некий девайс-контроллер домашнего размещения. Девайс что то типа контроллера умного дома, на Arduino Due(ARM32). Девайс будет собирать много всяких данных с датчиков и управлять некоторыми девайсами по беспроводу(БТ или 2.4ГГЦ линки). При этом параметры окружающей среды с нескольких датчиков(порядка 8 разных типов) нужно передавать через COM-over-IP интерфейс на домашний сервер на Винде где средствами IIS поднят веб-сервер и крутится страничка. Для этого в девайсе-контроллере будет иметься модуль Serial-over-IP и ответное ПО для связи ПК с этим модулем. Демон должен принимать с виртуального COM-порта данные, генерировать HTML-банер с текущими параметрами датчиков, которые можно будет увидеть на домашнем веб-сайте. Также будет развернута RRD-Tools for Windows для сбора статистики по датчикам и формирования графиков, куда надо также передавать считываемые данные.

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

    Формат передачи через COM-over-IP я могу сделать любой удобный - устройство целиком мое. Соотвественно на чем дельфеподобного проще всего реальзовать данный демон?
  • iop © (19.06.16 23:23) [1]
    которые можно будет увидеть на домашнем веб-сайте.

    Логичный вопрос напрашивается
    Зачем здесь (в умном доме) делфи а значит и винда на PC?
  • NailMan © (19.06.16 23:30) [2]
    Ну пока мне надо сделать тот функционал что я написал. Мне не надо делать аналоги умного дома, мне надо сделать погодную станцию с обратной связью на некоторые исполниловки - это все я реализую средствами Arduino IDE и их контроллеров, а для выгрузки данных HTML баннер, надо чем то его сгенерировать на Windows Server, который у меня крутится на домашнем HP Microserver Gen8. Дельфи(pascal) я знаю, С-подобный Arduino кое как знаю, другое не знаю. надо сделать на том что знакомо, потому и Дельфи на винде. :)
  • megavoid © (20.06.16 00:40) [3]
    Зачем городить ещё одного демона, если уже есть TCP/IP и IIS? Добавьте лучше к контроллеру модуль ESP8266 и передавайте сразу по сети. Ещё существует ардуино-совместимая плата Wemos D1 - это тот же самый 8266, уже распаянный заместо атмеги, полностью эмулирует ардуину, только на 80 МГц с 1 Мб оперативки, есть либы tcp/udp-клиента и сервера.

    PS Забавная штука эта ардуина :)
    http://imgur.com/JUaz9py - использовал обычный TComPort, без всякой магии :)
  • ttUser © (20.06.16 00:48) [4]
    Удалено модератором
  • NailMan © (20.06.16 10:05) [5]
    > [3] megavoid ©   (20.06.16 00:40)
    > Зачем городить ещё одного демона, если уже есть TCP/IP и
    > IIS? Добавьте лучше к контроллеру модуль ESP8266 и передавайте
    > сразу по сети.

    Интересная штука, надо будет попробовать, но модули USR-TCP232-T у меня уже несколько штук есть и их применение на станции обусловлено применением в других будущих проектах. Станция является как бы отладочным стендом для подобных вещей. Потому применять придется все таки его(Serial-over-ethernet). Фикус тут в том что генерировать телеметрию на устройстве и передавать на большой сервер для сбора статистики, плюс управлять мелочами извне с веба. Это так сказать проба интернета вещей в том числе и по работе нужного. Для меня это пока личный экспириенс.

    Попробую TComPort, повспоминаем Дельфи :-)


    > Хотел поофтопить - а на что соскочил с дельфи?

    А ни на что, разве что на C++ в рамках Arduino IDE. Просто тема игр и мультимедии ушла от меня в сторону авиамоделей, а тот космосим что я делал на дельфи и DX реализовали более чем полностью в Elite: Dangerous в которую я также и играю. Контроллеры меня заинтересовали больше с практических применений - для моделей заменяю на базе ардуинт всякие электронные штуки. В планах сделать на ARM32 контроллер на арамодель с постоянным выходом в инет(на мой вебсервер) для трансляции телеметрии(координат и еще 20 параметров). Выход через GPRS. Плюс 3 дисплейная индикация на приборную панель.
  • iop © (20.06.16 10:39) [6]
    к иису прикручивается либо php и компорт юзается оттуда.
    либо тоже самое через asp на vbs
    помойму городить свой сервис это лишнее.
    к тому же его обеими концами надо будет вязать.
    одним концом к компорту, вторым концом к иису
  • virex(home) © (20.06.16 11:24) [7]
    >NailMan ©   (19.06.16 23:30) [2]
    а для выгрузки данных HTML баннер, надо чем то его сгенерировать на Windows Server, который у меня


    arduino mega server
  • NailMan © (20.06.16 11:36) [8]
    > [6] iop ©   (20.06.16 10:39)
    > к иису прикручивается либо php и компорт юзается оттуда.
    > либо тоже самое через asp на vbs
    > помойму городить свой сервис это лишнее.
    > к тому же его обеими концами надо будет вязать.
    > одним концом к компорту, вторым концом к иису

    А зачем его к ИИСУ коннектить? Я буду генерить статичную страничку(и рендерить картинку-баннер навроде счетчика на сайтах) - статичная страница HTML доступна напрямую со всеми данными, а JPG баннер доступен с основной страницы сайта на WordPress сделанном, кликнул на него и попал на статичную страницу где все расширенные функции. Раз в 30 сек обновлять баннер и страницу HTML никаких коннекторов в IIS/PHP не надо.

    Вот в обратную сторону надо думать уже, но пока надо осваивать все от простого к сложному. Я этот принцип на ардуинах освоил - если сразу воротить по полной, оно завязнет сразу.
  • iop © (20.06.16 14:00) [9]
    Я буду генерить статичную страничку

    В смысле?

    ну вот зашел я на иис посмотреть что там делается.
    а под ним лежит полтора часа назад сделанная сервисом страница?

    мда.....
  • KSergey © (20.06.16 16:54) [10]
    Если только я ничего не путаю.
    На Delphi делается обычный консольный exe-шник
    Только в стандартный поток вывода он должен отдать gif-картинку с верный для Web-сервера заголовком.
    Где-то дома есть тестовое задание для кого-то, ровно вот "отдать картинку для IIS", это будет CGI-интерфейс.
    Далее обращается просто по адресу
    http://мойумныйдом.рф/getpic.exe

    Заметьте, обычное консольное приложение! никакой не сервис.

    Ну или как ISAPI, по идее должно получиться, может даже лучше
    https://habrahabr.ru/sandbox/23103/
    http://www.webdelphi.ru/2012/08/windows-7-x64-iis-isapi-i-datasnap-xe2-v-kartinkax/
  • KSergey © (20.06.16 16:55) [11]
    > Далее обращается просто по адресу
    > http://мойумныйдом.рф/getpic.exe

    Это в смысле если мы просто хотим картинку получить в браузер.
    Можно, конечно, сделать html-страничку, в которую эта картинка будет встроена
  • KSergey © (20.06.16 16:58) [12]
    До кучи: не забыть верно проконфигурировать IIS для запуска cgi
    https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/bc0c4729-e892-4871-b8f3-fcbf489f2f09.mspx?mfr=true
 
Конференция "Прочее" » Читать COM-порт, передавать в RRD-Tools и генерировать HTML
Есть новые Нет новых   [134432   +19][b:0][p:0]