roboforum.ru

Технический форум по робототехнике.

Веб приложение + бесплатный хостинг

Веб приложение + бесплатный хостинг

Scorpio » 21 авг 2022, 05:28

Недавно понадобилось сделать простенькое WEB- приложение для учета размещения измерительных приборов на работе. Сама база приборов хранится на Firebase. С ней прекрасно работали приложения на винде и андроиде, но приспичило почему-то WEB. Видимо для обладателей айфонов, под которые я принципиально приложений не клепаю. Ну, как принципиально, не умею просто, а учится лень.
Для начала своял быстренько в VisualStudio на C# с автоматическим размещением на сервере MS Azure. Все бы хорошо, но через месяц жадные мелкосовтовцы начали снимать по 40$ в месяц, причем приложением изредка пользовались 5 человек. Посмотрел, что там предлагает Гугл, раз БД ихняя – оказалось тоже платно, да еще не так удобно как у MS.
С другой стороны, есть вполне себе не плохой Google Sites, позволяющий делать не сложные сайты, и вставлять в них, между прочим, JS. Работать с Firebase в скрипте одно удовольствие. Есть только одна загвоздка – скрипт грузится и исполняется на одной странице и любой ее пользователь может легко подсмотреть все пароли и явки базы данных, тем более, что сайт публичный. Просится какая-нибудь простенькая авторизация. Но как ее сделать, если нет серверной части? Я пока придумал такую шнягу: пользователь вводит пароль, который является куском ID основного скрипта, который загружается динамически с Google Drive. Т.о. код страницы не содержит полного пути к скрипту и прочитать его не возможно.
К чему это я… WEB – приложения полезная вещь для управления роботами, как и Firebase. Но, возможно вы знаете более удобные способы их создания и недорогого хостинга таких приложений, желательно без огромных усилий? В сети всего куча, но как то все муторно. А хочется тяп-ляп и готово.

Re: Веб приложение + бесплатный хостинг

setar » 21 авг 2022, 22:05

Ох чУдные вещи ты написал, прямо 90ми годами повеяло.
Я даже не буду писать о приложениях работающих распределенно на базе технологий криптоцепочки (не путать с криптомонетами).
Есть огромное количество современных фреймворков позволяющих очень быстро решить определенную задачу.
Они всяко разные, на любой вкус - вплоть до NodeRed позволяющая "программировать" набрасывая в рабочее пространство визуальные блоки и связывая их меж собой.
Есть готовые движки мониторинга и учета, в том числе бесплатные, тот же zabbix например.
Я бы рекомендовал не изобретать велосипед а прикрутить модуль к одной из таких систем и радоваться жизни.
Ну и насчёт хостинга - тут да, либо держим на арендованном месте и платим денежку (как правило VDS - выделенная виртуалку в сети с скромными параметрами стоит порядка 5USD в мес.), либо держим на своих ресурсах. Например у меня личное облако просто домой завернуто, через обычную провайдерскую сеть - мне хватает.

Re: Веб приложение + бесплатный хостинг

Scorpio » 22 авг 2022, 17:47

Ты будешь смеяться, но мир разработки WEB- приложений до сих пор был мне совершенно не интересен. И, если бы не пара практических задач по работе, возможно я бы так в 90х и остался :oops:
Создание приложения не проблема. Если спросить проще, то где-бы разместить одним кликом за небольшие деньги?

Re: Веб приложение + бесплатный хостинг

setar » 22 авг 2022, 18:17

Подскажу по поисковым фразам, услуга называется "VPS" иногда она же называется "VDS".
Поиск по бесплатным услугам этого класса выводит большое кол-во предложений.
Реальа ли халява и в чем подвох - спросите Вы.
Да реальна, у меня самого "где-то там" валяется несколько запущенных виртуалок которыми никто не пользуется.
Суть в том что это рынок услуг будущего и крупные компании, которым создание виртуалки автоматическим скриптом не стоит ничего - предоставляют халявный доступ пока что то не поменяется.
Как показывает практика для создания потребуется привязка активной карты, и работает все бесплатно пока не будет превышено одно из условий (а вот тут внимательно! у всех условия разные.).
Пока вы укладываетесь в заданные в бесплатность параметры (по трафику, кол-ву обращений, количеству записей на диск или еще какие либо параметры) - деньги не списываются.
И это обосновано, потому что для нормальной работы этого не достаточно. Как только пошла работа, ценник становится конским, гораздо выше чем прямая аренда такого же ресурса в этой же компании помесячно.

