Как осуществить контроль и статус ASIC'ов с помощью telegram бота на Python?
Привет.
Имеется несколько асиков(устройства, которые добывают крипту), данные устройства подключены к роутеру, и находятся в общей локальной сети, у них также есть свой веб-интерфейс DHCP. Нужно написать бота на Python, который будет получать эту информацию(температура, хэш-рейт, время работы, статус работы, статус пулов, скорость вентиляторов). Но у меня возникли вопросы: 1. Есть ли уже какая то готовая информация по этому поводу, искал в гугле, не нашел, но наверняка, кто-то этим занимался 2. Как это осуществить? (Какие-то библиотеки, возможно и информация) 3. Если бот будет на сервере, то мне надо будет сначала как то подключится к своему роутеру, а от него уже по локальной сети к устройствам? 3.1 Если у устройств DHCP IP-адрес, то есть периодически может меняться(хотя пока еще не менялся), как мне отследить его в локальной сети( если это делается так )
В общем ищу какую-нибудь информацию по этому поводу. Заранее спасибо.
1. Если готовая инфа есть, то уточнять её надо у производителя асика - возможно, у него есть апи, а может и нет.
2. Посмотреть, какие запросы делает фронтенд, чтобы узнать температуру и прочее. Из питона надо будет эти запросы имитировать. Если там нет апи, то надо будет парить html
3. Если они находятся в одной сети, то надо будет просто обращаться по ip. Если бот и асики будут в разных сетях, то сети надо будет объединить по VPN
3.1 - есть технология mDNS (вроде так называется, но я не уверен) - можно с помощью неё узнавать актуальный адрес, если асики её используют. Другой вариант - привязать IP к MAC-адресу асиков.
спасибо, посмотрю еще по этой теме. API на офф сайте не нашел, причем имеются 2 разные фирмы, видимо придется все-таки парсить html запросы. Пока читаю несколько статей на хабре, от них уже буду отталкиваться, чего узнаю...
честно, я еще не знаю даже как подступиться. температура в реальном времени, да. Нашел через просмотр кода какой то пакет, с нужной информацией по адресу http://192.168.0.**/api/summary, но когда делаю это в бразуере, пишет {"success":false,"message":"invalid request"}. Это вроде обычный json словарик, как бы вот мне его получить через запрос, а там бы я уже его распарсил. а запрос этот вызывает какой то джаваскрипт файл в самом интерфейсе