Контент доступен только участникам форума
Как это работает?
Мы передаём функции наш лог (Ответ по SOCKET на команду stats, лог с вэб-морды аппарата, лог с Avalon Miner Viewer или лог с Avalon Service Viewer) в переменную $log, в переменную $value мы вбиваем что хотим получить, например температуру чипов (PVT_T0) и получаем ответ:
D:\php7>php test.php
66 68 73 73 69 71 67 70 77 79 73 68 67 71 81 81 72 69 66 72 83 81 74 68 69 71 81 82 71 71 66 71 81 79 70 70 68 71 81 74 67 68 66 68 71 70 68 67 63 65 67 67 67 64 62 64 66 64 62 64 58 59 60 64 63 62 62 63 63 66 64 61 65 65 66 66 67 62 63 65 64 63 65 65 66 67 64 64 66 68 66 67 65 67 67 67 66 67 65 67 67 65 64 69 66 65 68 69 66 65 63 65 65 65 67 67 64 64 65 66
Например получить системный статус (SYSTEMSTATU):
Ответ:
D:\php7>php test.php
Work: In Work, Hash Board: 3
Более того на PHP можно делать запрос непосредственно аппарату по SOCKET и получить моментально ответ.
С моей функцией это вообще легко получается. Вот полный код, который делает запрос и выдёргивает нужную переменную:
Контент доступен только участникам форума
Результат такой:
D:\php7>php test.php
1246-85-21072802_4ec6bb0_211fc46
Теперь дело за фантазией или задачей, например можно делать такой опрос 1 раз в секунду и выводить, например количество чипов. Так при загрузке аппарата можно на старте определить неисправные хэш-платы и прочее. Давно хотел разобраться, как быстро и удобно разбирать логи устройств и вот нашел решение.
Эта функция идёт за основу моего анализатора логов Avalon в Telegram боте https://t.me/AvalonServiceNew_Bot
Материал подготовил: @Vinogradov
Копирование и распространение с разрешения автора.