Re: Веб приложение + бесплатный хостинг

Scorpio » 22 авг 2022, 19:34

Спасибо зи инфу. Что то такое я себе и представлял.

Re: Веб приложение + бесплатный хостинг

Scorpio » 08 фев 2023, 02:01

В конце-концов решил проблему размещения WEB-приложений с помощью халявных гугл-сервисов: Google Site +JS (frontend) App Script + Google Sheets (backend). В качестве БД может использоваться и Firebase, но в таблице хранить данные даже удобнее. Скрипты могут находиться как в составе гугл-таблицы (типа VBA в Excel), так и отдельно. В WEB-приложение их превращает встроенная обработка GET и POST запросов. При публикации в качестве WEB-приложения, пользователь получает URL с длиннющим уникальным токеном, которому и надо отправлять запросы. Единственное, что мне не понравилось, что при малейшем изменении кода, надо заново публиковать, и, соответственно менять URL в клиенте. Написано, что в тестовых целях, можно использовать базовый URL скрипта, который не меняется, и всегда относится к последней версии кода. Но, в реальности он не работает. Зато старые версии продолжают работать параллельно с новыми, пока их не удалишь вручную. Количество скриптов вроде ничем не ограничивается.
В частности, понадобилось решить задачу визуализации на странице параметров работающих агрегатов ГЭС в реальном времени + позже добавили показания датчика загрязненности воды и текущий приток в реке с метеостанции. Штатно такие задачи решаются установкой WEB-сервера, связанного со SCAD ГЭС. Но у нас поставка этого ящика сильно задерживается. SCAD в целях безопасности работает только по локальной сети, без возможности выхода в интернет.
Что получилось:
Данные о параметрах агрегатов (напряжение на статоре, активная и реактивная мощность) беру с резервных счетчиков эл. энергии по протоколу MODBUS TCP/IP (стандартный промышленный протокол) через такую шнягу:
Shiaga.jpg

Это старенький TV-Box на Android 4.2, который долго валялся у меня без дела. Для этой задачи он хорошо подошел, т.к. имеет возможность подключаться к Ethernet через USB- адаптер и задавать статический IP. Т.о. одним портом смотрит в LAN и общается по MODBUS со счетчиками, а через WiFi попадает в интернет. Данные со счетчиков обрабатываются приложением на андроиде и передаются в Firebase для отображения в реальном времени. Параллельно передаются через App Script в Google Sheets для построения тенденций. Сайт, соответственно, подключается к Firebase для динамического отображения состояния агрегатов и к Google Sheets для отображения графиков по запросу. Приложение в шняге можно обновлять по WiFi (AirDroid). Питается от надежных 24В, и при перезагрузке, естественно, приложение самозапускается.
Показания с датчика загрязнения воды взял прямо с его выхода 4..20mA (врезался последовательно со штатным дисплеем). Через mA->V преобразователь кидаю в модуль ESP32, который шлет данные уже в другую таблицу, хотя м.б. слать и в ту же, просто на другую страницу.
И, наконец, данные о притоке в реке распарсиваются с сайта метеостанции.
В результате получилась такая схема:
diagrama.jpg

Довольно громоздко, но делалось постепенно, добавляя новые элементы.

Скромная страничка с отображением параметров и возможностью голосовой озвучки событий:
pagina.jpg


Для отображения графиков на странице, использую библиотеку google.charts. Можно вставлять графики прямо из таблицы, с библиотекой есть возможности масштабирования и т.п.
Chart2.jpg

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


Rambler\'s Top100 Mail.ru counter