Перейти к содержанию
    

Как просто перенести С программу на мобильник

3 minutes ago, jcxz said:

Это бинарный траффик? Без ASCII-кодирования?

да, бинарный

3 minutes ago, jcxz said:

Если сомневаетесь, что даже с таким траффиком МК справится, то о каких ява-скриптах (которые работают с JSON?) или о каком HTTPS вообще можно говорить (да ещё видимо без аппаратного модуля шифрования?) ? Их тогда уже однозначно не потянет.

так как там везде мой софт, я конечно могу сам это бросать в какие-то простые структуры на JSON, но конечно же они в 8/6 будут больше, то есть будет примерно 1.5мбит/с. Процессор такое преобразование однозначно потянет. А вот с шифрованием - боюсь, что ноль шансов.

Я собственно и из-за этого хотел по шнурку передавать, мне казалось, что всякие USB-HID такую скорость на раз тянут. Жалко, что это нельзя просто так воткнуть в веб интерфейс или в ВебАссембли из-за тотальной несовместимости таких USB решений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата

А вот с шифрованием - боюсь, что ноль шансов.

Всё-таки: Вам лучше уточнить реальную необходимость HTTPS. Что-то я сомневаюсь насчёт невозможности HTTP с современного телефона (завтра проверю на своём).

Да и по свободным вычислительным ресурсам МК вы ничего не сказали: сколько МИПСов свободно на МК? есть-ли модуль аппаратного шифрования в МК?

 

PS: Полезно почитать эту тему: 

там есть про ресурсы, необходимые для шифрования (программного). Есть результаты тестов на Cortex-M4.

AES128 немного меньше грузит CPU чем AES256, примерно в ~1.4 раза.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, jcxz said:

Всё-таки: Вам лучше уточнить реальную необходимость HTTPS. Что-то я сомневаюсь насчёт невозможности HTTP с современного телефона (завтра проверю на своём).

среди жаваскриптчиков бытует мнение, что пока можно без HTTPS, но уже совсем скоро будет нельзя. На моем старом мобильнике все работает и так и так, а на довольно свежем мобильнике надо долго искать опцию, которая разрешает работать без шифрования. Но она пока есть, но, говорят, что ее скоро будут отключать.

 

4 minutes ago, jcxz said:

Да и по свободным вычислительным ресурсам МК вы ничего не сказали: сколько МИПСов свободно на МК? есть-ли модуль аппаратного шифрования в МК?

аппаратное шифрование есть. Свободной памяти почти нет, свободных вычислительных ресурсов тоже почти нет. Можно конечно попытаться поменять форматы и данных и что-то посылать по-другому, возможно это и трафик уменьшит, и немного ресурсов освободит, но там работы на 2-3 месяца. Не хотелось бы в это ввязываться, если нет уверенности, что это действительно нужно.

 

Может все-таки есть какая-то простая USB софтина, компатибильная со всеми мобильниками, которая бы обычный HID девайс перетранслировала бы в какой-то интерфейс, который можно было бы испльзовать в Javascript?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 minutes ago, iiv said:

Может все-таки есть какая-то простая USB софтина, компатибильная со всеми мобильниками, которая бы обычный HID девайс перетранслировала бы в какой-то интерфейс, который можно было бы испльзовать в Javascript?

https://whatwebcando.today/

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

если нужны айфоны, то либо изображать на МК MTP хоста, писать файлы (хотя тут эплом грабли могут быть разложены) и из js через FileAPI,

либо блютус гарнитурой прикинуться и слать данные как аудио, по другому не могу придумать.

если айфоны не нужны, то вот мой древний сяоми на этом сайте показал что в webusb он умеет, то есть можно просто воткнуть hid как есть и читать/писать и js.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

говорят, что даже айфоны с хромом на раз работают по WebUSB, а последнее вроде как раз нативно SAMD51 поддерживается. Правда я не знаю на какой скорости можно там обмениваться.

 

Хотя я может и погорячился, сейчас попробовал воткнуть в 12 айфон на сайте

https://live.browserstack.com

указанную _pv ссылку

https://whatwebcando.today

