Вы здесь: ГлавнаяСтатьиРемонт майнеров, асиковОбзор Whatsminer API V2.0.0

Расширенный поиск

Обзор Whatsminer API V2.0.0

В данной статье описывается использование API машины интеллектуального анализа данных (асик майнера). 

 Предполагаемая аудитория - разработчики программного обеспечения для управления минами.

Использование WhatMinerTools получает привилегии для майнера. Функция удаленного управления пакетами может быть реализована через API.
Выполните следующие действия.
1. Изменение пароля по умолчанию (admin)
2.Включить API

2. Записываемое API
2.1 Обновление реестра

Json:
{
"token":"str", "cmd":"update_pools", "pool1":"str",
"worker1":"str",
"passwd1":"str",
"pool2":"str",
"worker2":"str",
"passwd2":"str",
"pool3":"str",
"worker3":"str",
"passwd3":"str"
}

2.2 Перезапустить битмайнер
Json:
{
"token":"str",
"cmd":"restart_btminer"
}

2.3 Выключить майнер
Эта операция просто останавливает работу и выключает выход питания платы питания. Отключения питания на плате управления не происходит.

Json:

{

"token":"str",

"cmd":"power_off",

"respbefore":"str"                     //"false"/"true"

 }

2.4 Включить майнер

Эта операция просто запускает работу и включает выход питания платы питания.

Json:

{

 "token":"str",

"cmd":"power_on",

 }

2.5 Управление led 

Recovery to automatic control:
Json:
{
"token":"str",
"cmd":"set_led",
"param":"auto"
}

{
"token":"str",
"cmd":"set_led",
"color":"str", //red green
"period":inter, //flash cycle ms
"duration":inter, //led on time in cycle(ms)
"start":inter //led on time offset in cycle(ms)
}

2.6 Включить режим power

Json:

{
"token":"str",
"cmd":"set_low_power"
}

2.7 Обновление ПО

Upgrade flow:

Client -> whatsminer(text flow):   "update_firmware" Json:

{

"token":"str",

"cmd":"update_firmware"

}

Whatsminer -> client(text flow): "ready" Json:

{ "STATUS":"S",

"When":1594179080,

"Code":131,"Msg":"ready",

"Description":"whatsminer v1.3"

}

Client -> whatsminer(binary flow): file_size(4Byte) file_data

file_size: size of upgrade file, send integer to stream as little endian. file_data: file binary flow

Проверьте обновление по значению «Firmware Version», возвращаемому сводкой. Все взаимодействия выполняются в одном TCP-соединении.

 

2.8 Обновление системы

Json:

{

"token":"str",

"cmd":"reboot"

 }

2.9 Восстановление заводских настроек

Json:

{

 "token":"str",

"cmd":"factory_reset"

 }

2.10 Изменение пароля учетной записи администратора

 Максимальная длина пароля - 8 байт

Обратите внимание: вы должны вернуть token form whatsminer для зашифрованной передачи

Json:

