Bitcoin Forum

Other => Beginners & Help => Topic started by: dzindra on September 25, 2013, 09:29:31 AM



Title: Asicminer Blade API
Post by: dzindra on September 25, 2013, 09:29:31 AM
I was wondering if there is some way to get machine-friendly data (json, xml) from asicminer blade.

Also is there any way of discovering the blade on the network (such as UDP broadcast packet)?


Title: Re: Asicminer Blade API
Post by: elemental on September 25, 2013, 12:12:24 PM
Not that I know of, but there isn't much to the html so that might give you what you need.
Otherwise, depending on how you want things set up, I'd suggest running bfgminer as a getwork proxy with your blade(s) pointed to that.  Then, you can use bfgminer's api.


Title: Re: Asicminer Blade API
Post by: dzindra on September 26, 2013, 11:48:28 AM
I did not know that bfgminer has getwork proxy :) I removed slush's python proxy and installed bfgminer and now I have low cpu usage, API access and pool switching. Thanks!


Title: Re: Asicminer Blade API
Post by: zhongfu on September 26, 2013, 02:23:07 PM
For the API part, I wrote a simple bash script that just parses the info and exposes them as variables. Not exactly that polished though, but works well:
Code:
#!/bin/bash
## script for getting beblade stats
## usage: beblade.sh [options to pass to curl]

## config
ip=192.168.1.2
port=80

## code
beblade_raw=$(curl -s $ip:$port ${@})
status=$?
if [[ $status == 0 ]]; then
        beblade_active=1
        beblade_errors=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep Chip | sed -e "s|Chip: ||" | grep -o "X" | wc -l)
        beblade_mhps=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep MHS -A 4 | tail -n 1 | sed 's/^0*//')
        beblade_received=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Received" -A 4 | tail -n 1 | sed 's/^0*//')
        beblade_accepted=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Accepted" -A 4 | tail -n 1 | sed 's/^0*//')
        beblade_perminute=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Per Minute" -A 4 | tail -n 1)
        beblade_efficiency=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Efficiency" -A 4 | tail -n 1)
        beblade_uptime=$(echo $beblade_raw | sed -e "s|<|\n|g" -e "s|>|\n|g" | grep "Up Time" -A 4 | tail -n 1)
else
        beblade_active=0
        beblade_errors=0
        beblade_mhps=0
        beblade_received=0
        beblade_accepted=0
        beblade_perminute=0
        beblade_efficiency=0
        beblade_uptime=0
fi
I could also write one that allows you to change the settings too.


Title: Re: Asicminer Blade API
Post by: dzindra on October 01, 2013, 11:55:30 AM
Thanks for the script - it will definitely come to use.

I wrote simple parser for bfgminer api - check it out at https://github.com/dzindra/bfg-stats


Title: Re: Asicminer Blade API
Post by: b!z on October 02, 2013, 02:11:22 PM
You could try to pipe the info from cgminer, or whatever mining software you're using. Good luck!