IoMT - Internet dari Minecraft: kami mengelola objek nyata di dunia virtual


Komputer virtual yang mengontrol sakelar lampu di dunia

Minecraft virtual sudah lebih dari sekadar gim. Ini adalah gaya hidup dan habitat banyak, banyak gamer. Minecraft juga dapat digunakan untuk tujuan rekayasa. Misalnya, mengapa tidak belajar cara menyalakan dan mematikan bola lampu di sebuah ruangan dengan menempatkan sakelar dalam permainan?

Begitu juga salah satu pemain yang nama panggilannya adalah giannoug . Dia bekerja dengan temannya, menciptakan sistem yang mengontrol bola lampu WiFi noname. Sekarang tidak jarang, dan Anda dapat membelinya dengan harga yang relatif murah. Giannoug bekerja dengan seorang teman yang merekayasa balik protokol bola lampu. Penulis ide itu sendiri membangun sebuah switch berdasarkan mod OpenComputers .

Setelah beberapa waktu, komputer siap, dan penulis dapat membukanya ke seluruh dunia melalui TCP / IP.

Protokol yang digunakan bohlam cukup sederhana. Header byte, tiga byte tambahan untuk menentukan warna RGB, satu byte untuk menentukan kecerahan, satu byte untuk mengganti mode operasi dan byte terakhir. Ada juga mineral dalam permainan - analog listrik di dunia kita. Secara default, blok dapat digunakan sebagai elemen sirkuit listrik. Dengan bantuan blok seperti itu, bahkan analog prosesor nyata telah dibuat.

0x56 RED GREEN BLUE WHITE MODE 0xAA




Script untuk bola lampu:
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

Dan sebuah demonstrasi dari karya keseluruhan skema:



Di Minecraft, banyak gamer masih menciptakan model tempat nyata. Misalnya, Antartika.
Martin O'Leary, ahli glasiologi di Universitas Swansea, menciptakan kembali Antartika di Minecraft. Sekarang model, dengan ukuran 1: 1000 dari benua nyata, berisi lebih dari 3 miliar blok. Martin memutuskan pada pekerjaan berskala besar setelah para ilmuwan mulai muncul di Minecraft yang menciptakan berbagai model, termasuk Manhattan abad ke-19 .

Informasi tambahan tentang proyek "nyalakan lampu dari Minecraft" ada di situs web penulis .

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


All Articles