uLua
Справочник uLua для GPIO Extender и USB WatchDog ARU-P2: синтаксис, GPIO, АЦП, ШИМ, UART, USB, таймеры и протоколы.
uLua позволяет заменить штатную логику небольшого контроллера своей программой: читать входы и датчики, управлять выходами, обрабатывать команды по USB или UART и выполнять действия по таймеру. Исходный текст компилируется в веб-IDE на компьютере, а устройство получает компактный байткод и затем работает автономно.
Это не полная Lua: в uLua нет таблиц, динамической загрузки модулей и сборщика мусора. Перед разработкой прочитайте возможности и ограничения языка.
Почему uLua подходит компактному контроллеру
Сильная сторона uLua — компактная среда выполнения для короткой локальной программы, а не количество библиотек. Исходник компилируется на компьютере, поэтому в контроллере нет парсера Lua, сборщика мусора и файловой системы с модулями. Сохранённый байткод автоматически запускается при включении устройства.
Мы используем uLua, чтобы вам оставалось написать только скрипт с правилами работы: указать, какие сигналы проверять, сколько ждать и как управлять выходами. Работу оборудования, интерфейсов и системных функций мы уже реализовали в прошивке — программировать контроллер с нуля не нужно.
Такой подход полезен, когда задача состоит из условий, таймеров и прямой работы с GPIO, АЦП, ШИМ, UART, USB или датчиками. Компилятор знает API выбранной модели и отклоняет недоступный вызов до загрузки программы. Жёсткие ограничения языка и размера байткода заранее описаны и не скрываются за универсальностью среды.
IDE умеет прочитать сохранённый байткод из контроллера, декомпилировать его и показать восстановленный код. Это не копия исходного файла: комментарии, форматирование и исходные имена переменных и функций в байткоде не хранятся. Если для программы включена защита от чтения, обычный доступ через API и IDE блокируется.
Полная Lua лучше подходит для сети, файлов, локальных журналов, таблиц и более крупных приложений. Для них выбирайте соответствующий контроллер. uLua подходит там, где важнее автономная логика рядом с сигналами, а не большая программная платформа.
Если вы будете разрабатывать с помощью ИИ, скопируйте промпт для uLua.
Руководства по устройствам
| Устройство | С чего начать |
|---|---|
| GPIO Extender uLua — универсальные входы и выходы | Подключение и программирование · примеры кода |
| USB WatchDog ARU-P2 uLua — своя логика перезапуска и питания | Настройка и программирование · примеры кода |
Встроенные функции сгруппированы по назначению: аппаратные интерфейсы, текстовые команды, таймеры и контейнеры. Точный набор функций зависит от модели и версии прошивки; недоступный вызов обнаруживается при компиляции.