Javascript-форум (https://javascript.ru/forum/)
-   Гаджеты (https://javascript.ru/forum/gadgets/)
-   -   Какой интерфейс выбрать для общения мобильного веб и гаджета на микроконтроллере? (https://javascript.ru/forum/gadgets/82940-kakojj-interfejjs-vybrat-dlya-obshheniya-mobilnogo-veb-i-gadzheta-na-mikrokontrollere.html)

Was-Ja 09.08.2021 16:08

Какой интерфейс выбрать для общения мобильного веб и гаджета на микроконтроллере?
 
Добрый день,

есть прототип маленького безбатареечного и дешевого гаджета, который хочется подружить с мобильником.

На гаджете формируются данные (что-то типа видео) и их надо передавать на мобильник.

На мобильнике будет простой веб интерфейс, которые эти данные будет зачитывать, передавать в веб ассембли, обрабатывать, и отображать на самом мобильнике. На вебассембли я на хороших мобильниках 500+ МФлоп/с на двойной точности получаю и мне этого хватит.

Мне хочется, чтобы это все работало везде на современных мобильниках, и только по проводу, по которому бы еще мой гаждет питался с батареи мобильника.

Трафик из мобильника на гаджет - несколько байт несколько раз в секунду (управление), а из гаджета на мобильник - около 100-200кбайт в секунду.

Также очень желательно, чтобы можно было бы подцепить два гаджета через разветвитель на один мобильник.

По финансовым причинам (стоимость компонент и энергопотребление) не хотелось бы иметь линукс борду внутри гаджета и батарейку внутри гаджета. WiFi в гаджете тоже очень не желательно иметь, ибо похоже сильно шумит в микроволновом диапазоне и мне это очень не желательно.

Скажите, пожалуйста, какой USB интерфейс для этого использовать?

Спасибо!

Was-Ja 10.08.2021 00:16

Скажите, пожалуйста, правильно ли я понимаю, что WebUSB на хроме будет на всех платформах поддерживаться?

SuperZen 10.08.2021 14:03

https://caniuse.com/webusb

Was-Ja 10.08.2021 15:03

Спасибо SuperZen, за ссылку, я ее видел, но из нее не понятно, что твориться на "Chrome on IOS" - кто-то говорит, что надо читать

Chrome on IOS = Chrome,

а кто-то совсем по-другому думает.

Я пробовал на

https://live.browserstack.com

воткнуть хром на АйФон 12, и посмотреть страницу https://whatwebcando.today

там получается, что USB не поддерживается.

То есть я совсем запутался и хочу адекватного и надежного ответа.

Идеально если бы кто-то у кого есть АйФон просто бы залез на https://whatwebcando.today и посмотрел бы поддерживается ли USB или нет.

Спасибо!

SuperZen 10.08.2021 16:28

хз че там можно на вебассембли писать, главное чтобы весь tick ) не съел interop

с телефоном много приключений будет тоже (батарея, фоновый процесс + sleep и т.д.)

https://developer.android.com/guide/...ivity/usb/host
https://developer.apple.com/documentation/iousbhost

эпл в сафари не хочет вставлять WebUSB APi, может по этом не работает:
https://www.zdnet.com/article/apple-...vacy-concerns/

на андроиде WebUSB API, тоже стоит проверить, (https://stackoverflow.com/questions/...through-webusb) вроде работает

еще есть такая хрень:
https://developer.mozilla.org/en-US/...Web_Serial_API

вывод: для iphone надо писать нативное приложение ;)

Was-Ja 10.08.2021 16:55

Спасибо SuperZen, за ответ!

Да, WebUSB, WebSerialAPI у меня на уровне чужих примеров работают. Сам их еще не писал. ВебАссембли показывает обалденные результаты по скорости на современных мобильниках. Грубо говоря, на МИ10 я получаю 600МФлопс в вебассембли на самописных тестах, в то время как в ембеддед двухядерном кортексе за 100 бакс нативно и хорошо распараллеленный С показывает те же 300МФлос с каждого ядра, то есть 600МФлопс с двух, поэтому использовать мобильник для расчетов похоже очень удобно.

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

В то же время, гаджетная часть собрана и более-менее работает, на вебассембли что-то я смог сделать, а софта самописного у меня туча готового и оно по крайней мере в вебассембли компилится.

То есть мне надо просто найти правильный интерфейс для коммуникации микроконтроллера с мобильником/планшетом/компьютером на котором в браузере живет очень простая веб морда с достаточно тяжелыми вычислительными вставками на вебассембли.

Как я понимаю, WebUSB работает во всех Хромах кроме АйФонов. В них - я так и не понял, работает или нет.

Кроме WebUSB/USB-HID/SerialAPI вообще не вижу альтернативы. Надо понять, что из этого таки работает на АйФонах и начать действовать.

SuperZen 11.08.2021 12:17

https://www.nxp.com/design/software/...it-sdk:MFI-SDK

https://mfi.apple.com/
https://mfi.apple.com/en/how-it-works.html

https://e2e.ti.com/support/microcont...ith-msp4305529

- тут более ясно
https://developer.apple.com/forums/t...4022#623704022

короче, надо вступать в секту за бабос, потом тебе дадут devkit )

SuperZen 11.08.2021 17:17

https://stackoverflow.com/a/42922415/5452993 - ) надо проверять


Часовой пояс GMT +3, время: 11:33.