Скачать PDF
        САМОВАР 
×
Меню

Примеры скриптов

Пример скрипта, который можно написать прямо в редакторе в веб-интерфейсе, он будет выполняться раз в секунду и при достижении температуры в кубе 70 градусов начнет включать/выключать устройство, подключенное к первому порту расширителя PCF8575, а так же писать об этом в UART и в консоль браузера
if TankTemp > 70 then
  if exp_digitalRead(1) == 0 then
    exp_digitalWrite(1,1)
    print("Включено")
  else
    exp_digitalWrite(1,0)
    print("Выключено")
  end
end
 
Пример скрипта, который получает значение от аналогового датчика уровня на входе LUA_PIN (34 для платы DEVKIT) и управляет насосом воды (например, для перекачки браги в куб). Если сигнал находится в диапазоне от 1000 до 2000, включает насос, при нулевом сигнале - отключает его. Скрипт пишется прямо в браузере, при сохранении сразу доступен для выполнения. Вывод 4 – WATER_PUMP_PIN платы DEVKIT, для других плат подставьте свой номер.
start_pump = getObject("start_pump", "NUMERIC") + 0 --получаем из ранее сохраненного объекта числовое значение и преобразуем в число
sensor = analogRead() --читаем аналоговое значение LUA_PIN (зарезервирован для lua)
--sensor = 1500
if sensor >= 1000 and sensor <= 2000 and start_pump == 0 then
  setObject("start_pump", 1) --сохраняем значение в объекте в памяти Самовара, чтобы его можно было использовать в следующем цикле запуска скрипта
  digitalWrite(4,1) --устанавливаем на 4 ноге высокий уровень
  print("Start pump") --[=[пишем в com-port. Так-же можно использовать команду sendMsg("Msg", Level). Если Level = -1, сообщение будет выведено в com-port и в консоль браузера, удобно для отладки. Если Level 0,1,2 - сообщение отправляется как сообщение системы]=]
  --sendMsg("Start pump",-1)
elseif sensor == 0 then
  setObject("start_pump", 0) --сохраняем значение в объекте в памяти Самовара, чтобы его можно было использовать в следующем цикле запуска скрипта
  if (start_pump == 1) then
    digitalWrite(4,0) --устанавливаем на 4 ноге низкий уровень
    print("Finish pump")
  end
end
 
Готовые скрипты, которые загружаются на Самовар вместе с web-интерфейсом:
Ещё примеры лежат в папке Lua_script репозитория Samovar на GitHub: контроль температуры брожения (beer_mash.lua), управление скоростью насоса воды кнопками, дистилляция с укреплением (dist_degidrate.lua), отправка показаний на внешний веб-сервис по HTTP (http_request_telegram.lua), удержание предзахлёба по датчику давления и скрипты для НБК.