Отладка из Интернета - встроенные платы - PullRequest
0 голосов
/ 02 февраля 2019

Так рада спрашивать экспертов по этой платформе.Я не знаю, где подходит мой вопрос, но кто-нибудь, кто знаком с ARM mbed или dev.ti.com?

Позвольте мне дать вам подсказку.На этих веб-сайтах они предоставляют интерактивную среду разработки (как и настольную версию), на которой вы можете создать «встроенное программное обеспечение» и загрузить, запустить и отладить на некоторой целевой плате, такой как (TIVA C, STM32 и т. Д.), Подключеннойна ПК.Насколько я знаю, javascript на веб-странице не имеет доступа к локальной машине.Так как он получает доступ к портам компьютера, драйверам компьютера и т. Д.?

WEB Эксперты, пожалуйста, дайте мне понять, как браузеру разрешен доступ к ресурсам локального компьютера ??

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

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

Однако есть несколько способов работывокруг этого:

1.Создание плат разработки, которые могут работать с аппаратными API, к которым браузер уже разрешает доступ.

Обычно это связано с использованием API неожиданными способами.Встроенная отладочная прошивка на всех платах mbed эмулирует USB-накопитель.Пользователь может загрузить файл микропрограммы с сайта mbed и затем скопировать его на диск для установки микропрограммы на плате разработки.

Существует также более творческое (неправильное) использование аппаратных API-интерфейсов.Например, эта плата Chibitronics использует браузер, отправляющий новую прошивку через аудиовыход.Я также слышал о - но не могу найти подходящую ссылку - пример использования протокола U2F для выполнения двойной обязанности в качестве механизма обновления встроенного программного обеспечения.

Поскольку этот подход повторно использует существующие API, в целом он широко поддерживается,но требует дополнительной работы на стороне устройства для установки квадратного штифта в круглое отверстие.

2.Установите собственное приложение / расширение, которое обращается к оборудованию и позволяет веб-сайту получать доступ к оборудованию через расширение.

Это подход, используемый TI Cloud Tools, Arduino Create и Codebender.После того, как пользователь установил сопутствующее приложение, это приложение позволяет веб-сайту получить доступ ко всему, что будет доступно для обычной IDE.

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

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

Проекты стандартов WebBluetooth и WebUSB добавляют новые API, позволяющие Javascript получать доступ к BLE иУстройства USB напрямую, которые затем можно использовать для связи напрямую с подключенным оборудованием отладки USB или загрузчиками BLE.

micro: bit в настоящее время тестирует бета-программу , которая использует WebUSB для непосредственного программирования и обмена данными.с платами micro: bit.

Эти API реализованы только в Chrome, поэтому они не являются универсальным решением.Кроме того, из-за ограничений безопасности и проблем с драйверами не все существующее оборудование совместимо с WebUSB.

0 голосов
/ 02 февраля 2019

Насколько я знаю, javascript на веб-странице не имеет доступа к локальной машине.Так как же он получает доступ к портам компьютера, драйверам компьютера и т. Д.?

Вы можете получить доступ к своему локальному компьютеру через сервер.Например, чтобы запросить у него определенный файл или выполнить некоторые команды / код через определенный вами API.

Как браузеру разрешен доступ к ресурсам локального компьютера?

Браузер - это программа на вашем компьютере.Язык (и) программирования, на котором был создан браузер, обеспечивает интерфейсы для связи с вашей системой на низком уровне.

Стоит отметить, что браузер и веб-приложение эторендеры не совпадают и не взаимодействуют одинаково с вашей системой .

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