Компиляция/загрузка скетча Arduino Nano/Uno и js из браузера

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

Компиляция:

Я нашел arduino-cli

Загрузка:

Есть только avrgirl, но он не работает в браузере. Что мне делать?

, 👍1

Обсуждение

Arduino не может быть запрограммирован в Nodejs. Вам нужно писать на C/C++ или ассемблере., @chrisl

@chrisl, дело не в программировании (код сгенерирован на c), а в вызове компилятора из js, @caxapexac

Ах хорошо. Но вы также можете загружать скетчи с помощью arduino-cli. Если вы можете использовать его, вы также можете загрузить скетчи, @chrisl


1 ответ


1

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

,

Хорошо, тогда я буду использовать расширение для загрузки шестнадцатеричного кода. Тогда как я могу скомпилировать его, используя только js в браузере?, @caxapexac

Я имею в виду: исходный код -> Строка -> Компилятор -> Шестнадцатеричная строка -> Расширение -> Загрузка, @caxapexac

@caxapexac: создание компилятора C++ в JavaScript — нетривиальная задача. Вы можете попробовать портировать avr-g++ с помощью [Emscripten](https://emscripten.org/)., @Edgar Bonet

Мне кажется странным способ делать все в браузере. Обычно в такой ситуации вы фактически создаете веб-сервис, поэтому компиляцию можно выполнить на стороне сервера, вызвав avr-g++ или arduino-cli через код nodejs. Тогда вам нужно будет только инкапсулировать arduino-cli в расширение для загрузки на локальный компьютер., @chrisl

Я модифицирую код из js-stk500 для работы из браузера с веб-серийным API. но я не могу настроить Arduino CLI для работы в браузере. Это возможно?, @M lab