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

Лидеры


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

Показан контент с высокой репутацией 19.08.2020 в Сообщения

  1. 1 балл
    HoverHelm — сетевые диски для тех, у кого нет жёсткого: дронов, микроконтроллеров. Вставляем диск в сервер — через модемы клиенты получают к нему доступ. И пару вкусных фич вдобавок. Фичи и преимущества по сравнению с голым EEPROM Сетевой жесткий диск: можно забыть про ограничение в 4кБ можно делать программы модульными легко обновить программу, не нужно перешивать каждого дрона за всю игру может понадобиться скрафтить только один жесткий диск Удаленный терминал: не нужны клава и моник, больше слотов в роботах централизованное управление всех ваших дронов Обратная совместимость: старые eeprom-программы работают без изменений Какие-то другие очевидные плюсы, про которые я забыл Прогресс разработки Система запускается и работает Виртуальный диск с доступом к папке на жестком диске сервера Удаленный терминал для запуска программ на устройствах Конфигурация Логирование Связь через сетевую и связанную карту Инсталлятор Виртуальный гпу Связь через интернет-карту (Stem) Сохранение имен устройств Удаленные терминалы Минимальные системные требования Конечное устройство Сервер Инструкция по установке Установка сервера: Установите OpenOS Выполнить команду pastebin run xh61Yx8a Отредактируйте открывшийся конфиг Добавьте желаемые к использования сетевые и связанные карты по образцу Можно настроить пути расположения пользовательских папок и папки клиентского ядра Установка клиента: Запустите HoverHelm server hoverhelm/main.lua Выполните команду prepare_eeprom <имя устройства> <адрес серверного модема> <порт> <адрес клиентского модема> Если на сервере одна сетевая карта, вместо адреса её можно вписать тип (modem или tunnel). Адрес клиентского модема можно убрать вообще, если на клиенте только одна сетевая карта. Инструкция по использованию Запустите сервер HoverHelm командой hoverhelm/main.lua Запустите устройства, просто включив их при первом запуске каждого устройства будет создана его пользовательская папка в /home/hoverhelm/devices/<deviceName>/ можно смонтировать по этому пути отдельный диск средствами OpenOS в терминале сервера и в файле лога устройства повится строка <deviceName> started, сигнализирующая о готовности устройства файлы, общие для всех устройств лежат в /home/hoverhelm/device_core/ (coreRootFolder в конфиге) файлы, специфичные для конкретного устройства лежат в /home/hoverhelm/devices/<deviceName>/ (userRootFolder в конфиге) В терминале сервера выполните deviceName>device-program-name args, чтобы выполнить на устройстве deviceName программу device-program-name с аргументом args программа с именем test будет искаться по пути /test.lua и /programs/test.lua, относительно виртуальной фс устройства Из коробки пока доступна только программы reboot и lua В терминале сервера выполните hide, чтобы свернуть HoverHelm server не прерывая его работу можно будет открыть его той же командой для продолжения работы с терминалом Ссылки Гитхаб: https://github.com/hohserg1/HoverHelm
  2. 1 балл
    А зачем нужен собранный ocelot-brain? Это же тупо либа. Её надо подключать в другую прогу, которую так и так придётся компилировать. Но смысла тогда готовый брейн собирать поразительно мало, особенно с учётом малого объёма кода.
  3. 1 балл
    Если у тебя стоит NoScript то включи эти два скрипта в список доверенных: касперский не в счёт :->
  4. 1 балл
    Попробовал поискать в веб-архиве. Не вышло. Хотя особо не старался, попробовал два сервиса. Было бы здорово организовать на форуме какой-то заповедник для сохранения перезаливов годных наработок
  5. 1 балл
    Чтобы на 18 попытке сервер сжалился, и отдал хедеры Изменил.
  6. 1 балл
    Коррекция нужна. Длинный цикл не нужен. Сейчас он дёргает сервер 18 раз, а требуется максимум два раза.
  7. 1 балл
    Забыл, что так можно Дата может сменится у клиента, допустим. А если на сервере время отстает? Коррекция для этого и нужна.
  8. 1 балл
    А зачем вручную описывать цикл в функции updateFilename()? Это же обычный цикл for correction=0,1700,100 do, только с более громоздкой записью. Да и цикл там не нужен. Он только лишний раз дёргает сервер. Хотя коррекция времени в цикле и меняется, но имя запрашиваемого файла сменится только в тот момент, когда сменится дата. И вообще, если дата сменится.
  9. 1 балл
    Понятно, что прожка писалась на скорую руку и должна быть доделана. Подскажу, как именно. Нет смысла качать мегабайт логов, которые всё равно не влезут в консоль. Нужно вытащить последние строки, например алгоритмом, который я описал в прошлом посте. Не нужно досить сервер запросами. Добавить хотя бы os.sleep(5). Проверять, изменились ли логи, можно через ETag. Его сервер тоже посылает. Проверять, что #chunk > 0, смысла не имеет. Там есть 3 случая: nil, когда оборвано соединение, "", если просто пока нет ответа, или же строка с данными. Прога такая работать будет не более суток. Затем она перестанет обновляться. Думаю, ясно почему.
  10. 1 балл
    Поправьте меня, если я ошибаюсь, но, насколько я помню, компонент интернет-платы не позволяет провернуть операцию, аналогичную seek - поэтому приходится загружать контент целиком, "скипая" содержимое до интересующего места. А логи в примерах довольно жирные для опенкомпов, файлы > 500 кб всегда грузятся ощутимо долго. Если есть доступ к директории сервака, то можно накатать простенький php-скрипт, выдающий содержимое файла с конца: https://stackoverflow.com/questions/2961618/how-to-read-only-5-last-line-of-the-text-file-in-php Или же при наличии сокет-сервера пушить в него каждую отправляемую в лог строку, а затем читать на опенкомпах через internet.connect. Если же доступа к хосту нет, но есть собственная VPS'ка - можно накатать аналогичный скрипт с небольшими модификациями для файлов по удалёнке.
  11. 1 балл
    Неплохая идея 🤔, можно было бы ссылку на программу учтелям подкинуть, будет что продемонстрировать
  12. 1 балл
    Эх, мне бы уметь пользоваться радианами(((
  13. 1 балл
    Решил еще добавить возможность ставить приложения на паузу(coroutine позволяют и такое делать) Кроме того, что любую программу можно поставить на паузу, можно будет еще 'выключать графику' этой программы Пример использования: запустил 4 программы сразу и комп начал лагать. Взял и вырубил всем 4 программам графику, при этом все неграфические процессы продолжат работу. И все ок, комп перестанет лагать. Так как именно операции с графикой обычно тормозят систему
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...