{

"token":"str",

"cmd":"update_pwd",

"old":"str",       //use letter,mumber,underline

 

2.11      Модификация конфигурации сети

Обратите внимание: после изменения конфигурации whatsminer машина будет перезагружена.


Json:
{

"token":"str",

"cmd":"net_config",

"param":"dhcp"

 }

Json:

{

"token":"str",

"cmd":"net_config",

"ip":"str",

"mask":"str",

"gate":"str",

"dns":"str",       //"114.114.114.114 192.168.0.1" Divide by a space "host":"str"

 }

2.13      Загрузка логов

 Download flow:

Client -> whatsminer(text flow): Json:

{

"token":"str",
"cmd":"download_logs"

}

Whatsminer -> client(text flow):
Json:

{

"STATUS":"S",
"When":1603280777,
"Code":131,
"Msg":{"logfilelen":"str"},
"Description":"whatsminer v1.3"

}

Whatsminer -> client(binariy flow):

Whatsminer отправляет содержимое файла после 10 мс задержки.

2.14      Set target freq

 

{

"cmd":"set_target_freq",

"percent": "str",            //range: -10 ~ 100
"token": "str"

}

 

2.15      Enable btminer fast boot

{

"cmd": "enable_btminer_fast_boot",
"token": "str"

}

 

2.16      Disable btminer fast boot

{

"cmd": "disable_btminer_fast_boot",
"token": "str"

}

2.17      Enable web pools

{

"cmd": "enable_web_pools",
"token": "str"

}

2.18      Set hostname

{

"cmd": "set_hostname", "hostname": "str",

"token": "str"

}

2.19 Set zone

{

"cmd": "set_zone",
"timezone": "CST-8",
"zonename": "Asia/Shanghai",
"token": "str"

}

2.20      Load log

 {

"cmd": "load_log",

"ip": "str",

"port": "str",

"proto": "str",     //tcp/udp
"token": "str"

}

2.21      Set power pct

{

"cmd": "set_power_pct",

"percent": "str",            //range: 0 ~ 100
"token": "str"

}

 2.22 Pre power on

{

"cmd": "pre_power_on",

"complete": "str",                     //true/false

"msg": "str",     //"wait for adjust temp"/"adjust complete"/"adjust continue"
"token": "str"

}

Майнер можно разогреть «pre_power_on» перед «включением питания», чтобы машина могла быстро войти в состояние полной мощности при использовании «включения питания». Эту команду также можно использовать для запроса состояния предварительного включения питания.

 3. Читаемый API.

3.1 Сводка API
Содержит код ошибки, скорость вентилятора, информацию о питании и т.д.

Json:
{
"cmd":"summary"
}

[MHS av] = >  67761775.18 Средняя частота хэширования майнера (MHS)

[Fan Speed In] => 6060 Скорость вентилятора на выходе воздуха (об/мин)

[Fan Speed Out] => 6000 Скорость вентилятора на входе воздуха (об/мин)

[Power] => 3470 Входная мощность (Вт)

[Uptime] => 91051 Время работы системы (в секунду)

[Power Fanspeed] => 9060 Питание скорости вентилятора

[Error Code Count] => 1 Код ошибки

[Error Code 0] => 250 Значение кода ошибки

[Power Mode] => Low Режим питания (низкий/нормальный/высокий)

[Firmware Version] => '20200207.23.1' Версия прошивки

[MAC] => C4:05:08:00:02:3B MAC адрес сети

[Factory GHS] => 44397  Заводская частота хэширования (GHS)

 

3.2  API пулы

Содержит информацию о пулах майнера

Json:
{
"cmd":"pools"
}

[POOL] => 0
[URL] => stratum+tcp://btc.ss.poolin.com:443  Адрес и порт пула
[Status] => Alive статус пула
[Priority] => 0 Приоритет (0 - наивысший)
[Accepted] => 4615 Принятые случаи пула
[Accepted] => 4615 НЕ Принятые случаи пула
[User] => microbtinit Наименование майнера
[Last Share Time] => 1587278148 Время последней отправки
[Stratum Active] => true Статус слоя пула
[Stratum URL] => btc-vip-3dcoa7jxu.ss.poolin.com Адрес пула
[Stratum Difficulty] => 262144.00000000 Сложность пула
[Pool Rejected%] => 0.0667 процент отказа пула
[Current Block Height] => 626663 Текущая высота блокировки
[Current Block Version] => 536870912 Текущая версия блокировки

3.3 API edevs/devs

Содержит информацию для каждой платы.

Json:
{
"cmd":"edevs"
}

{
"cmd":"devs"
}

[Slot] => 0 Номер слота для каждой хэш платы
[Temperature] => 71.50 Температура платы на выходе воздуха (℃)
[Chip Frequency] => 608 Средняя частота чипсов в хэш-плате (МГц)
[MHS av] => 30991182.21 Средняя частота хэширования хэш-платы (MHS)
[PCB SN] => Z5M1ES94100115K90371 Серийный номер платы 

3.4  API devdetails

Json:
{
"cmd":"devdetails"
}

[DEVDETAILS0] =>
[Model] => M20SV10 Тип майнера

 

3.5  API get psu

Содержит информацию питания.

Json:

{

 "cmd":"get_psu"

}

3.6  API get version

Get whatsminer api version

Json:

{

 "cmd":"get_version"

}

3.7  Get token

You must use plaintext,and whatsminer will return plaintext.

Json:

{

"cmd":"get_token"

}

Return:

{
"STATUS":"string",
"When":12345678, //inter
"Code":133,
"Msg":{"time":"str","salt":"str","newsalt":"str"},
"Description":"string",
}

3.8  Статус

Get btminer status and firmware version

Json:
{
"cmd":"status"
}

Return:
{
"btmineroff":"str", //"true"/"false"
"Firmware Version":"str"
}
Напоминание:whatsminer поддерживает 16 IP-клиентов один IP-адрес может получить 32 токенов, продолжительность токенов составляет 30 мин.

3.9 API devdetails

Json:
{
"cmd":"devdetails"
}

[DEVDETAILS0] =>

3.9 Get miner info
Json:
{
"cmd":"get_miner_info",
"info":"ip,proto,netmask,gateway,dns,hostname,mac,ledstat"
}
В поле «info» можно выбрать поля, которые требуется вернуть.

Return:
{ "STATUS":"S",
"When":1618212903,
"Code":131,
"Msg":{"netmask":"255.255.255.0","ledstat":"auto","gateway":"192.168.2.1"},
"Description":"whatsminer v1.4.0"
}

API:
client -> whatsminer:"get_token"
whatsminer -> client:$time $salt $newsalt
e.g.:"1592555626 BQ5hoXV9 jbzkfQls"
$time $salt $newsalt are separated by space
time: timestamp(sec)
(Epoch Time since 1970-01-01 00:00:00 UTC)
salt:
new_slat: new salt for sign

Метод вычисления маркера:получить token форму whatsminer машины: время соль newsalt.
1. Вычислите ключ, используя пароль администратора и salt.
2.timesec - это последние четыре символа времени.

key = md5(salt + admin_password) sign = md5(newsalt + key + timesec)

The reference code in Ubuntu:

Во-первых, получить значения whatsminer: $time $salt $newsalt.

Ubuntu Shell command:

key = `openssl passwd -1 -salt $salt "${admin_password}"|cut -f 4 -d '$'`
sign=`openssl passwd -1 -salt $newsalt "${key}${time:0-4}"|cut -f 4 -d '$'`

Default user password:admin:admin

The API command can be used for two joins. Eg.

{
"cmd":"summary+pools"
}

4. Others

The whatsminer API TCP port is 4028.

Примечание: Если данные не будут получены в течение 10 секунд после открытия порта, они будут истекать по тайм-ауту и закрываться.

Return MSG :
STATUS="",When="",Code="",Msg="",Description="
" STATUS: E (error)       S (success)

When:   timestamp
Code: тип сообщения
Description: подробности сообщения

 

JSON API RETURN format:

{
"STATUS":"string",

"When":12345678,                                               //inter
"Code":133,

"Msg":"string",             //string or object
"Description":"string",
}

Message Code:

14 invalid api command or data
23 invalid json message
45 permission denied
131  command OK
132  command error
134  get token message OK
135  check token error
136 token over max times
137 base64 decode error

4.1  API ciphertext

Notice: readable API supports two-way communication plaintext and ciphertext, Writeable API only supports ciphertext.

 Encryption algorithm:

Ciphertext = aes256(plaintext),ECB mode Encode text = base64(ciphertext)

Steps as follows:

(1)api_cmd = token,$sign|api_str
(2)enc_str = aes256(api_cmd, $key)
(3)tran_str = base64(enc_str)
api_str is API command plaintext

Generate aeskey step:

(1)Get token from whatsminer: $time $salt $newsalt
(2)Generate key:

key = md5(salt + admin_password) Reference code:

key = `openssl passwd -1 -salt $salt "${admin_password}"` (3)Generate aeskey:

aeskey = sha256($key)

e.g.:

set_led|auto -> token,$sign|set_led|auto ->

ase256("token,sign|set_led|auto", $aeskey) ->
base64(ase256("token,sign|set_led|auto", $aeskey) ) ->
enc|base64(ase256("token,sign|set_led|auto", $aeskey))

Json:

{
"enc":1,            //inter "data":"base64 str"

 }

 

 

 

 

 

Принтеры и МФУ
Epson с СНПЧ и ПЗК
Прошитый Samsung
Принтер и МФУ HP
Oki принтеры и мфу
Ручной принтер
Прошитый МФУ, принтер Pantum
СНПЧ
СНПЧ Epson
СНПЧ Canon
СНПЧ Hp
СНПЧ Brother
СНПЧ Конструктор ( комплектующие )
Принтеры в разборе
Epson струйные и лазерные принтеры и мфу
HP струйные и лазерные принтеры и мфу
Canon струйные и лазерные принтеры и мфу
Samsung лазерные принтеры и мфу
Brother струйные и лазерные принтеры и мфу
OKI струйные и лазерные принтеры и МФУ
Panasonic лазерные принтеры и мфу
Xerox лазерные принтеры и МФУ
Sharp лазерные принтеры и МФУ
Ricoh лазерные принтеры и МФУ
Kyocera лазерные принтеры и МФУ
ПЗК
ПЗК Epson
ПЗК HP
ПЗК Canon
ПЗК Brother
Чернила
Чернила Epson
Чернила Canon
Чернила HP
Чернила Brother
Чернила Epson, Canon, HP в канистре
Фотобумага
Фотобумага глянцевая
Фотобумага матовая
Фотобумага фактурная. Дизайнерская
Рулонная фотобумага
Фотобумага мелованная (2-х сторонний глянец для струйной печати)
Оригинальная фотобумага HP, Canon, Epson
Термобумага для терминалов и банкоматов
Тонер
Тонер HP
Тонер Samsung
Тонер Canon
Тонер Epson
Тонер Xerox
Тонер Brother
Тонер Panasonic
Тонер Kyocera
Тонер OKI
Тонер Ricoh
Тонер Toshiba
Тонер Konica
Тонер Sharp
Тонер Handan
Тонер Lexmark
Лазерные картриджи
Картридж Epson
Картридж Canon
Картридж HP
Картридж Samsung
Картридж Xerox
Картридж Brother
Картридж Panasonic
Картридж Kyocera
Картридж OKI
Картридж Toshiba, Sharp, Lexmark, Ricoh
ЗИП для картриджа
ЗИП картриджа Canon
ЗИП картриджа HP
ЗИП картриджа Samsung
ЗИП картриджа Xerox
ЗИП картриджа Brother
ЗИП картриджа Panasonic
ЗИП картриджа Lexmark
ЗИП картриджа Ricoh, Kyocera, Sharp
Пакеты для картриджей
Комплектующие (ЗИП) для принтера
ЗИП Epson
Print Head ( Печатающая головка )
Pump Assy ( Узел подачи чернил в сборе )
Board Assy ( Электронная плата )
DAMPER ( Демпер )
Cable Assy ( Шлейф в сборе )
Belt, Scale ( ремень каретки, лента позиционирования )
Motor Assy ( двигатель )
Paper feed unit ( узел подачи бумаги )
Gear ( Шестерня )
Scaner unit ( блок сканера )
Power Assy ( блок питания )
Разное Epson
ЗИП Canon
Печатающая головка Canon
Электронная плата Canon
Узел термозакрепления Canon
Узел подачи бумаги Canon
Ремни, ленты позиционирования, диски энкодера Canon
Шлейфы Canon
Узел подачи чернил Canon
Шестеренки Canon
Блоки питания Canon
Электродвигатели и соленоиды Canon
Датчики Canon
Разное Canon
ЗИП HP
Печатающая головка HP
Электронная плата HP
Узел термозакрепления HP
Узел подачи бумаги HP
Ремни, ленты позиционирования, диски энкодера HP
Шлейфы HP
Узел подачи чернил HP
Модули памяти HP
Шестеренки HP
Подшипники (бушинги) HP
Блоки питания HP
Электродвигатели и соленоиды HP
Узел сканирования HP
Датчики HP
Разное HP
ЗИП Samsung
Электронная плата Samsung
Узел термозакрепления Samsung
Узел подачи бумаги Samsung
Шлейфы Samsung
Шестеренки Samsung
Подшипники (бушинги) Samsung
Блоки питания Samsung
Электродвигатели и соленоиды Samsung
Узел сканирования Samsung
Блок лазера Samsung
Датчики Samsung
Разное Samsung. Товары, не вошедшие в предыдущие категории
ЗИП Xerox
Печатающая головка Xerox
Электронная плата Xerox
Узел термозакрепления Xerox
Узел подачи бумаги Xerox
Ремни, ленты позиционирования, диски энкодера Xerox
Шлейфы Xerox
Узел подачи чернил Xerox
Шестеренки Xerox
Электродвигатели и соленоиды Xerox
Блоки питания Xerox
Узел сканирования Xerox
Датчики Xerox
Блок лазера Xerox
Разное Xerox
ЗИП Brother
Печатающая головка Brother
Электронная плата Brother
Узел термозакрепления Brother
Узел подачи бумаги Brother
Ремни, ленты позиционирования, диски энкодера Brother
Шлейфы Brother
Узел подачи чернил Brother
Шестеренки Brother
Блоки питания Brother
Электродвигатели и соленоиды Brother
Датчики Brother
Узел сканирования Brother
Блок лазера Brother
Разное Brother
ЗИП Kyocera
Электронная плата Kyocera
Узел термозакрепления Kyocera
Узел подачи бумаги Kyocera
Шлейфы Kyocera
Шестеренки Kyocera
Подшипники (бушинги) Kyocera
Блоки питания Kyocera
Электродвигатели и соленоиды Kyocera
Узел сканирования Kyocera
Блок лазера Kyocera
Датчики Kyocera
Разное Kyocera. Товары, не вошедшие в предыдущие категории
ЗИП Panasonic, OKI, Ricoh, Pantum
Печатающая головка Panasonic, Oki, Ricoh, Pantum
Электронная плата Panasonic, Oki, Ricoh, Pantum
Узел термозакрепления Panasonic, Oki, Ricoh, Pantum
Узел подачи бумаги Panasonic, Oki, Ricoh, Pantum
Ремни, ленты позиционирования, диски энкодера Panasonic, Oki, Ricoh, Pantum
Шлейфы Panasonic, Oki, Ricoh, Pantum
Узел подачи чернил Panasonic, Oki, Ricoh, Pantum
Шестеренки Panasonic, Oki, Ricoh, Pantum
Блоки питания Panasonic, Oki, Ricoh, Pantum
Электродвигатели и соленоиды Panasonic, Oki, Ricoh, Pantum
Датчики Panasonic, Oki, Ricoh, Pantum
Узел сканирования Panasonic, Oki, Ricoh, Pantum
Блок лазера Panasonic, Oki, Ricoh, Pantum
Разное Panasonic, Oki, Ricoh, Pantum
ЗИП Lexmark, Toshiba, Sharp
Печатающая головка Lexmark, Toshiba, Sharp
Электронная плата Lexmark, Toshiba, Sharp
Узел термозакрепления Lexmark, Toshiba, Sharp
Узел подачи бумаги Lexmark, Toshiba, Sharp
Ремни, ленты позиционирования, диски энкодера Lexmark, Toshiba, Sharp
Шлейфы Lexmark, Toshiba, Sharp
Узел подачи чернил Lexmark, Toshiba, Sharp
Шестеренки Lexmark, Toshiba, Sharp
Блоки питания Lexmark, Toshiba, Sharp
Электродвигатели и соленоиды Lexmark, Toshiba, Sharp
Узел сканирования Lexmark, Toshiba, Sharp
Блок лазера Lexmark, Toshiba, Sharp
Датчики Lexmark, Toshiba, Sharp
Разное Lexmark, Toshiba, Sharp
ЗИП Термопринтера
Стекла для МФУ и сканера
Струйные картриджи
Картриджи Epson
Картриджи Canon
Картриджи HP
Картриджи Brother, Lexmark, Sharp
Чипы
Чипы Epson
Чипы Canon
Чипы HP
Чипы Samsung
Чипы Xerox
Чипы OKI
Чипы Ricoh
Чипы Pantum
Чипы Kyocera
Чипы Lexmark
Решение для принтера
Прошивка Epson
Генераторы, Прошивки Samsung
Генераторы, Прошивки Xerox
Прошитая оригиналом память
Прошивка принтера Pantum
Прошивки и Сервисные программы Canon
Химия для техники
Промывочная жидкость
Смазки и масла для техники
Восстанавливающие, очищающие средства
Программаторы
Радиодетали
Транзисторы
Микросхемы памяти FLASH
Микросхемы памяти EEPROM
Микроконтроллеры
Конденсаторы
Блок питания
Материалы для наружной рекламы
Сублимация
3D печать ABS PLA
Планшетный принтер, текстильная печать
Разработка сайтов и программного обеспечения
Для ноутбука
Зарядные устройства
Аккумуляторы
Запчасти для телевизоров и мониторов
Электронные платы для телевизоров
Матрицы для телевизора
Блоки питания для телевизоров
Тюнеры для телевизора
Светодиодная подсветка
Шлейфы и кабели для телевизоров и мониторов
Разное для телевизоров и мониторов
Запчасти для асиков (asic miner)

Вход



Наверх