0

Display the price of Bitcoin with CircuitPython using an Adafruit Feather and HUZZAH ESP8266 breakout @adafruit @circuitpython #bitcoin @esp8266


Here’s how to display the price of Bitcoin with CircuitPython using an Adafruit Feather (Adafruit Feather M4 Express – Featuring ATSAMD51 – ATSAMD51 Cortex M4) and HUZZAH ESP8266 breakout, and an Adafruit 0.56″ 4-Digit 7-Segment FeatherWing Display – Green (video overview).

Code is below and on GitHub – Adafruit CircuitPython espatcommands & Adafruit CircuitPython espatcommands/examples/espatcommand bitcoinprice.py

About 50 lines of code, this is pretty cool and easy to do. We’ll be posting a lot more demos soon including adafruit.io ones as we work on this 🙂

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import time
import board
import busio
from digitalio import DigitalInOut, Direction, Pull
from adafruit_espatcommands import adafruit_espatcommands
import ujson
from adafruit_ht16k33 import segments
import gc
 
 
MY_SSID = "adafruit"
MY_PASS = "password"
#URL = "http://wifitest.adafruit.com/testwifi/index.html"
URL = "http://api.coindesk.com/v1/bpi/currentprice.json"
 
uart = busio.UART(board.TX, board.RX, baudrate=115200, timeout=0.1)
resetpin = DigitalInOut(board.D5)
 
# Create the I2C interface.
i2c = busio.I2C(board.SCL, board.SDA)
display = segments.Seg7x4(i2c)
display.print('----')
 
print("Get bitcoin price online")
print("Free memory:", gc.mem_free() / 1024)
 
esp = adafruit_espatcommands.espatcommands(uart, 115200, reset_pin = resetpin, debug=True)
print("Connected to AT software version ", esp.get_version())
 
while True:
    try:
        display.print('----')
        # Connect to WiFi if not already
        if esp.remote_AP != MY_SSID:
            esp.join_AP(MY_SSID, MY_PASS)
            print("My IP Address:", esp.local_ip)
 
        # great, lets get the JSON data
        header, body = esp.request_url(URL)
        json = ujson.loads(body)
        bitcoin = json["bpi"]["USD"]["rate_float"]
        print("USD per bitcoin:", bitcoin)
        display.print(int(bitcoin))
        time.sleep(5 * 60)  # 5 minutes
    except RuntimeError:
        print("Failed to connect, retrying")
        continue
print(body)
 
gc.collect()
print("Free memory:", gc.mem_free() / 1024)


Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, or even use Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for MakeCode, CircuitPython, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Join 10,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython 2019!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/


Maker Business — The sustainability of open source software

Wearables — The final environment

Electronics — Voltage drop from cables

Biohacking — Three DIY Photobioreactor Designs for Algae Growing

Python for Microcontrollers — Python snakes its way to Codecademy, beta 7, games, calculators, turning 6 and more! #Python #Adafruit #CircuitPython @circuitpython @micropython @ThePSF @Adafruit

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.