IoMT - إنترنت الأشياء من Minecraft: ندير الأشياء الحقيقية في العالم الافتراضي


الكمبيوتر الافتراضي الذي يتحكم في مفتاح الضوء في عالم

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 ، لا يزال العديد من اللاعبين يعيدون إنشاء نماذج من الأماكن الحقيقية. على سبيل المثال ، أنتاركتيكا.
مارتن أوليري ، عالِم الجليد في جامعة سوانسي ، أعاد إنشاء القارة القطبية الجنوبية في Minecraft. الآن النموذج ، بحجم 1: 1000 من القارة الحقيقية ، يحتوي على أكثر من 3 مليارات كتلة. قرر مارتن مثل هذا العمل على نطاق واسع بعد أن بدأ العلماء في الظهور في Minecraft الذين ابتكروا نماذج مختلفة ، بما في ذلك مانهاتن في القرن التاسع عشر .

توجد معلومات إضافية حول مشروع "تشغيل الضوء من Minecraft" على موقع المؤلف .

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


All Articles