IoMT-Minecraft的物联网:我们管理虚拟世界中的真实对象


在虚拟

Minecraft 世界中控制灯开关的虚拟计算机已经不仅仅是游戏。这是许多游戏玩家的生活方式和栖息地。我的世界也可以用于工程目的。例如,为什么不通过在游戏中放置开关来学习如何在房间内打开和关闭灯泡?

昵称是giannoug的一位球员也是如此。他与朋友一起工作,创建了一个控制无名WiFi灯泡的系统。现在,这种情况并不少见,您可以以相对较低的价格购买它们。 Giannoug与一位朋友反向工作了灯泡协议。这个想法的作者自己建立了一个基于OpenComputers mod的开关

一段时间后,计算机已经准备就绪,作者可以通过TCP / IP将其向全世界开放。

灯泡使用的协议非常简单。标题字节,用于确定RGB颜色的三个附加字节,用于确定亮度的字节,用于切换操作模式的字节以及最后一个字节。 游戏中还有一种矿物-我们世界中的电力类似物。默认情况下,块可以用作电路的元素。借助这种模块,甚至可以创建真实处理器的类似物。

0x56 RED GREEN BLUE WHITE MODE 0xAA




灯泡的脚本:
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

并演示了整个方案的工作:



在Minecraft中,许多游戏玩家仍在重新创建真实地点的模型。例如南极洲。斯旺西大学
冰川学家 Martin O'Leary 在Minecraft中重建了南极洲。现在,该模型的大小为1:1000(来自真实大陆),包含超过30亿个块。在科学家开始出现在Minecraft中并创造了包括19世纪曼哈顿在内的各种模型的科学家之后,马丁决定进行如此大规模的工作

有关“打开Minecraft的灯”项目的更多信息,请访问作者的网站

Source: https://habr.com/ru/post/zh-CN387245/


All Articles