Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 07.08.2019 во всех областях

  1. 2 балла
    GPS это куча оборудования, трата энергии и времени, но иногда может понадобится там, где нет встроенного акселерометра, как у робота. Попробуем разобраться, как настроить и построить сеть спутников, по которым можно вычислить свои координаты. Где-то была готовая программа, но я ее не нашел, поэтому восстановил основной функционал, по примеру КомпутерКрафта. Для начала нужен компьютер с установленной OpenOS. Скачиваем для него программатор хостов: pastebin get ZD8GysNP /bin/fgps.lua Эта программа позволяет устанавливать прошивку для спутников-микроконтроллеров, которые будут рассылать свои координаты по запросу. Далее, соберем несколько микроконтроллеров с беспроводными картами, при необходимости обеспечим их энергией. Теперь надо установить прошивку для первой партии: узнаем координаты, где будет стоять очередной хост вставляем EEPROM в компьютер запускаем программатор, с указанием координат через пробел (например: fgps 1652 64 -152) Прошитые карточки вставляем в микроконтроллеры (в сетке крафта) и расставляем в соответствии с координатами, указанными при прошивке. Самое главное - не перепутать координаты. Если навести курсор на микроконтроллер и зажать LSHIFT, то будет виден лейбл биоса, который является подсказкой для его позиции. Когда первая партия размещена и активированна, остальные хосты можно прошивать без указания координат - они определят позицию сразу при включении (если они будут в радиусе действия четырех рабочих хостов) Но лучше, конечно, чтобы каждый хост знал свои точные координаты. Ибо в случае небольшой ошибки в начале постройки, по мере расширения сети, погрешность будет увеличиваться, т. к. поправка будет производится по неверно вычисленным координатам хостов. Теперь проверим работу системы в деле. Возьмем, например, планшет с беспроводным модемом. Скачаем библиотеку GPS: pastebin get Dja9ZceV /lib/gps.lua Запустим консоль Lua. Загрузим библиотеку: local gps = require('gps') И попробуем получить координаты: gps.locate(true) (параметр DEBUG передаваемый в функцию работает как и в ComputerCraft - выводит все вспомогательные сообщения) Каждый хост, при старте устанавливает wake-up сообщение и включается только чтобы ответить на запрос координат. Такой подход экономит огромное количество энергии и позволяет добиться полной автономности хостов - встроенной солнечной панели вполне хватает для работы. Для стабильной работы надо будет добавить data-карту и реализовать протокол управления спутниками по прошитому открытому ключу, чтобы удобно было прошивать новые координаты при перемещении хоста на новое место.
  2. 2 балла
    а можно немного по другому. У меня дома есть поднятый ftp и http сервер. Пишу код в редакторе, сохраняю, захожу майн - кнопка F5 и код программы уже обновлён. Но в одиночке всё же удобнее. local event = require("event") local function update(_, _, _, code) if code == 63 then os.execute("wget -fq http://address/test.lua /home") end end event.listen("key_down", update)
  3. 1 балл
    Кстати, да. Прошлая копалка была с бэкдором, чтобы я мог перехватить управление над всеми роботами и забрать их себе, но никто не жаловался. Насколько я помню, там убеганий в бесконечность не было, но с обновлением мода появился глюк сортировки, который никак не исправить. А тут с этим убеганием странно, @BrightYC постоянно на это жаловался, когда убрали отладочную инфу - все прошло. Надо будет проанализировать, где ошибка обработки блоков. Я использую устаревшую логику, после обновления мода до 1.7.2 она перестала работать, навесил костылей, вроде работает (но это не точно). Одну ошибку payonel исправил, чтобы найти другие - надо узнать, при каких условиях они появляются. Когда только начал писать дубокопа, я его гонял на стенде из 9 чанков, вырезанных из мира. Запускал кучу роботов, мониторил каждый шаг через X-ray. После описания основного каркаса и определения оптимального алгоритма добычи, я стал делать прогоны на пустом стенде с генерацией руд из дебаг-карты. Все это делается в одиночке с двумя модами - AE2 + IC^2 Каждый может собрать свою копалку, вот пример в блоге, где я за неделю неспешного тыканья в майне, запилил базовый функционал. Самая первая копалка, которую я написал, была жутко неудобная - приходилось спускаться на ту высоту, где больше вероятность встретить нужную руду, робот шел прямо и сканировал вертикальными слоями, после получения команды начинал добычу. Эффективность была так-себе, но лучше чем у Totoro. artem211 написал хороший комбайн, но им как-то никто не пользуется - эффективность очень маленькая, багов куча, функционал устарел. Во какую простыню накатал, лучше бы код писал, ленивая жопа.
  4. 1 балл
    Разрабатывать удобнее в одиночной игре с параметром bufferChanges=false конфига OpenComputers.cfg. Каждому диску OpenComputers соответствует папка вида .minecraft/saves/SAVENAME/opencomputers/DISK-UUID/, файлы в этих папках доступны для редактирования любым подвернувшимся под руку текстовым редактором. А чем редактировать код Lua, уже не раз обсуждалось: https://yandex.ru/search/?text=редактор lua site%3Acomputercraft.ru
  5. 1 балл
    Беря программу бесплатно ожидай что она может быть с багами, с майнерами и тд)
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...