@lag2016 Если я верно понял, проще всего сделать так:
- консольная программа на OC-планшете (turn-on.lua, например) принимает в качестве аргумента номер лампы, которую надо включить/выключить, и пересылает на OC-сервер с помощью беспроводной сетевой карты сообщение;
- программа в авторане OC-сервера добавляет слушателя на сообщения беспроводной сетевой карты; этот слушатель и переключает редстоун-блоки.
Вот простейший вариант программы:
-- программа-клиент
-- использовать как <путь к программе> +<номер лампы, чтобы включить>
-- либо <путь к программе> -<номер лампы, чтобы выключить>
local com = require 'component'
local lamp = (...) -- достаём первый аргумент из переданных
com.modem.broadcast(8833, lamp)
-------------------
-- программа-сервер
local com = require 'component'
local evt = require 'event'
local sid = require 'sides'
local redstones = {}
for rs_addr in com.list('redstone') do
redstones[#redstones + 1] = com.proxy(rs_addr)
end
com.modem.open(8833)
evt.listen('modem_message', function(_, _, _, port, _, data)
if port ~= 8833 then return end
if data:sub(1, 1) == '+' then
redstones[tonumber(data:sub(2, 2))].setOutput(sid.top, 15)
elseif data:sub(1, 1) == '-' then
redstones[tonumber(data:sub(2, 2))].setOutput(sid.top, 0)
end
end)