In this example we will get the bitcoin price using micropython
We will use coingecko in this example, there are other apis that you can use
To test this out you can insert the following in your browser
https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd
You should see something like this
{"bitcoin":{"usd":59240}}
Complete example
I used thonny for development
import network
import requests
from time import sleep
# Wi-Fi credentials
ssid = 'ssid here'
password = 'password here'
# Request URL
url = 'https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd'
def init_wifi(ssid, password):# Init Wi-Fi Interface
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
# Connect to your network
wlan.connect(ssid, password)
# Wait for Wi-Fi connection
connection_timeout = 10
while connection_timeout > 0:
if wlan.status() >= 3:
break
connection_timeout -= 1
print('Waiting for Wi-Fi connection...')
sleep(1)
# Check if connection is successful
if wlan.status() != 3:
return False
else:
print('Connection successful!')
network_info = wlan.ifconfig()
print('IP address:', network_info[0])
return True
if init_wifi(ssid, password):
try:
# Make the request
response = requests.get(url)
#Print the response code
print('Response code: ', response.status_code)
# Get response content
bitcoin = response.json()
# Close the request
response.close()
# Print bitcoin price
bitcoin_price = bitcoin['bitcoin']['usd']
print('Bitcoin price (USD): ', bitcoin_price)
except Exception as e:
# Handle any exceptions during the request
print('Error during request:', e)
First of all you need to change the ssid and password in this
# Wi-Fi credentials ssid = 'ssid here' password = 'password here'
The rest of code is commented but one thing you might want to change is the cryptocurrency and the target currency.
If you open the REPL window in thonny when you run this example you should see something like this
>>> %Run -c $EDITOR_CONTENT Connection successful! IP address: 192.168.1.122 Response code: 200 Bitcoin price (USD): 59590
In this case we will look at the price of ethereum in UK pounds
So the first part that needs changed is this
# Request URL url = 'https://api.coingecko.com/api/v3/simple/price?ids=ethereum&vs_currencies=gbp'
Then we change the following
# Get response content
ethereum = response.json()
# Close the request
response.close()
# Print bitcoin price
ethereum_price = ethereum['ethereum']['gbp']
print('Ethereum price (GBP): ', ethereum_price)
If you open the REPL window in thonny when you run t his example you should see something like this
>>> %Run -c $EDITOR_CONTENT Connection successful! IP address: 192.168.1.187 Response code: 200 Ethereum price (GBP): 2100.14
You can add an OLED or LCD to display the price as a future project idea
Links
You can visit https://www.coingecko.com/en/api to see everything that is available
