From 5ae093c2eb0f8ceda2a8d7d1cdf06ddbfc50a913 Mon Sep 17 00:00:00 2001 From: John Park Date: Mon, 24 Aug 2020 10:34:19 -0700 Subject: [PATCH] first commit bitcoin matrix code and bg --- Bitcoin_Matrix/bitcoin_background.bmp | Bin 0 -> 6200 bytes Bitcoin_Matrix/bitcoin_matrix.py | 53 ++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100755 Bitcoin_Matrix/bitcoin_background.bmp create mode 100755 Bitcoin_Matrix/bitcoin_matrix.py diff --git a/Bitcoin_Matrix/bitcoin_background.bmp b/Bitcoin_Matrix/bitcoin_background.bmp new file mode 100755 index 0000000000000000000000000000000000000000..f176ca740d427d4655d1db018674207dc0bc4d7b GIT binary patch literal 6200 zcmeHL>r+!l6yMw=fIu+341ok95(p%LyvP$;9<>^bCKFKt1{K5#TCwsL>8PVApi~e@ z00k6;LBI#1q83N(hdNFlA6jSH&u#yJe(X#?^@Nq{C7}^taoXw5-p$#wzjMy-?A?3s zZt^y3W6(lTLo0$S2QC3zG=v8T_=yO?7pVX9g+MXEt1o5lzpVVMS6;4NvyRV-@J^aW z^VTh+AqYgLyDJD_;%!B0ypiP4GJY3TRG++%2wQ^wl(e{C`N@Q~dO}rm#og8qW>%h( z6c;BLc%k8ocD{b8K7HU;LeGae9)hf)LtD9g)`D%4z^WrEvYK0H$xZKn%NmD=;5U$SA{^`)75{Lppnx!qOw#H*0CQ82aPm zoG)jhzk0Z#XC&_K4CBA)8xH8{K# zlP!G3{SR8YbRW&y_FO`L93^UaoOJNKw)aoG2;2ffAt9nNntfhzZ6M~!fJHv8shm{T zVFGXy@r{5k&d8(1Fly@oAiGq|OXUCt(W@-KqONtU-EogM9gD1B!c-`*A*Ky7DbUz# zJaiKMGH<*vSeRNO$YPn>{9G{yXw7`pE&b76t#xcuiGH;ZG(>bXuwAyYZGGIPZ%Ny0 zsiXbz)8pEMaiPn+T1gld=&XfzgopOcx=cFJDc?PoS$!tW_QWy_&gfkCBMAlO6Q>YW zH49yO;)ij^f5sZfVgZ6WlTJU9Kbw&>76y7Hc5AxP{%}w2rb4u&u&CUY0o*L1cKa7(6NhI*U zY|XzEzk}5HQ)m#GC)5X>dg~DS-6QS_`GeJY&EcuE(nHAwY-X^BlXu-cCoAht-8*Ws z-d3FPh~>>69sxZ6oWl>Fg98FU7|nIuQ0@X(EXFDiC-1uJl<#qAid-oz4*CzYurO*k zl0SZaVF<7P7vvYw*EY3JD=NShiy5@2^V4s)th`fHF=;NHH&xMCENWDeKe^^XpaR_T z!p>tT;rdLr4P4P_Z~qPH8F6Xfo{)WAceq<_pAkF=3yh`?lKeg9KcZ}$3IlmC{qre_ z1zdUP{m{+jh_7Zgp3ndIe$HSrT0+2^KfFlsy?`N-TS{o+bnZ?^ls1neA(eg;gkc=` zdO9;oovA151beA*z4?1+ZMv3+WJi<=%^#ZJ|bzlxK;76;4G4+kfFWVlJie4 zAvghy89PS=_IQzdv-e(#i6_6E-Pk25Z5K2fSYpKIV;Uq|kM$2r2wtQ_WE5hfJXCzg zFl35SqM$(PW9}ar^JFp!r=ns^Uf-9ueh~d73=kv1lKmUM^;eP)mQ}LcWX4^^IaS;$J|JPArc`ti6hjJ*!q+C*h!fM z0I=BnT*(>3hsTPf+&M$bkXhwQcFl>tYa{Ak&|Vb`=N8PL;I09E6udL#wcqD|QJu6g z=pRnO@K*zqi2?%=gMr{H4FV2C#>E1R0xT%Vjlm`$z(Ho^#k~b!z?TR$q;5Hvw!b5_ zXtYQ*9Q*V>|LJIWtA`&rx)?dqSwquh&4H{Kq3@LgG=LsHReAWKb^!n>0C|jrcI5@g zL&XyXDHI8GQ`*`ax(1hOcW+u%Px`I_t$k2dHLa{m4_#|tXE-3-APSFNiGQF0Y!q!e+-X^s>RK=hl-&lS}b9_eM&?DcI zAN%r8750h!LyHA>fTe{BqsmKBuiVS$igUTrj*Ok{afLgKrmGLmoIhkA6VyU#Wr?|Y zvEoVp6`=9_vmkyZhkoY1M9Xq?AGT_YUn1^Oi=(pGYoji`|yP7WsZ!-!Rbs J=Ksza_#20dpq&5! literal 0 HcmV?d00001 diff --git a/Bitcoin_Matrix/bitcoin_matrix.py b/Bitcoin_Matrix/bitcoin_matrix.py new file mode 100755 index 000000000..d45f3c225 --- /dev/null +++ b/Bitcoin_Matrix/bitcoin_matrix.py @@ -0,0 +1,53 @@ +# Run on Metro M4 Airlift w RGB Matrix shield and 64x32 matrix display +# show current value of Bitcoin in USD + +import time +import board +import terminalio +from adafruit_matrixportal.matrixportal import MatrixPortal + +# You can display in 'GBP', 'EUR' or 'USD' +CURRENCY = "USD" +# Set up where we'll be fetching data from +DATA_SOURCE = "https://api.coindesk.com/v1/bpi/currentprice.json" +DATA_LOCATION = ["bpi", CURRENCY, "rate_float"] + + +def text_transform(val): + if CURRENCY == "USD": + return "$%d" % val + if CURRENCY == "EUR": + return "‎€%d" % val + if CURRENCY == "GBP": + return "£%d" % val + return "%d" % val + + +# the current working directory (where this file is) +cwd = ("/" + __file__).rsplit("/", 1)[0] + +matrixportal = MatrixPortal( + url=DATA_SOURCE, + json_path=DATA_LOCATION, + status_neopixel=board.NEOPIXEL, + default_bg=cwd + "/bitcoin_background.bmp", + debug=True, +) + +matrixportal.add_text( + text_font=terminalio.FONT, + text_position=(27, 16), + text_color=0x3d1f5c, + text_transform=text_transform, +) +matrixportal.preload_font(b"$012345789") # preload numbers +matrixportal.preload_font((0x00A3, 0x20AC)) # preload gbp/euro symbol + +while True: + try: + value = matrixportal.fetch() + print("Response is", value) + except (ValueError, RuntimeError) as e: + print("Some error occured, retrying! -", e) + + time.sleep(3 * 60) # wait 3 minutes