хоть в хроме, хоть в сафаре USB / WebUSB там показывается как не доступное.

 

То есть если кто-то с форума с айфоном смог бы проверить и рассказать здесь работает ли у него по ссылке USB, я был бы очень-очень благодарен!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 часов назад, iiv сказал:

среди жаваскриптчиков бытует мнение, что пока можно без HTTPS, но уже совсем скоро будет нельзя. На моем старом мобильнике все работает и так и так, а на довольно свежем мобильнике надо долго искать опцию, которая разрешает работать без шифрования. Но она пока есть, но, говорят, что ее скоро будут отключать.

Честно говоря - не знаю что у вас с мобильником, но я только что проверил на своём андроиде в 3-х разных браузерах (предварительно специально их обновил до последних версий) - везде без проблем открылась HTTP-страница с моего устройства. Аналогично - с 4-х разных браузеров с компа. Никаких галок/опций не ставил - и так всё работает. Один браузер (на тел) только что специально поставил, с дефолтными настройками.

Посему: проблема мне кажется надуманной.

А то, что кто-то там что-то думает, в своей песочнице, так это его личное мнение. Мне видится крайне сомнительным чтобы вот так просто - взяли и отрубили огромное число HTTP-серверов в разных прикладных областях. Гораздо скорее WebUSB (или любое узкозаточенное экзотическое решение) сдохнет, чем используемый кучей народу HTTP. Как раз при испльзовании чего-то экзотического, следует опасаться что оно может прекратить работу в любой момент. Чем экзотичнее - тем ненадёжнее....

 

PS: Посему - оптимальным решением в вашем случае мне видится на МК HTTP-сервер с чем-то вроде SHOUTcast-протокола.

PPS: Да, и кстати - даже при использовании шифрования, AES не требует сколько-нибудь значимых объёмов ОЗУ для своей работы. Достаточно рабочих переменных в несколько десятков байт. Этап соединения конечно более прожорлив, но при желании думаю тоже можно сильно урезать (особенно если выкинуть фазу проверки сертификатов сервера) и ограничить число вариантов шифрования/хеширования и т.п. одним единственным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, jcxz said:

Честно говоря - не знаю что у вас с мобильником, но я только что проверил на своём андроиде в 3-х разных браузерах (предварительно специально их обновил до последних версий) - везде без проблем открылась HTTP-страница с моего устройства. Аналогично - с 4-х разных браузеров с компа. Никаких галок/опций не ставил - и так всё работает. Один браузер (на тел) только что специально поставил, с дефолтными настройками.

похоже Латвия с Германией в этом плане сильно отличаются. Я живу в Германии. Последние 3-4 года все мобильники, которые у меня в семье покупались (их больше 5 было, самсунги и редми) рисовали страшненькую красную мигающую рамку с фразой "уходим отсюда" если соединение шло не по HTTPS протоколу. Ггде-то с начала пандемии большинство немецких провайдеров перестало даже е-мейлы принимать с моего хостинга, где не было тогда HTTPS, поэтому мне быстро пришлось перестроиться и поднять летсэнкрипт с HTTPS. Кстати и десктопные браузеры то же самое делают, по крайней мере в новой убунте. Я прекрасно понимаю, что исправив в настройке мобильника можно отключить это предупреждение, и обычно я так и делаю, но не все это делают. Возможно когда Вы покупаете компьютеры и мобльники у себя в Латвии, то настройки по умолчанию у Вас отличаются от того, что продается в Германии.

 

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

 

Мой вопрос

остается, у кого АйФон, проверьте, пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

51 minutes ago, iiv said:

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

 

остается, у кого АйФон, проверьте, пожалуйста.

у какого процента владельцев айфона хром установлен вместо сафари? в котором webusb точно не заведётся.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 minutes ago, _pv said:

у какого процента владельцев айфона хром установлен вместо сафари? в котором webusb точно не заведётся.

Согласен с Вашими доводами, _pv!

 

