Перейти к публикации

BrightYC

Пользователи
  • Публикации

    190
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    9

Последний раз BrightYC выиграл 7 февраля

Публикации BrightYC были самыми популярными!

Репутация

76 Обычный

Информация

  • Пол
    Не определился

Посетители профиля

431 просмотр профиля
  1. BrightYC

    MineOS

    Развлекайся =D В качестве компенсации, вот тебе фотка моего кота:
  2. BrightYC

    MineOS

    Лучше сюда(Наверное): https://github.com/IgorTimofeev/MineOS/issues А вообще - лучше спросить @ECS
  3. Я либо плохо пины припаял, либо где-то еще накосячил. Но по тутору с вики всё таки завёл. P. S На фотографиях можно заметить следы плохой пайки XDD
  4. Видел я на хабре пост четырёхлетней давности о включении лампы(в реальном мире) из майнкрафта. Вот он, если что: https://habr.com/ru/post/271527/ Тут я подумал - "А чем я собственно хуже? Почему нельзя контроллировать температуру реактора/дроноферму/дом датчиками движением?" Переходим к практике. Я имею вот такой дисплей купленный в поднебесной(За всеми ссылками и подробной помощью если заинтересуетесь обращаться в личку) Так же, я обладаю платой NodeMcu Lolin V3(Если грубо - это ардуинка с вай-файкой, но нет, это самостоятельный чип esp8266) В общем это всё, что нам сейчас понадобится(Еще понадобится роутер (и белый айпи, если вы играете на сервере)) Я хочу контролировать температуру своего реактора из IC2(но пристроить можно всё что угодно), поэтому берём его. Как это выглядит в игре: Схема реактора(Хотя ничего особо интересного тут нет): Переходим к реальному миру. Нам нужно открыть порт, в моём случае это 4536, к тому же нам нужен постоянный адрес в интернете. Для этого я использую DDNS. Об этом и остальном можно узнать в гугле. Теперь, всё готово чтобы наконец-то смотреть температуру реактора из реально мира! Есть такой простой код(Сейчас говорим про реальный мир): --Если кому будет интересно, вот полная документация по прошивке NodeMcu: https://nodemcu.readthedocs.io/en/master/ wifi.sta.config({ssid = "Xiaomi_2.4G", pwd = "xBfYHR33Le"}) --Мой SSID и пароль моего wi-fi =D wifi.sta.autoconnect(1) --Автоподключение Wi-Fi wifi.setmode(wifi.STATION) --Сейчас ESP8266 Будет работать в режиме клиента) spi.setup(1, spi.MASTER, spi.CPOL_LOW, spi.CPHA_LOW, 8, 8) --Настройка дисплея oled = u8g2.ssd1309_128x64_noname0(1, 8, 4, 0) oled:setFont(u8g2.font_haxrcorp4089_t_cyrillic) --Выставляем шрифт oled:setContrast(255) --Контрастность дисплея) server = net.createServer(net.TCP, 30) --Создаём сервер с тайм-аутом в 30 секунд по TCP протоколу function receiver(socket, temp) --Функция, которая вызывается при подключении oled:clearBuffer() --Очищаем буфер oled:drawUTF8(1, 7, "Темп. Реактора: " .. temp .. "%") --Пишем oled:sendBuffer() --Уже рисуем socket:close() --Разрываем подключение end server:listen(4536 , function(conn) --Выставляем на прослушку порт 4536 conn:on("receive", receiver) end) wifi_check = tmr.create() --Создаём динамический объект таймера wifi_check:alarm(1000, 1, function() --Эта функция - аналог event.timer в OpenComputers, которая так же вызывает функцию. В данном случае мы каждую секунду проверяем Wi-Fi. if not wifi.sta.getip() then --Если мы не имеем айпи, тогда wifi_connect = false oled:clearBuffer() --Очищаем буфер oled:drawUTF8(1, 7, "Подключение к Wi-Fi...") --Пишем oled:sendBuffer() --Рисуем elseif not wifi_connect then --Если мы только что подключились и не получили температуру реактора, тогда рисуем просто текст без температуры wifi_connect = true oled:clearBuffer() --Очищаем буфер oled:drawUTF8(1, 7, "Темп. Реактора: ожидание...") --Пишем oled:sendBuffer() --Рисуем end end) Код в майнкрафте(Очень простой): local component = require("component") local internet = require("internet") local reactor = component.reactor while true do local connection = internet.open("ip", 4536) connection:write(string.sub(reactor.getHeat(), 1, 2)) connection:close() os.sleep(5) end Теперь посмотрим что получилось! Подключение к Wi-Fi: Ожидание температуры: Итог: В общем то тут довольно всё криво сделано, тут надо много чего доделать, на самом деле. Но в целом, работает же=) Мне кажется, что это очень круто(Жаль что всё это без чанклодеров так себе работает). Такие дела. P. s @cyber01 Я сидел в редакторе долго, появилась ошибка "Произошла ошибка конфигурации или сервера". Пришлось вручную редактировать всё=(
  5. Зачем делать одинаковое название игре и ЯПу?
  6. BrightYC

    Чек людей привата

    Не думаю что это возможно даже с командными блоками. Но на счёт онлайна/оффлайна - было такое, это можно.
  7. На самом деле исходный текст был в UTF-8, просто программа загружающая программу в esp не выставляет никакую кодировку..
  8. Упс, решилось обращением в ирку - если кому интересно, помогло выставление <meta charset = "windows-1251">
  9. Латиница отображалась, но только на винде. Это точно
  10. Увы, это первое что пришло в голову, и к сожалению это не помогло:(
  11. Столкнулся с такой проблемой, на nodemcu. Тот же луа, но немножко другой. Самое смешное, что на форуме именно по esp8266 мне не смогли пока что помочь, надеюсь тут помогут. Так, отошёл я от темы что-то. Есть код: https://pastebin.com/jAQu8q9j Проблема в том, что с кодировкой что-то не то. Вот это приходит клиенту: Страничка: Что я делаю не так? Сам файлик в UTF-8:
  12. BrightYC

    eeee

    Тест чего-то?
  13. А где фотографии? Хочу фотографий конструктора и флюса! Тем не менее, это не выставление на показ моих покупок, а показ моего личного прогресса(хоть он и мал). Делится мне больше нечем, тем более тема погрязла. А тут как раз мне привезли еспшку, почему бы мне не показать моё маленькое достижение и заодно возобновить тему.
×