Написать PWA заготовку приложения для Android

20 000 руб. за проект
30 сентября 2020, 10:31 • 3 отклика • 39 просмотров
Монопольное PWA с доступом к USB-UART FT232, BLE, SMS.
Запретить выход из PWA кнопками back, menu, list.
Автозапуск при включении, просыпании, всегда и везде, кроме настройки Wi-Fi, GSM.
Запретить удаление приложения.

Мы закупаем планшеты на Android у завода производителя и у нас есть максимальный доступ к ПО: root, кастомные прошивки и т.д. Мы будем зашивать своё приложение в планшет до продажи, и оно будет единственным ПО в нём. У нас есть приложение на Android+Java представляющее из себя полноэкранный webView, подключенный к USB выходу планшета.

Нам надо перевести приложение с Java+webView на технологию PWA. Перенос содержимого сделаем своими силами.

Нам требуется правильно с нуля сконфигурировать PWA и создать шаблон, на основе которого будет создано наше приложение.
Оно обязательно должно общаться через USB с драйвером COM порта FT232. Это может быть технология developer.chrome.com/apps/serial или другая.
И оно должно быть максимально монопольным и доминирующим.

В качестве дополнительных частей задания с отдельной ценой может быть подключение насоса Grundfos через BLE, подключение доступа к SMS, портирование на iOs, Windows, Linux, добавление в маркеты приложений.

Если технология PWA не позволяет всё это реализовать, но это можно сделать на базе https://github.com/mik3y/usb-serial-for-android , то напишите, сколько это будет стоить?



Что должно в итоге получиться:
На вашем или нашем хостинге развёртывается файл index.html примерно такого содержимого
<html>
<input onchange="yourResult.tx(this.value)"> для отправки сообщения в UART порт
<script>
yourResult.addEventListener('rx',(rx)=>console.log(rx));//для приёма сообщения из UART порта
</script>
</html>

Этот скрипт открывается в Android браузере. Он должен:
1. Установиться как приложение перед продажей клиенту.
Далее у клиента:
2. Не закрываться по кнопкам back, menu, list (которые всплывают снизу).
3. Автозапускаться при перезагрузке планшета.
4. Просыпаться при пробуждении планшета.
5. Перезапускаться при зависании.
6. Запускаться при подключении устройства по USB-UART.
7. Пользователь не должен случайно удалить этот скрипт.
8. Работать полноэкранно, но чтобы сверху можно было опустить меню с Wi-Fi, BLE, яркостью экрана.
9. Анализировать UART сообщения во сне и пробуждаться по необходимости.
10. Уметь засыпать.
11. Уметь считывать заряд батареи.
12. Уметь считывать заряжается ли планшет.
13. Уметь управлять яркостью подсветки экрана.

Если всё сделать невозможно или какой-то пункт стоит дорого, или это надо делать по другой технологии, напишите, пожалуйста, об этом отдельно.