Easyelectronics.ru

Электроника для всех
Текущее время: 14 дек 2018, 06:24

Часовой пояс: UTC + 5 часов




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Подобрать языки и инструментарий для несложной задачи
СообщениеДобавлено: 19 июн 2018, 19:54 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 03 окт 2015, 15:48
Сообщения: 84
Откуда: Краскоярск
Заранее прошу прощения если топик не в том разделе - не мог подобрать более подходящий.

Нужно подобрать необходимые инструменты(языки, библиотеки) для написания браузерного веб-приложения, реализующего управление по интернету некоторым железом, подключенному через GPIO к микрокомпьютеру на котором стоит Linux.
Более подробно: есть железо(реле, нагреватель, датчик температуры), подключенное к микрокомпьютеру Orange Pi, который имеет доступ к интернету через usb модем. Будем считать что железо и апельсинка(orange pi) уже умеют общаться меж собой.
Микрокомпьютер периодически проверяет сервер/сайт/почту/облако в ожидании новых команд пользователя, получив которые пытается их выполнить и сообщает об успешности операции, а иногда просто передает данные о том что он жив цел орел. Юзер, в свою очередь, через сайт может отправлять команды железяке и смотреть её отчеты. Это необходимый минимум задачи.
Но хочется сразу взять инструмент имеющий возможность расширения, например над сайтом пользователя сделать обертку в виде андроид приложения, а железу помимо сообщений позволять передавать различную информацию, в том числе потоковое аудио/видео...
Пришел за советом, чтобы понять в каком направлении рыть.
Опыт только в С/С++, поэтому не знаю с какой стороны подойти к вопросу, что начать щупать, что читать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подобрать языки и инструментарий для несложной задачи
СообщениеДобавлено: 19 июн 2018, 20:00 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1813
Откуда: Харьков
Node Red - можно натыкать из блоков свою диаграмму процессов, ничего программировать скорее всего не придется.
Но можно там же и заскриптовать что-то не сложное.
Ну или если хочется совсем программировать то NodeJS
Не пробовал на апельсине, но на малине все отлично работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подобрать языки и инструментарий для несложной задачи
СообщениеДобавлено: 19 июн 2018, 21:07 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 03 окт 2015, 15:48
Сообщения: 84
Откуда: Краскоярск
alexsam писал(а):
Node Red - можно натыкать из блоков свою диаграмму процессов, ничего программировать скорее всего не придется.
Но можно там же и заскриптовать что-то не сложное.
Ну или если хочется совсем программировать то NodeJS
Не пробовал на апельсине, но на малине все отлично работает.

Огромное спасибо за инструмент, буду изучать) Подозревал что все уже придумано. Однако, интерес к задаче по большей части не практический а образовательный. Поэтому хотелось поизобретать велосипед, чего-нибудь низкоуровневого, но не слишком бородатого, из области клиент-серверных приложений, сокетов, Qt, html5, javascript... Был бы рад ссылкам на литературу, хотябы немного подходящую к этой задаче.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подобрать языки и инструментарий для несложной задачи
СообщениеДобавлено: 19 июн 2018, 21:12 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1813
Откуда: Харьков
Ну так пишите сервер на NodeJS - это серверный Javascript. Нужна будет клиентская часть - пожалуйста - Vue.js как самый простой и достаточно мощный JavaScript Framework для браузера.
Все в одном флаконе :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подобрать языки и инструментарий для несложной задачи
СообщениеДобавлено: 19 июн 2018, 21:19 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 03 окт 2015, 15:48
Сообщения: 84
Откуда: Краскоярск
alexsam писал(а):
Ну так пишите сервер на NodeJS - это серверный Javascript. Нужна будет клиентская часть - пожалуйста - Vue.js как самый простой и достаточно мощный JavaScript Framework для браузера.
Все в одном флаконе :)

Благодарю еще раз. Дали пищу для ума...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подобрать языки и инструментарий для несложной задачи
СообщениеДобавлено: 19 июн 2018, 21:59 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1813
Откуда: Харьков
Ну и для затравки, чтоб было понятно с чего начать и как правильно разделить всю систему на части чтоб потом меньше переделывать:
Серверная часть (без привязки к какой либо платформе и абстрактно от софта):
- Модуль для работы с железом (ваше приложение собирает данные с датчиков, обрабатывает и хранит их, посылает данные датчикам или что там у вас.)
- REST Модуль для работы с клиентским ПО (умеет принимать HTTP запросы, обрабатывать их и отдавать ответы.) Тут настоятельно рекомендую формат данных JSON если решите сделать как я писал выше. XML уже устарел как гуамно мамонта. Бинарные форматы в REST нет смысла.
- Модуль для обработки статического контента - умеет принимать HTTP запросы и отдавать статический контент.

Такая структура сервера поможет вам создать независимое клиент-серверное приложение где к серверу можно будет подключить не только HTML сайт, но и в дальнейшем приложение для смартфонов, но с ним я бы советовал заморачиваться в последнюю очередь. Все же для ваших задач хватит и обычной страницы HTML+JS как я писал выше.

Кстати посмотрите так же на OpenHAB там уже все есть и клиент и сервер, но это джава...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подобрать языки и инструментарий для несложной задачи
СообщениеДобавлено: 21 июн 2018, 14:21 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1286
Поддержу предложения alexsam. Разве что считаю, что для задачи ТС NodeJS - может слишком тяжело для OPi оказаться, да и излишне тут это имхо для задачи ТС. Тем более как я понимаю сбор данных от датчиков уже организован, надо лишь WebUI сделать.
В части этого посоветую ТС для начала почитать про модель MVC. Взять какой-нибудь фреймворк для JS и следовать туториалам для написания простенького интерфейса. Мне лично AngularJS+Bootstrap понравилось - современно и относительно просто. Первый основа и соб-но модель MVC, а Bootstrap - это для красивого UI. А для переключения релюхи на сервере и простенький шел-скрипт справится.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB