BitMaker-hub / NerdMiner_v2

Improved version of first ESP32 NerdMiner
Other
1.38k stars 252 forks source link

API to check miner status or configure mining pool #223

Open PSLLSP opened 8 months ago

PSLLSP commented 8 months ago

Nerdminer has WiFi connectivity and it has IP address. I can ping it, ping works. Unfortunately, I cannot find any API to check status of the miner, to check firmware version, uptime, hashrate, temperature, number of solved blocks, etc, etc

There is well defined API for miners, it is documented here

I think that implementing such API will open new possibilities for NerdMiner. It will be possible to run local monitoring server that will report status of each miner, to save data to log file, to change configuration from user friendly UI...


cgminer has simple PHP page to access API, an example.There were advanced management systems for cgminer API, one of them was Minera. Unfortunately, Minera, it is not maintained anymore... It was replaced with systems like HiveOS those are more universal and with great support.


Another useful function for network API will be "identify", it could be that LED at NerdMiner will blink for few seconds or that API can define color of LED and LED will shine that color for few seconds. Could be useful to find a troublemaker. In the case you have just one NerdMiner, that is not really useful but one you have more, you will find such feature useful...

sany3001 commented 8 months ago

I would love to have this status too. It would be nice to have it as another screen on device or accessible via REST API or both.

Webranger2 commented 8 months ago

That would be great. then I could integrate that into the iobroker

dwightmulcahy commented 8 months ago

I added #203 for something like this, too!

ChimpRocket commented 3 months ago

+1 for this as well but it would be great if you return it using some of the bitaxe api naming conventions in api Bitaxe, then we can easily include in the same monitoring. :-)
Here's a sample

{
        "power":        13.359999656677246,
        "voltage":      4781.25,
        "current":      2795,
        "fanSpeed":     4503,
        "temp": 51,
        "hashRate":     655.23875991751333,
        "bestDiff":     "187M",
        "freeHeap":     177464,
        "coreVoltage":  1200,
        "coreVoltageActual":    1188,
        "frequency":    525,
        "ssid": "MySSID",
        "wifiStatus":   "Connected!",
        "sharesAccepted":       23563,
        "sharesRejected":       0,
        "uptimeSeconds":        287369,
        "ASICModel":    "Nerdminer?",
        "stratumURL":   "public-pool.io",
        "stratumPort":  21496,
        "stratumUser":  "bc1qy1111111111111111111111111111111111111.miner",
        "version":      "v1",
        "boardVersion": "1",
        "runningPartition":     "ota_0",
        "flipscreen":   1,
        "invertscreen": 0,
        "invertfanpolarity":    1,
        "autofanspeed": 0,
        "fanspeed":     60
}

I'm in the middle of writing a Netdata plugin to monitor the Bitaxe, so would be cool to standardise on api params for reuse within the OSMU projects.

Cheers

Thanks

jeanfrodrigues commented 1 month ago

its already been done?