Skocz do zawartości

Wyświetlanie kursu kryptowalut z pomocą Raspberry Pi


Brentlok

Pomocna odpowiedź

Kryptowaluty zdobyły już dość dużą popularność, dlatego pomyślałem, że ciekawym projektem byłoby zrobienie z pomocą maliny wyświetlacza aktualnego kursu kryptowalut.

W paru krokach postaram się przedstawić jak wykonać taki projekt.

Do budowy wykorzystałem:

Etapy wykonania projektu:

1. Podłączenie wyświetlacza

schemat.thumb.png.5808e977fe8d05fdc0c39ec4c9b91ff9.png

2. Uruchomienie I2C

Użyłem Raspbiana Jessie Lite jako systemu do naszej maliny, pierwszym krokiem będzie uruchomienie I2C:

- wpisujemy w konsolę

sudo raspi-config

- następnie wybieramy opcję numer 5

raspiconfig.thumb.png.32aca28694ad6d7d6f906086115949ee.png

- później przechodzimy do zakładki I2C

i2c.thumb.png.9781d1ef66c2fec3ee72d3e7a966802a.png

- i wybieramy yes

tak.thumb.png.d175e3afb0b6b382d39af58da2a7bb14.png

- wychodzimy z configu maliny i wykonujemy restart wpisując:

sudo reboot

- jeśli wszystko wykonaliśmy poprawnie powinniśmy ujrzeć to po wpisaniu komendy  (przedstawiony adres może się różnić od waszego)

i2cdetect -y 1

 3f.thumb.png.239d2ef3911392088880a5eb0579796e.png

3. Pobranie biblioteki do obsługi ekranu

- po uruchomieniu I2C w Raspberry należy pobrać bibliotekę komendą:

git clone https://gist.github.com/6ad9020b3c84bc65b53119b21a4bc37d.git i2c_lcd

- po pobraniu wchodzimy do folderu z tą biblioteką:

cd i2c_lcd

- teraz należy ustawić adres I2C w pliku i2c_lcd.py:

sudo nano i2c_lcd.py

- w tym miejscu wpisujemy adres, który ujrzeliśmy wcześniej przy używaniu komendy i2cdetect:

1116486357_i2cpy.thumb.png.a377e00279d75eda77c7cbb8dd8be922.png

- nie wychodząc z edytora zmieniamy wyświetlaną szerokość na 20:

531879928_i2c20.thumb.png.7535374a488ad73f4d7b7969541af786.png

- wychodzimy i zapisujemy plik naciskając kolejno CTRL+X Y Enter

- uruchamiamy test naszego wyświetlacza:

python i2c_lcd.py

- jeśli wykonaliśmy wszystko poprawie to powinniśmy ujrzeć coś takiego:

IMG_20190109_184553.thumb.jpg.0bf0f24a19afb0d76e2ad55cb5bd0fae.jpg

4. Program do odczytu i wyświetlania kryptowalut

- tworzymy plik crypto.py komendą:

sudo nano crypto.py

- i wklejamy kod:

import i2c_lcd
import requests
import time

space = 6

i2c_lcd.lcd_init()
i2c_lcd.lcd_string("-Kursy  kryptowalut-",i2c_lcd.LCD_LINE_1)
i2c_lcd.lcd_string("---Aktualny  kurs---",i2c_lcd.LCD_LINE_2)

r = 0

while True:

    #btc
    print('btc')
    r = requests.get('https://api.cryptonator.com/api/ticker/btc-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 2)
    crypto = str(crypto)
    i2c_lcd.lcd_string("------Bitcoina------",i2c_lcd.LCD_LINE_3)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    time.sleep(space)
        
    #eth
    print('eth')
    r = requests.get('https://api.cryptonator.com/api/ticker/eth-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 2)
    crypto = str(crypto)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    i2c_lcd.lcd_string("------Ethereum------",i2c_lcd.LCD_LINE_3)
    time.sleep(space)

    #bch
    print('bch')
    r = requests.get('https://api.cryptonator.com/api/ticker/bch-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 2)
    crypto = str(crypto)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    i2c_lcd.lcd_string("----BitcoinCasha----",i2c_lcd.LCD_LINE_3)
    time.sleep(space)

    #ltc
    print('ltc')
    r = requests.get('https://api.cryptonator.com/api/ticker/ltc-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 2)
    crypto = str(crypto)
    i2c_lcd.lcd_string("------Litecoina------",i2c_lcd.LCD_LINE_3)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    time.sleep(space)

    #doge
    print("doge")
    r = requests.get('https://api.cryptonator.com/api/ticker/doge-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 6)
    crypto = str(crypto)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    i2c_lcd.lcd_string("------Dogecoina-----",i2c_lcd.LCD_LINE_3)
    time.sleep(space)
    

- po zapisaniu uruchamiamy program:

sudo python crypto.py

- jeśli wszystko wykonaliśmy poprawnie powinniśmy ujrzeć coś takiego:

IMG_20190109_191631.thumb.jpg.32037b60c52dfb307afd8da764a10ece.jpg

Gotowe możemy monitorować kurs kryptowalut 🙂

  • Lubię! 1
Link do komentarza
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Właśnie zaakceptowałem Twój opis, możesz go teraz zgłosić do akcji rabatowej umieszczając link w temacie zbiorczym. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 🙂

Link do komentarza
Share on other sites

Ciekawy projekt! W kodzie programu można by upakować powtarzającą się część w funkcję, ale i tak wygląda dobrze. 🙂

Program nie wykorzystuje aż tak zasobów RPi, czy dałoby się zaprząc to do kopania? 🤔

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dnia 11.01.2019 o 10:54, Gieneq napisał:

Ciekawy projekt! W kodzie programu można by upakować powtarzającą się część w funkcję, ale i tak wygląda dobrze. 🙂

Program nie wykorzystuje aż tak zasobów RPi, czy dałoby się zaprząc to do kopania? 🤔

nie sądzę by rpi dało rady kopać jakoś sensownie

Link do komentarza
Share on other sites

Nie ma żadnych szans. Kopanie na RPi to tylko temat typu ciekawostka, nie ma absolutnie żadnego sensu (zresztą ogólnie kopanie BTC jest już chyba mało opłacalne) 😉

Link do komentarza
Share on other sites

@Treker kopanie BTC teraz to tylko na ASICach się opłaca i jak ktoś ma dostęp do taniego prądu 🙂 Szał minął, cena spadła to można chociaż tanio fajnego Radeona z koparki dostać 🙂

 

Spróbuj lepiej wykorzystać wyświetlacz np. do kilku walut zamiast stałego tekstu, który mózg po kilku dniach ignoruje. Projekt fajny 🙂

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.