下载 PDF
        SAMOVAR 
×
菜单

脚本示例

下面是一个可以直接在网页界面编辑器中编写的脚本示例。它每秒运行一次,当蒸馏釜温度达到 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 输入(DEVKIT 开发板为 34)上的模拟液位传感器读取数值,并控制水泵(例如向蒸馏釜泵入发酵醪)。信号在 1000 到 2000 之间时打开泵;信号为零时关闭泵。脚本直接在浏览器中编写,保存后即可执行。引脚 4 是 DEVKIT 开发板的 WATER_PUMP_PIN;其他开发板请换成自己的编号。
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) --把值保存到 Samovar 内存中的对象里,以便在下一个脚本运行周期中使用
  digitalWrite(4,1) --在引脚 4 上输出高电平
  print("Start pump") --[=[写入 COM 端口。也可以使用 sendMsg("Msg", Level) 命令。如果 Level = -1,消息输出到 COM 端口和浏览器控制台,便于调试。如果 Level 为 0、1 或 2,消息作为系统消息发送]=]
  --sendMsg("Start pump",-1)
elseif sensor == 0 then
  setObject("start_pump", 0) --把值保存到 Samovar 内存中的对象里,以便在下一个脚本运行周期中使用
  if (start_pump == 1) then
    digitalWrite(4,0) --在引脚 4 上输出低电平
    print("Finish pump")
  end
end
 
随网页界面一起上传到 Samovar 的现成脚本:
更多示例见 GitHub 上 Samovar 代码库的 Lua_script 文件夹:发酵温度控制(beer_mash.lua)、用按钮控制水泵转速、带浓缩的蒸馏(dist_degidrate.lua)、通过 HTTP 把读数发送到外部网络服务(http_request_telegram.lua)、借助压力传感器保持预液泛,以及 NBK 脚本。