Если судить по глобальной статистике на https://caniuse.com/webusb сафари пользует около 20% всех интернет пользователей. В моей целевой аудитории (университетские работники - химики) АйФон, как я понимаю, встречаются чаще, и я прекрасно понимаю, что у пользователей АйФона почти 0% тех, у кого стоит Хром - это совсем не в их концепции. Те, кто ставят Хром, не покупают АйФоны.

 

С другой стороны, я бы по крайней мере при загрузке с Сафари мог бы сообщать, что работать не будет, и надо переходить на Хром. Предполагаю, что это будет гораздо более позитивно действовать на пользователя, чем предупреждение "валим отсюда" при заходе по обычному HTTP. И с Сафари можно было бы оффлайн по крайней мере работать, когда данные с гаджета сняты, и их надо только визуализировать.

 

Как по мне, если все-таки WebUSB поддерживается в Хроме на АйФонах, мне будет несказанно проще (как я понимаю) сразу затянуть данные из ItsyBitsy M4 в веб интерфейс. Тогда я бы смог бы утверждать, что работает на всех платформах, но на АйФонах надобно Хромом для этого пользоваться.

 

В противном случае мне светят реальные пляски с бубном по подцеплению мак адресов в разных роутерах и подсистемах, установки SSL, и еще куча всяких разностей, которые отъедят у меня несколько месяцев железячной и софтверной разработки да существенно повысят конечную себестоимость продукта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, iiv сказал:

Как по мне, если все-таки WebUSB поддерживается в Хроме на АйФонах, мне будет несказанно проще (как я понимаю) сразу затянуть данные из ItsyBitsy M4 в веб интерфейс. Тогда я бы смог бы утверждать, что работает на всех платформах, но на АйФонах надобно Хромом для этого пользоваться.

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

Это имхо намного хуже, чем какое-то предупреждение о HTTP, которое легко можно отключить. Тем более для людей с высшим образованием (университетским) это не должно быть проблемой.

 

А если такой вариант: Заводите где-то в сети сервер, на нём открываете TCP-сокеты для каждого из своих устройств (пользователей). Пользователи коннектятся и передают данные на этот сервер по обычным TCP-сокетам (хоть с шифрованием хоть без). А уже к нему отдельно цепляется клиент (браузер) по HTTPS, для отображения этих данных. Сервер всегда онлайн.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 minutes ago, jcxz said:

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

Согласен с Вашей позицией, и, если бы не грабли в других решениях, давно бы отказался от этой затеи.

13 minutes ago, jcxz said:

Заводите где-то в сети сервер, на нём открываете TCP-сокеты для каждого из своих устройств (пользователей).

Спасибо! Но я уже пробовал обсуждать с потенциальными заказчиками такое решение. Такое решение не будет работать. Много моих потенциальных пользователей работает за файерволами, некоторые вообще с отключенным интернетом. Им нужно, чтобы моя железка работала автономно от всего внешнего мира. Я из-за этого сильно приплясывал, засовывая довольно большую базу данных, которая содержит 1.7 миллиарда структурных геометрий молекул в очень сжатую базу, которая поместилась у меня на микроSD. То есть народ реально хочет автономности, и, чтобы за ними никто не следил. Для апдейтов и сервисного обслуживания народ готов выходить в сеть, но, как я понимаю, большая часть пользователей хочет работать полностью автономно с полностью отключенным выходом в интернет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, iiv said:

В противном случае мне светят реальные пляски с бубном по подцеплению мак адресов в разных роутерах и подсистемах, установки SSL, и еще куча всяких разностей, которые отъедят у меня несколько месяцев железячной и софтверной разработки да существенно повысят конечную себестоимость продукта.

не, имхо надо наоборот, esp32 за пару $$ становится точкой доступа,

для подключения надо просто выбрать девайс в списке wifi сетей и всё.

и ssl и мегабит от девайса по spi забрать и через wifi раздать он осилит.

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

и сама страница теперь тоже в самом девайсе хранится, от телефона вообще ничего не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 8/10/2021 at 4:28 PM, _pv said:

не, имхо надо наоборот, esp32 за пару $$ становится точкой доступа,

Спасибо! Согласен, тем более, что на айфонах мой знакомый проверил и даже в хроме WebUSB не работает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...