Установка параметров после компиляции
Я очень новичок в arduino и искал это в сети, но не нашел.
В моем проекте есть 2 файла: файл ".ino" с скетчом и еще один файл ".h" с секретами и параметрами конфигурации, такими как интервалы чтения, учетные данные для подключения к Wi-Fi и т. Д. Теперь мне нужно во время выполнения иметь возможность подключиться к arduino либо по последовательному каналу, либо любым другим способом, чтобы установить эти параметры.
Правка:
Мой вопрос таков: Как я могу изменить параметры после компиляции скетча? например, как я могу указать учетные данные для arduino для подключения к Wi-Fi клиента, так как каждый клиент имеет разные учетные данные.
@Jaime Roman, 👍3
Обсуждение2 ответа
Скорее всего, для этого проекта требуются 2 функции:
- Способ ввода учетных данных Wi-Fi после запуска программы.
- Способ хранения учетных данных Wi-Fi между циклами питания.
Решением для 2 - го требования является использование энергонезависимой памяти. Обе проблемы были решены ранее для определенных типов ардуино. Вот проект на GitHub, в котором есть решения для плат, использующих процессоры ESP8266 или ESP32.
Вы можете установить параметры, такие как SSID и пароль, во время выполнения несколькими способами. Два наиболее очевидных из них:
- небольшой диалог с использованием последовательного монитора или другой последовательной консоли;
- веб - интерфейс, обслуживаемый Arduino, который позволяет вводить параметры.
Идея последнего заключается в том, что когда Arduino не может подключиться к доступной сети (потому что она неизвестна или потому что у нее нет правильных учетных данных), она настраивает себя как точку доступа с известным SSID, паролем и IP-адресом.
Затем вы можете (сначала) подключиться к сети Wi-Fi точки доступа Arduino, а затем открыть HTML-страницу из Arduino в веб-браузере, который позволяет вам вводить свои учетные данные Wi-Fi для "реальной" сети Wi-Fi. Вот как работает библиотека WifiManager (для ESP8266 и ESP32).
После ввода учетных данных вы можете сохранить их (постоянно) в EEPROM с помощью библиотеки EEPROM или, если MCU на вашем Arduino не имеет EEPROM, с помощью библиотеки, которая хранится во flash, например библиотеки FlashStorage для ардуино на базе SAMD21.
Те же механизмы можно использовать и для других параметров, которые вы можете задать во время выполнения.
- Чтение данных из Google Таблиц с помощью Nodemcu
- WiFiClient::connected() не работает
- Есть ли библиотека Arduino, которая использует ARP для получения списка подключенных устройств в сети?
- Сколько мА / ч в ESP8266-01 Работает в LiPo-аккумуляторе, если функция WI-FI постоянно включена
- ESP32 не подключается к Wi-Fi
- ESP8266 не подключается к Wi-Fi
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Можно ли отключить WiFi на ESP8266?
в чем заключается ваш вопрос?, @jsotola
Если вы определили параметры как переменные, вы можете написать код для выбранного вами коммуникационного интерфейса (например, Serial), чтобы считывать новые значения из интерфейса и сохранять их в этих переменных. Вы пробовали это сделать? Неясно, в чем именно заключается ваша проблема с этим. Пожалуйста, объясните подробнее, что вы пробовали до сих пор и где вы столкнулись с проблемами, @chrisl
@jsotola Мой вопрос: как я могу изменить параметры после компиляции scketch? например, как я могу указать учетные данные для arduino для подключения к Wi-Fi клиента, поскольку каждый клиент имеет разные учетные данные., @Jaime Roman
@JaimeRoman Вы можете [отредактировать свой вопрос](https://arduino.stackexchange.com/posts/80768/edit ) включить эту деталь., @timemage
@chrisl Да, я точно думал что-то подобное, но я не нашел в сети, как это сделать. У вас есть какие-нибудь ссылки, которые объясняют, как это сделать?, @Jaime Roman
Google "Arduino EEPROM"., @Majenko
@Majenko Спасибо, @Jaime Roman