Можно ли изменить программу Arduino на лету?
У меня есть Arduino, который запрограммирован на что-то. Возможно ли, чтобы я мог изменить его поведение, меняя программу «на лету» без необходимости перепрограммирования Arduino через компьютер?
Мне нужно отправить сообщение через MQTT, которое получит Arduino, и изменить его поведение. Мне удалось изменить частоту публикации сообщений или добавить новые данные, но что, если я захочу изменить способ принятия решений? Что, если я захочу изменить код Arduino, добавить какое-либо if или другое состояние, можно ли это сделать на лету?
Обновление: изменение поведения устройства на лету или после перезагрузки допускается. Я не строг с использованием Arduino, есть и опция Nodemcu. Мне просто нужен способ добавить новые функции к устройству, если мне понадобится.
@emir, 👍0
1 ответ
Вам нужен не «пони с одним трюком» (arduino), а настоящая «лошадь» — Raspberry Pi. У вас нет причин не делать этого, например:
- Цена — RPi Zero — 10 долларов США.
- Размер — примерно как у Nano.
Функциональность::
Пи. . . . . . . . . . . . . . . . Ардуино
Wi-Fi. . . . . . . . . . . . . . . . нет (wifly /Zigbee теперь вы нарушаете пункт 2)
блютуз. . . . . . . . . . . . . . . . нет
веб-сервер. . . . . . . . . . . . . . . . нет
База данных MySQL. . . . . . . . . . . .. нет
любой многопоточный Linux Программы. . . . . . . .. . . . . . . . . . . . . нет
и т. д. и т. п.
Я что-то пропустил? Работа технологического архитектора начинается с знания того, какое аппаратное и программное обеспечение следует применять в той или иной ситуации. IE избегает использования квадратных колышков в круглых отверстиях.
- Печать string and integer LCD
- Почему мои часы реального времени показывают неверное время с моего ПК?
- Отправьте несколько значений int из Python в Arduino, используя pySerial
- Глобальные переменные занимают много места в динамической памяти.
- rfid_default_keys проверить с помощью RC522
- Команда strtok() с Serial связью
- Торговый автомат Arduino для мониторинга ввода монет в слот во время ожидания ввода пользователя
- Несколько неблокирующих таймеров обратного отсчета?