IoMT: Internet de las cosas de Minecraft: gestionamos objetos reales en el mundo virtual


La computadora virtual que controla el interruptor de la luz en el mundo virtual de

Minecraft ya es más que un juego. Este es el estilo de vida y el hábitat de muchos, muchos jugadores. Minecraft también se puede utilizar con fines de ingeniería. Por ejemplo, ¿por qué no aprender a encender y apagar la bombilla en una habitación colocando un interruptor en el juego?

Lo mismo hizo uno de los jugadores cuyo apodo es giannoug . Trabajó con su amigo, creando un sistema que controla una bombilla WiFi no conocida. Ahora no es raro, y puede comprarlos a un precio relativamente bajo. Giannoug trabajó con un amigo que realizó ingeniería inversa del protocolo de bombilla. El autor de la idea mismo construyó un interruptor basado en el mod OpenComputers .

Después de un tiempo, la computadora estaba lista y el autor pudo abrirla a todo el mundo a través de TCP / IP.

El protocolo utilizado por la bombilla es bastante simple. El byte de encabezado, tres bytes adicionales para determinar el color RGB, un byte para determinar el brillo, un byte para cambiar el modo de funcionamiento y un byte final. También hay un mineral en el juego, un análogo de la electricidad en nuestro mundo. Por defecto, los bloques se pueden usar como elementos de un circuito eléctrico. Con la ayuda de tales bloques, incluso se crearon análogos de procesadores reales.

0x56 RED GREEN BLUE WHITE MODE 0xAA




El guión de la bombilla:
local event = require('event')
local net = require('internet')

local myEventHandlers = {}
local running = true

local con = net.open('192.168.1.110', 5577)

function myEventHandlers.key_up(address, char, code, playerName)

if (char == 'q') then
running = false
print('Goodbye '… playerName… '!')
end

end

function myEventHandlers.redstone_changed(_, address, side)

local brightness = 0xff;

if side > 0 then
brightness = 0xff
else
brightness = 0x00
end

print('Sending '… brightness… ' to lamp...')

con:write(string.char(0x56))
con:write(string.char(0x00))
con:write(string.char(0x00))
con:write(string.char(0x00))
con:write(string.char(brightness))
con:write(string.char(0x0f))
con:write(string.char(0xaa))

con:flush()

end

function handleEvent(eventID, ...)

local event = myEventHandlers[eventID]

if (event) then
event(...)
end

end

if con then
print('Connected to the bulb!')
end

while running do
handleEvent(event.pull())
end

Y una demostración del trabajo de todo el esquema:



en Minecraft, muchos jugadores aún recrean modelos de lugares reales. Por ejemplo, la Antártida.
Martin O'Leary, un glaciólogo de la Universidad de Swansea, recreó la Antártida en Minecraft. Ahora el modelo, con un tamaño de 1: 1000 del continente real, contiene más de 3 mil millones de bloques. Martin decidió un trabajo a gran escala después de que los científicos comenzaron a aparecer en Minecraft que crearon varios modelos, incluido el Manhattan del siglo XIX .

Información adicional sobre el proyecto "enciende la luz de Minecraft" está en el sitio web del autor .

Source: https://habr.com/ru/post/es387245/


All Articles