Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2017.10.15;
Скачать: [xml.tar.bz2];

Вниз

Читать COM-порт, передавать в RRD-Tools и генерировать HTML   Найти похожие ветки 

 
NailMan ©   (2016-06-19 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 ©   (2016-06-19 23:23) [1]

которые можно будет увидеть на домашнем веб-сайте.

Логичный вопрос напрашивается
Зачем здесь (в умном доме) делфи а значит и винда на PC?


 
NailMan ©   (2016-06-19 23:30) [2]

Ну пока мне надо сделать тот функционал что я написал. Мне не надо делать аналоги умного дома, мне надо сделать погодную станцию с обратной связью на некоторые исполниловки - это все я реализую средствами Arduino IDE и их контроллеров, а для выгрузки данных HTML баннер, надо чем то его сгенерировать на Windows Server, который у меня крутится на домашнем HP Microserver Gen8. Дельфи(pascal) я знаю, С-подобный Arduino кое как знаю, другое не знаю. надо сделать на том что знакомо, потому и Дельфи на винде. :)


 
megavoid ©   (2016-06-20 00:40) [3]

Зачем городить ещё одного демона, если уже есть TCP/IP и IIS? Добавьте лучше к контроллеру модуль ESP8266 и передавайте сразу по сети. Ещё существует ардуино-совместимая плата Wemos D1 - это тот же самый 8266, уже распаянный заместо атмеги, полностью эмулирует ардуину, только на 80 МГц с 1 Мб оперативки, есть либы tcp/udp-клиента и сервера.

PS Забавная штука эта ардуина :)
http://imgur.com/JUaz9py - использовал обычный TComPort, без всякой магии :)


 
ttUser ©   (2016-06-20 00:48) [4]

Удалено модератором


 
NailMan ©   (2016-06-20 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 ©   (2016-06-20 10:39) [6]

к иису прикручивается либо php и компорт юзается оттуда.
либо тоже самое через asp на vbs
помойму городить свой сервис это лишнее.
к тому же его обеими концами надо будет вязать.
одним концом к компорту, вторым концом к иису


 
virex(home) ©   (2016-06-20 11:24) [7]

>NailMan ©   (19.06.16 23:30) [2]
а для выгрузки данных HTML баннер, надо чем то его сгенерировать на Windows Server, который у меня


arduino mega server


 
NailMan ©   (2016-06-20 11:36) [8]

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

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

Вот в обратную сторону надо думать уже, но пока надо осваивать все от простого к сложному. Я этот принцип на ардуинах освоил - если сразу воротить по полной, оно завязнет сразу.


 
iop ©   (2016-06-20 14:00) [9]

Я буду генерить статичную страничку

В смысле?

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

мда.....


 
KSergey ©   (2016-06-20 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 ©   (2016-06-20 16:55) [11]

> Далее обращается просто по адресу
> http://мойумныйдом.рф/getpic.exe

Это в смысле если мы просто хотим картинку получить в браузер.
Можно, конечно, сделать html-страничку, в которую эта картинка будет встроена


 
KSergey ©   (2016-06-20 16:58) [12]

До кучи: не забыть верно проконфигурировать IIS для запуска cgi
https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/bc0c4729-e892-4871-b8f3-fcbf489f2f09.mspx?mfr=true



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2017.10.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.004 c
4-1284236390
korbin dalas
2010-09-12 00:19
2017.10.15
Как определить с какими параметрами запущено ЧУЖОЕ приложение?


15-1466367185
NailMan
2016-06-19 23:13
2017.10.15
Читать COM-порт, передавать в RRD-Tools и генерировать HTML


15-1466356269
DayGaykin
2016-06-19 20:11
2017.10.15
Доказать или опровергнуть, что


15-1466199000
Юрий
2016-06-18 00:30
2017.10.15
С днем рождения ! 18 июня 2016 суббота


15-1466285401
Юрий
2016-06-19 00:30
2017.10.15
С днем рождения ! 19 июня 2016 воскресенье





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский