通过 I2C 总线连接的附加模块和附加脚本,可以大大扩展 Samovar 的功能:
附加功能的编程基于脚本语言 Lua实现。Lua 支持在编译固件时启用:在配置器中勾选“使用 Lua”(«Использовать Lua»)复选框(“硬件”(«Оборудование»)部分);在 PlatformIO 中使用 Samovar_lua 环境;手动编译时在 user_config_override.h 文件中加入 #define USE_LUA 这一行。脚本编辑器通过设置页面上的“编辑器”(«Редактор»)按钮打开。
端口扩展器上可以连接任何执行机构或按钮(以按钮方式工作的传感器),并且可以自行规定 Samovar 运行过程中某一时刻应执行的动作。
Samovar 启动时运行初始化脚本,之后每秒运行另一个脚本。在第一个脚本中描述所需的设备,在第二个脚本中描述它们的行为。例如,可以检查温度或 Samovar 的当前状态,并/或开关水泵、打开或关闭阀门、控制附加加热管。
可以在 Samovar 的内存中保存变量,运行最多 10 个定时器,获取 Samovar 的运行状态,控制 I2CStepper 板的搅拌器、泵和继电器,以及发送 HTTP 请求。也就是说,可以连接附加设备,并在 Samovar 运行时对其进行自动控制。
可以检查安全传感器是否触发;如果已触发,可以直接从脚本关闭 Samovar,或者加大或停止供水。可能的场景很多,取决于具体设备。
Samovar 的基本功能不会改变。